Quelle est la différence entre la commande sudoet su? Pourquoi OS X les gère-t-il différemment de Linux?
Quelle est la différence entre la commande sudoet su? Pourquoi OS X les gère-t-il différemment de Linux?
Réponses:
OS X gère sudoet suidentique à Linux.
sudoest une commande qui, sans aucune option supplémentaire, exécutera une commande en tant que root. Par exemple:
% touch /newfile
touch: /newfile: Permission denied
% ls -l /newfile
ls: /newfile: No such file or directory
% sudo touch /newfile
% ls -l /newfile
-rw-r--r-- 1 root wheel 0 Apr 27 11:45 /newfile
sud'autre part, basculera l'utilisateur actuel vers root (encore une fois sans aucune commande supplémentaire). Dans l'exemple ci-dessous, je dois exécuter sudo su, car je ne connais pas le mot de passe root de mon système:
% whoami
alake
% sudo su
$ whoami
root
La principale différence entre sudoet suest sudoexécute une commande en tant que root, tandis que suvous rend root. Tout comme les autres utilitaires de ligne de commande, il existe un certain nombre de façons alternatives d'utiliser les deux sudoet su, si vous êtes intéressé, vous pouvez toujours exécuter man <command>par exemple. man sudopour obtenir plus d'informations.
sudopeut être un peu comme super user and do. Comme point supplémentaire, sous OS X, une fois que vous vous êtes authentifié avec succès, vous pouvez ensuite utiliser sudo sans mot de passe pendant une courte période (5 minutes par défaut, sauf en cas de substitution sudoers), après quoi vous devrez taper à nouveau le mot de passe.
sudo su -lm _wwwvous permettra d'avoir comme shell que si l'utilisateur du serveur web (en exécutant la commande en tant que root, comme il n'a pas de mot de passe valide)
sudoc'est un utilitaire assez robuste et couvrir même des fonctionnalités de base ici finirait par confondre ou submerger le public cible à la recherche d'une différenciation entre sudoet su.
sudo -sexécute le shell ("vous fait root") et su -c commandexécute la commande en tant que root.
sudo. De plus, vous ne pouvez pas le faire su -c commandpar défaut sur OS X, car vous ne connaissez pas le mot de passe de root. Vous pouvez cependant sudo sumodifier le mot de passe su -c command. Je pense que la question a été répondue, et il n'y avait pas besoin d'approfondir les utilisations alternatives de sudo et su. Cependant, je mettrai à jour le message pour les curieux.