61 votes

Pourquoi je ne peux pas exécuter `su` ? (et comment dois-je faire ?)

Chaque fois que j'essaie d'émettre su Je comprends :

$ su  
Password:  
su: Sorry

Inutile de dire que j'entre le bon mot de passe administrateur qui fonctionne avec sudo . Ce que je veux, c'est ne pas avoir à entrer sudo à chaque fois.

56voto

ghoppe Points 7682

Dans MacOS X, l'utilisateur Root est désactivé par défaut, par conséquent su ne fonctionnera pas. Comme d'autres l'ont dit, il est préférable d'utiliser sudo .

Si vous doit activer l'utilisateur racine, voir la technote d'Apple : Activation et utilisation de l'utilisateur "Root" dans Mac OS X .

26 votes

sudo su fonctionne toujours, donc il n'est pas vraiment désactivé. Il n'a simplement pas de mot de passe.

2 votes

@FakeName C'est la porte dérobée la plus hilarante ! Si vous pouvez exécuter sudo su Quel est l'intérêt de désactiver le système de gestion de l'information ? su alors ?

7 votes

@KolobCanyon - Le but n'est pas vraiment de "désactiver" le système. su ", c'est pour empêcher la connexion de la racine . En interdisant la connexion en tant que root vous évitez un tas de problèmes de sécurité possibles. Ne pas permettre à quelqu'un qui peut sudo a su c'est un peu idiot. En gros, su change juste l'identifiant courant, et exécute une commande (un shell, si non spécifié). Si l'identifiant de l'utilisateur est déjà 0 (Root), comme lors de l'exécution de la commande sudo il n'y a rien à faire pour lui, donc il exécute juste le shell. Vous pouvez obtenir un effet similaire en faisant sudo bash .

22voto

Chris Jester-Young Points 102876

Vous avez deux options. La première est d'utiliser sudo -s - cela vous donnera un accès de super-utilisateur, mais vous resterez toujours "vous-même" (pour ainsi dire), donc des choses comme ~ sera toujours votre répertoire personnel. Alternativement, vous pouvez utiliser sudo su qui vous donne un shell en tant que véritable utilisateur racine de votre Mac.

6 votes

L'Apple Way(tm) consiste à utiliser sudo pour exécuter des commandes qui nécessitent des privilèges élevés, et non pour passer à un shell Root et travailler à partir de celui-ci.

5 votes

@Ian C. - Non, c'est en fait la méthode Unix. Apple l'utilise simplement parce qu'il est aussi basé sur *nix.

0 votes

@Fake Name : Apple se donne beaucoup de mal pour ne jamais parler ou exposer le shell Root aux utilisateurs. On pourrait dire qu'ils prennent le sudo éthos à l'extrême. Mais peu importe : sémantique. N'utilisez pas les shells Root dans OS X.

7voto

Basil Bourque Points 9801

Solution moderne : sudo -u

Pour l'exécuter en tant qu'autre utilisation, utilisez sudo -u .

Par exemple, pour exécuter un éditeur de texte comme nano :

sudo -u someuser nano

et saisissez votre mot de passe d'utilisateur admin Mac lorsque vous y êtes invité. À ce stade, c'est l'utilisateur administrateur de votre Mac qui invoque le mot de passe. sudo et non le someuser afin que vous n'entriez pas dans le someuser mot de passe.

  • sudo signifie exécuter quelque chose en utilisant les privilèges du super-utilisateur.
  • -u signifie "exécuter une commande spécifiée en tant que cet utilisateur spécifié".
  • someuser doit être remplacé par le nom d'utilisateur de votre choix.

Pour simuler une connexion initiale en tant qu'utilisateur particulier, y compris l'exécution de ses scripts de démarrage, utilisez -I .

sudo -u someuser -i nano

Cela permet d'exécuter le nano comme l'utilisateur someuser mais seulement après avoir exécuté les scripts de démarrage pour cet utilisateur.

Si nous choisissons de ne pas spécifier une commande ou une application à exécuter, nous obtenons un shell interactif s'exécutant sous le nom de cet utilisateur.

sudo -u someuser -i

A l'ancienne : sudo su someuser

Une autre approche utilise le su en combinaison avec la commande sudo . Le site su signifie "changer d'utilisateur".

sudo su someuser

Ou, pour inclure l'exécution des scripts de démarrage de l'utilisateur, ajoutez le trait d'union.

sudo su - someuser

root utilisateur

El root Dans les systèmes d'exploitation liés à Unix, les utilisateurs ont le pouvoir absolu de faire n'importe quoi.

Apple a choisi de désactiver le root dans MacOS, afin d'éviter les failles de sécurité et de vous éviter de vous tirer une balle dans le pied. Apple a créé l'idée du Administrateur comptes d'utilisateurs qui ont beaucoup de pouvoirs, plus de pouvoirs qu'un Standard compte utilisateur, mais pas le pouvoir absolu comme root a. Voir cette note du support Apple pour la discussion.

En cas de besoin, vous peut activer le root dans MacOS, puis passez à cet utilisateur. Ceci est fortement découragé. Je ne m'engagerais dans cette voie qu'en désespoir de cause et en dernier recours.


Pour une discussion sur ce sujet dans le contexte de la postgres l'utilisateur qui exécute le Postgres sur MacOS, voir cette question sur le site jumeau, DBA Stack Exchange .

2voto

user302849 Points 21

Je pense que vous ne pouvez pas faire ça en tant qu'utilisateur "normal"...

S'il y a un autre compte d'utilisateur avec des droits d'administrateur, vous devez utiliser celui-ci

restricted user$ su
Password:(the root password here)
Sorry!

restricted user$ su - (an admin account here)
password:(the admin account password)
$ su - root
Password:(The root password here)
# -> You are root user now

0 votes

Ceci est dû à une ligne dans /etc/pam.d/su. account required pam_group.so ... indique au système de n'autoriser su à Root que si vous passez d'un compte dans le répertoire admin o wheel groupe. Vous pouvez commenter cette ligne si vous le souhaitez vraiment, mais je ne le ferais pas car elle n'est pas vraiment nécessaire pour les occasions (rares, je l'espère) où vous devez devenir Root.

1voto

Kahef Mirza Points 11

Par exemple, si vous avez besoin de déplacer des fichiers ou d'utiliser git à l'aide de l'interface CLI, la meilleure solution sera alors d'utiliser l'option sudo -s commandement. Après cette commande, vous n'avez plus besoin de saisir le mot de passe encore et encore.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X