Exécuter sudo à partir d'un compte non administrateur

19

D'accord, je me prépare donc à obtenir une nouvelle machine, donc je cherche comment mieux organiser les choses. Maintenant, j'utilise actuellement un compte administrateur comme mon compte de connexion principal, mais je sais que ce n'est probablement pas la meilleure pratique, donc je voudrais basculer vers un compte administrateur et non administrateur distinct sur ma machine.

Cependant, je suis développeur et je travaille beaucoup dans le terminal, donc j'ai parfois besoin d'exécuter 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 actuel ). Ce que j'aimerais savoir, en connaissant les détails d'un compte administrateur sur ma machine, est-il 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 le dialogue de saisie du mot de passe administrateur d'une manière ou d'une autre?

Haravikk
la source
je ne sais pas si cela fonctionnerait avec osx, mais si on voit des solutions sur les systèmes linux (par exemple ubuntu) où l'utilisateur est autorisé à exécuter 'su' via 'sudo'. de cette façon, vous pouvez simplement taper «sudo su», entrer le mot de passe de votre utilisateur et vous vous retrouvez avec un shell root. j'adore cette solution car aucun compte administrateur et mot de passe séparés ne sont requis
weberik
Je pense qu'il vaut la peine de mentionner que sur des systèmes comme UNIX, si vous êtes l'administrateur, il est tout à fait correct de s'exécuter dans un compte sudoer. L'équivalent de l'administrateur Windows-Xp-esque tout le temps serait connecté à la racine.
Linuxios

Réponses:

25

Il semble que vous puissiez utiliser la commande SU pour basculer vers un autre utilisateur dans Terminal. Une fois que vous êtes passé à l'utilisateur administrateur, vous pouvez utiliser les commandes sudo couplées au mot de passe du compte administrateur.

Par exemple, lorsque je suis sur l'un des Mac de mon utilisateur final et que je dois exécuter quelque chose avec des privilèges élevés (chown par exemple) sans me déconnecter et accéder au compte d'administrateur (ladmin), j'utiliserais quelque chose comme ceci (en gras):

Mr-Rabbits-Mac: ~ notadminuser $ su ladmin

Cela vous 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 au besoin ...

bash-3.2 $ sudo chown user2 / certains / dossier

Cela exécutera 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 exit pour revenir à l'invite de votre utilisateur connecté.

Capture d'écran d'un processus similaire, utilisant uniquement sudo pour exécuter la commande ls (juste par exemple). entrez la description de l'image ici

Mr Rabbit
la source
1
Ah! Cela semble être exactement ce dont j'ai besoin, merci! Pas besoin d'ajouter au fichier sudoers, j'avais le sentiment qu'il y avait un moyen de le faire, je ne pouvais pas y penser pour la vie, merci pour la bonne réponse!
Haravikk
5

Ajoutez votre nom d'utilisateur existant au sudoersfichier et ce que vous devez faire est d'utiliser la visudocommande et d'ajouter des lignes comme celle-ci:

Spécification des privilèges utilisateur

root ALL = (ALL) ALL

<randomuser> TOUS = (TOUS) TOUS

% admin ALL = (ALL) ALL

Ou tout ce que vous voulez vous donner. alors vous pouvez courir sudo whateverdans la mesure de votre cœur. C'est d' /etc/sudoersailleurs.

MDMoore313
la source
4

Dans Type de terminal login, un espace your admin nameet appuyez sur Retour. Tapez ensuite votre mot de passe administrateur, appuyez sur retour et vous êtes connecté en tant qu'administrateur qui peut émettre des commandes sudo sans configuration ou fichiers supplémentaires à modifier.

Seisdrum
la source
-4

Accédez à l'Utilitaire d'annuaire, déverrouillez-le, puis dans l'option de menu Édition, sélectionnez «Activer l'utilisateur racine». Tapez un mot de passe unique pour le compte root et ressaisissez-le pour vérification. Maintenant, avec cela fait à partir de n'importe quel compte, vous pouvez ouvrir le Terminal.app à partir de lequel vous pouvez exécuter "login" et entrer root à la connexion, puis entrez le mot de passe root que vous venez de configurer. Vous devriez être prêt à partir! ;)

Andrew U.
la source
9
Il n'est pas nécessaire d'activer l'utilisateur root pour cela.
Édouard
Je pourrais donc aller dans n'importe quel Mac qui est démarré, ouvrir Terminal.app et entrer la commande de connexion. Entrez root et puis quoi comme mot de passe? Veuillez m'éclairer: /
Andrew U.
3
Je veux dire que vous n'avez pas besoin d'activer l'utilisateur root pour faire ce que l'OP demande. En fait, si vous allez et utilisez login, vous pourriez aussi bien vous connecter à un compte administrateur au lieu de root.
Édouard