76 votes

Activer sudo sans mot de passe sur MacOS

Mon problème

J'aimerais être capable d'exécuter sudo commandes sur MacOS Sierra 10.12 sans avoir à taper un mot de passe.

Ce que j'ai essayé

J'ai lu ce qui suit :

Et j'ai changé la partie pertinente de mon /etc/sudoers vers :

root ALL=(ALL) ALL
%admin  ALL=(ALL) NOPASSWD: ALL
%wheel ALL=(ALL) NOPASSWD: ALL
%wheel ALL=(ALL) NOPASSWD: ALL
%sudo   ALL=(ALL) NOPASSWD: ALL
adamatan ALL=(ALL) NOPASSWD: ALL

Mon identifiant d'utilisateur local ( whoami ) est adamatan .

On me demande toujours de taper un mot de passe toutes les quelques minutes lorsque j'appelle. sudo . Une idée de ce qui ne va pas ?

0 votes

Est-ce que sudo -i fonctionne sur Sierra ? Dans El Cap, il vous fera basculer dans le contexte Root et exécutera les fichiers de ressources de connexion pour cette session. (Il faudra toujours être sudoers, donc l'effort précédent n'est pas perdu).

0 votes

Ça marche, mais comment ça résout le problème ?

1 votes

J'ai récemment mis à niveau vers Sierra et j'ai rencontré ce problème. L'option par défaut /etc/sudoers Le fichier a changé assez radicalement depuis El Cap. Là-bas, je déposais simplement un fichier de configuration d'une ligne dans le répertoire sudoers.d et cela "fonctionnait". Il semble que les choses aient changé. Je ferai un rapport si j'obtiens plus d'informations.

105voto

steoleary Points 971

Ouvrez un terminal, exécutez sudo visudo

Modifiez la ligne :

%admin ALL=(ALL) ALL

Pour dire :

%admin ALL=(ALL) NOPASSWD: ALL

Maintenant, vous devriez être en mesure d'exécuter sudo sans mot de passe.

3 votes

Le redémarrage n'est pas vraiment nécessaire

3 votes

La clé est d'utiliser sudo visudo au lieu de sudo vi /etc/sudoers -- surtout maintenant avec le système de fichiers Root en lecture seule dans MacOS 10.15.

0 votes

J'obtiens "visudo : /etc/sudoers : Operation not permitted" lors de l'exécution de sudo visudo

20voto

kali Points 151

Mieux vaut ne pas éditer /etc/sudoers directement. Au lieu de cela, le /etc/sudoers comprend une ligne :

## Read drop-in files from /private/etc/sudoers.d
## (the '#' here does not indicate a comment)
#includedir /private/etc/sudoers.d

Il est donc préférable d'ajouter simplement un fichier vide sous /private/etc/sudoers.d/mysudo et utiliser visudo pour le remplir avec un contenu comme :

mylogin            ALL = (ALL) NOPASSWD: ALL

N'oubliez pas de toujours exécuter sudo visudo après avoir créé le fichier vide sous /private/etc/sudoers.d/ afin que visudo vérifie également la syntaxe de ce fichier, sinon vous risquez de vous retrouver avec une configuration sudo cassée et l'impossibilité d'exécuter le programme visudo pour le réparer.

Vous avez été prévenu

0 votes

J'ai été obligé de faire ça sur le dernier OS de mac, il ne me laissait pas mettre à jour le fichier sudoers, il disait toujours que c'était invalide. Merci !

7voto

Scott Stensland Points 271
root ALL=(ALL) ALL
%admin ALL=(ALL) NOPASSWD: ALL

stens ALL = (ALL) NOPASSWD: ALL # my userid is stens

4voto

Danny Points 31

Exécutez la commande terminal whoami pour trouver votre nom d'utilisateur (également connu sous le nom de ldapname).

> whoami

Chassez cela en exécutant la commande ci-dessous (soyez à l'aise avec VI/VIM avant de poursuivre).

> sudo visudo -f /private/etc/sudoers.d/sudogo

NOTE1 : La syntaxe -f vous permet de spécifier un autre emplacement pour le fichier sudoers. Avec cette option, visudo éditera (ou vérifiera) le fichier sudoers de votre choix, au lieu du fichier par défaut, /etc/sudoers. Le fichier de verrouillage utilisé est le fichier sudoers spécifié avec ".tmp" ajouté à celui-ci. En mode vérification uniquement, l'argument de -f peut être -, indiquant que sudoers sera lu depuis l'entrée standard.

NOTE2/AVERTISSEMENT : Vous auriez pu créer un fichier nommé "nopw" à la place de sudogo. Cependant, les pirates informatiques sont rusés et chercheront les lettres "PW" (abréviation de password). N'hésitez pas à remplacer "sudogo" par quelque chose de différent, de logique et de sûr. Sachez qu'une extension n'a pas été ajoutée à la fin du fichier ; elle n'est pas nécessaire.

Un exemple est affiché ci-dessous. Activez le mode insertion avec i, copiez les deux lignes affichées ci-dessous dans le fichier vide. Remplacez ldapname par INSERT_USERNAME. Appuyez sur Echap, sauvegardez et quittez le fichier avec :wq en mode commande.

# user(s) below can can run any script on this machine
INSERT_USERNAME        ALL = (ALL) NOPASSWD: ALL

Exécutez sudo visudo (-f et chemin omis) une dernière fois. La commande ouvrira le fichier sudoers et vérifiera les modifications. Tapez :q ! pour quitter /etc/sudoers sans enregistrer les modifications.

> sudo visudo

2voto

Jamie Karl Points 1

Essayez de définir NOPASSWD sur l'utilisateur Root. Dans /etc/sudoers

root            ALL = (ALL) NOPASSWD: ALL

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