29 votes

Exécuter sudo depuis un compte non-administrateur

Je m'apprête à acheter une nouvelle machine et je cherche à mieux organiser les choses. Actuellement, j'utilise un compte administrateur comme compte de connexion principal, mais je sais que ce n'est probablement pas la meilleure pratique, donc j'aimerais passer à un compte administrateur et non administrateur séparé sur ma machine.

Cependant, je suis un développeur et je travaille beaucoup dans le terminal. J'ai donc parfois besoin de lancer des commandes via sudo mais bien sûr, cela ne fonctionnera pas comme je le ferais normalement ( sudo foo , tapez le mot de passe du compte courant). Ce que je voudrais savoir, c'est que, connaissant les détails d'un compte admin sur ma machine, il est possible d'exécuter des commandes via sudo (ou similaire) à partir d'un compte non administrateur, sans avoir à se connecter à un compte différent à chaque fois ? Par exemple, pourrais-je déclencher d'une manière ou d'une autre le dialogue de saisie du mot de passe administrateur ?

36voto

Mr Rabbit Points 16346

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

10voto

Seisdrum Points 69

In Type de terminal login un espace, your admin name et appuyez sur retour. Ensuite, tapez votre mot de passe d'administrateur, appuyez sur retour et vous êtes connecté en tant qu'administrateur qui peut émettre des commandes sudo sans configuration supplémentaire ou fichiers à modifier.

7voto

MDMoore313 Points 1038

Ajoutez votre nom d'utilisateur existant au sudoers et ce que vous devez faire, c'est utiliser le fichier visudo et ajoutez des lignes comme celles-ci :

Spécification des privilèges des utilisateurs

Racine ALL=(ALL) ALL

<randomuser> ALL=(ALL) ALL

%admin ALL=(ALL) ALL

Ou n'importe quelle perme que vous voulez vous donner. Ensuite, vous pouvez exécuter sudo whatever à la mesure de votre cœur. C'est /etc/sudoers au fait.

-4voto

Andrew U. Points 1757

Allez dans l'utilitaire de répertoire, déverrouillez-le puis, dans l'option de menu Edit, sélectionnez "Enable Root User". Saisissez un mot de passe unique pour le compte Root et entrez-le à nouveau pour vérification. Maintenant que c'est fait, à partir de n'importe quel compte vous pouvez ouvrir le Terminal.app, vous pouvez exécuter "login" et entrer Root à l'ouverture de session, puis entrer le mot de passe Root que vous venez de configurer. Vous devriez être prêt à partir ;)

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