Si quoi que ce soit, Linux les traiterait différemment d'OS X. OS X est certifié Unix, ce qui signifie qu'il est conforme à un certain standard de comportement. Linux est de type Unix, mais n'est pas certifié Unix et n'est pas nécessairement conforme à la norme Unix. Donc, s'il y a des différences (autres que le problème de mot de passe root noté dans la réponse d'Aaron Lake), elles sont non conformes de la part des implémenteurs de la distribution Linux particulière en question.
alesplin
Réponses:
21
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 0Apr2711: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.
En termes de langage simple, cela 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.
binarybob
1
le 'sans options supplémentaires' est un qualificatif assez significatif ... ils vous permettront tous deux de devenir des utilisateurs autres que root ... par exemple, 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)
Joe
2
@Joe, j'ai envisagé d'ajouter ces informations, mais j'ai omis pour des raisons de concision. Comme vous le décrivez, 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.
Aaron Lake
"La principale différence entre sudo et su est que sudo exécute une commande en tant que root, alors que su vous fait root" - false, sudo -sexécute le shell ("vous fait root") et su -c commandexécute la commande en tant que root.
el.pescado
2
Encore une fois, par souci de concision, j'ai omis les nombreuses méthodes alternatives d'utilisation 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.
Réponses:
OS X gère
sudo
etsu
identique à Linux.sudo
est une commande qui, sans aucune option supplémentaire, exécutera une commande en tant que root. Par exemple:su
d'autre part, basculera l'utilisateur actuel vers root (encore une fois sans aucune commande supplémentaire). Dans l'exemple ci-dessous, je dois exécutersudo su
, car je ne connais pas le mot de passe root de mon système:La principale différence entre
sudo
etsu
estsudo
exécute une commande en tant que root, tandis quesu
vous rend root. Tout comme les autres utilitaires de ligne de commande, il existe un certain nombre de façons alternatives d'utiliser les deuxsudo
etsu
, si vous êtes intéressé, vous pouvez toujours exécuterman <command>
par exemple.man sudo
pour obtenir plus d'informations.la source
sudo
peut être un peu commesuper 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 substitutionsudoers
), après quoi vous devrez taper à nouveau le mot de passe.sudo su -lm _www
vous 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)sudo
c'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 entresudo
etsu
.sudo -s
exécute le shell ("vous fait root") etsu -c command
exécute la commande en tant que root.sudo
. De plus, vous ne pouvez pas le fairesu -c command
par défaut sur OS X, car vous ne connaissez pas le mot de passe de root. Vous pouvez cependantsudo su
modifier le mot de passesu -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.