Question Comment installer `sudo` sans mot de passe sous Linux?


Comment peut sans mot de passe sudo l’accès peut-il être configuré sur les distributions RHEL (Fedora, CentOS, etc.) ou Ubuntu? (Si c'est la même chose entre les distributions, c'est encore mieux!)

Paramètre: équipement personnel et / ou de laboratoire / de formation sans souci d'accès non autorisé (c.-à-d. Que les appareils sont sur des réseaux non publics et que tous les utilisateurs sont pleinement dignes de confiance et que le contenu des appareils est "normal".) .


136
2017-07-15 04:09


origine


La réponse de @Richipal est actuellement celle qui fonctionne le mieux avec le moins d’effort possible: il semble que les règles en vigueur s’appliquent dans l’ordre inverse. - a1an
Les règles @ a1an sont appliquées dans le même ordre que celui indiqué dans le fichier sudoers et, lorsqu'elles sont appliquées, elles se superposent les unes les autres. Par conséquent, si je ne souhaite pas qu'une règle change du tout, je la placerais vers la fin du fichier pour qu'elle soit appliquée à la fin et ne puisse pas être remplacée. - rsjethani


Réponses:


MODIFIER grâce au commentaire de medina: Selon la page de manuel, vous devriez pouvoir écrire

ALL            ALL = (ALL) NOPASSWD: ALL

pour permettre à tous les utilisateurs d'exécuter toutes les commandes sans mot de passe.


Pour référence, je laisse ma réponse précédente:

Si vous ajoutez une ligne du formulaire

%wheel         ALL = (ALL) NOPASSWD: ALL

à /etc/sudoers (en utilisant le visudo commande, bien sûr), il laissera tout le monde dans le groupe wheel exécuter des commandes sans fournir de mot de passe. Donc, je pense que la meilleure solution est de mettre tous vos utilisateurs dans un groupe et de mettre une ligne comme ça dans sudoers - évidemment vous devriez remplacer wheel avec le groupe que vous utilisez.

Sinon, vous pouvez définir un alias d'utilisateur,

User_Alias     EVERYONE = user1, user2, user3, ...

et utiliser cela:

EVERYONE       ALL = (ALL) NOPASSWD: ALL

bien que vous deviez mettre à jour /etc/sudoers chaque fois que vous ajoutez ou supprimez un utilisateur.


151
2017-07-15 04:25



Ne fait pas ALL travailler plutôt que * spécifier tous les utilisateurs? Voir l'exemple dans sudoers(5). - medina
@medina: c'est ce que j'ai fait lorsque j'ai lu la page de manuel. Je vais éditer. - David Z
sous Ubuntu, créez un fichier sous /etc/sudoers.d et mettez-y ces entrées, cela vous évitera de modifier vos sudoers - Xetius
Dans CentOS7, cette entrée est présente par défaut, elle est simplement commentée. - killjoy
Seulement réussi à l'utiliser dans centOS par copier / coller, a échoué à chaque tentative de taper directement la configuration. Mais le résultat semble identique sauf pour les espaces ... - MUY Belgium


J'ai essayé les solutions ci-dessus en vain. La solution suivante a fonctionné pour moi Editez le fichier / etc / sudoers et ajoutez la ligne suivante

username ALL=(ALL) NOPASSWD: ALL

le clé est de l'ajouter après la dernière ligne qui dit

#includedir /etc/sudoers.d

81
2018-05-19 15:23



//, Cela semble être le meilleur moyen de le faire, en particulier lorsque certaines applications ajouteront leurs propres règles aux utilisateurs du système, Richipal. Plus d'infos sur sudoers.d: sudo.ws/man/1.8.13/sudoers.man.html - Nathan Basanese
//, seriez-vous disposé à ajouter certains des diagnostics de Gearoid Murphy à votre réponse? - Nathan Basanese
Merci pour cette clarification. L'ajouter après la ligne #includedir /etc/sudoers.d semble important dans CentOS 7, alors qu'il semble bien fonctionner avec la ligne plus tôt dans le fichier dans CentOS 6. - dmohr
Le problème d'ignorer NOPASSWD de% wheel semble provenir de /etc/sudoers.d/USERNAME redéfinir l'autorisation NOPASSWD du groupe. Appliquer NOPASSWD dans /etc/sudoers.d/USERNAME résout le problème. - eel ghEEz


J'ai essayé toutes les réponses sur cette page, sans résultats utiles. Finalement, j'ai compris, utilisez cette commande pour lister vos droits sudo:

sudo -l

Cela devrait vous donner une sortie comme celle-ci:

User gmurphy may run the following commands on this host:
    (root) NOPASSWD: ALL
    (ALL) ALL

Cela montre que je suis configuré avec les privilèges root mais que je fais toujours partie d'un groupe (admin) correspondant à une règle sudo qui attend le mot de passe ("(ALL) ALL"). Cela forçait sudo à me demander. La règle en question était les utilisateurs admin:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Une fois que j'ai commenté ceci, j'ai été capable de sudo sans mot de passe. J'espère que ceci est utile à quelqu'un d'autre.


24
2017-11-06 12:57



Ahhh, merci! Cela me rendait dingue ... dans mon cas, mon utilisateur faisait partie du groupe "sudo" ainsi que de "admin" (que j'ai créé), et les autorisations sur chacun correspondaient mal, comme dans votre cas. . Maintenant ça marche! :) - neezer
Commenter une sortie de ligne est un instrument contondant. Vous serez peut-être intéressé d'apprendre que "sudo lit le fichier sudoers et applique les autorisations en ordre croissant. Ainsi, la dernière ligne du fichier écrasera tout conflit précédent", conformément à ubuntuforums.org/showthread.php?t=1132821 - et cela a fonctionné pour moi. - David J.


Dans /etc/sudoers il y a juste un exemple de cela vers le bas du fichier:

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

9
2017-07-15 04:24



cet échantillon n'était pas dans le mien - mais merci! - warren
J'aime votre réponse succincte - Pei


Il existe un autre moyen de le faire sans toucher au fichier sudoers.

  • modifier /etc/pam.d/su et décommentez la ligne ci-dessous:

    auth           sufficient      pam_wheel.so trust use_uid
    
  • Ajouter l'utilisateur au wheel groupe.


5
2017-07-15 08:39





Il existe un autre moyen de le faire sans toucher au fichier sudoers.

  • modifier /etc/pam.d/sudo et ajoutez la ligne ci-dessous:

    autorisation suffisante pam_wheel.so trust use_uid
  • Ajouter l'utilisateur au wheel groupe.

Les accessoires à "topdog" et "Daniel Serodio" pour la réponse originale en ce qui concerne "su" plutôt que "sudo". J'ai utilisé cela comme référence et j'ai copié et modifié sans vergogne leur message.


1
2017-09-11 00:36



Je pense qu'au lieu de copier mot pour mot, il serait préférable de les créditer, mais soyez clair sur la différence entre vos réponses. Je suppose que cela permet sans mot de passe su, au lieu de / aussi bien que sans mot de passe sudo? L'ajout de Daniel n'est qu'un formatage, au fait. - mwfearnley