4 votes

Comment exécuter la commande sudo à partir du compte standard ?

D'après ce que j'ai lu, c'est une bonne approche de la sécurité que d'avoir deux comptes, un admin et un standard.

J'essaie d'exécuter la commande suivante dans le terminal sur mon compte standard

sudo mv /System/Library/CoreServices/Search.bundle /System/Library/CoreServices/Search.bundle.bak killall SystemUIServer

Il demande un mot de passe, et le processus échoue parce que l'utilisateur actuel "n'est pas dans le fichier sudoers".

Demande-t-il le mot de passe du compte administrateur ou le mot de passe de la racine ? Est-ce que j'ai un compte/mot de passe Root si je ne l'ai pas explicitement configuré ? Comment puis-je élever temporairement mon accès pour exécuter la commande sans nécessairement activer Root ?

2voto

nohillside Points 82672

Le système demande le mot de passe de votre compte et vérifie ensuite si vous êtes autorisé à exécuter sudo en se basant sur le contenu du fichier /etc/sudoers . Par défaut, seuls les administrateurs (qui ont l'option ticket dans les préférences) sont autorisés à le faire.

Si vous souhaitez exécuter des commandes shell avec sudo sans devoir changer d'utilisateur en permanence, vous avez plusieurs possibilités :

  • Utilisez ssh <any-admin-user>@localhost pour se connecter en tant qu'utilisateur administrateur et exécuter sudo puis
  • Ajoutez votre utilisateur non-administrateur à /etc/sudoers en se connectant en tant qu'utilisateur administrateur, en exécutant sudo visudo dans le Terminal, en dupliquant le %admin ALL=(ALL) ALL et en remplaçant %admin avec votre nom d'utilisateur. Cela vous permettra d'utiliser sudo dans le terminal sans vous donner un accès administrateur complet. Utilisation de visudo au lieu d'éditer directement le fichier permettra de s'assurer que le fichier est vérifié au niveau de la syntaxe lors de la sauvegarde (une erreur dans /etc/sudoers pourrait vous bloquer complètement dans votre système)

1voto

Mr Rabbit Points 16346

J'ai répondu à un question similaire ici


Il semble que vous pourriez utiliser le SU pour passer à un autre utilisateur dans le Terminal. Une fois que vous avez basculé vers l'utilisateur admin, vous pouvez utiliser les commandes sudo couplées au mot de passe du compte admin.

Par exemple, lorsque je suis sur le Mac d'un de mes utilisateurs finaux et que j'ai besoin d'exécuter quelque chose avec des privilèges élevés (chown par exemple) sans me déconnecter et me connecter au compte administrateur (ladmin), j'utilise quelque chose comme ceci (en gras) :

Mr-Rabbits-Mac:~ notadminuser$ su ladmin

Ceci demandera le mot de passe du compte ladmin, une fois entré, vous verrez une invite de commande bash. De là, je peux exécuter toutes les commandes sudo souhaitées, en entrant le mot de passe de ladmin si nécessaire...

bash-3.2$ sudo chown user2 /some/folder

Ceci lancera la commande chown en utilisant l'utilisateur ladmin maintenant connecté, en demandant le mot de passe du compte ladmin. Une fois terminé, vous pouvez taper quitter pour revenir à l'invite de l'utilisateur connecté.

Capture d'écran d'un processus similaire, en utilisant uniquement sudo pour exécuter la commande ls (juste pour l'exemple). enter image description here

0voto

Arc676 Points 816

Ouvrez Terminal et connectez-vous à votre compte administrateur. Cela devrait ressembler à ceci :

MyComputer:~ MyStandardAccount$ login MyAdminAccountName
Password: <enter password here> --The text you type will be invisible so no one can see the password
MyComputer:~ MyAdminAccount$ sudo mv /System/Library/CoreServices/Search.bundle /System/Library/CoreServices/Search.bundle.bak killall SystemUIServer
Password: <enter password here> --Text will be invisible again
MyComputer:~ MyAdminAccount$ logout
MyComputer:~ MyStandardAccount$

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