Quelle méthode utiliser pour accorder sudo

13

Quelle est la différence entre l'ajout d'un utilisateur à /etc/sudoerset usermod -a -G sudo? Quelle méthode utiliser pour accorder sudo?

Sonique
la source
6
Pour Ubuntu, vous devez très fortement éviter de modifier le /etc/sudoerssous aucune condition. Ajoutez plutôt des fragments de configuration dans le /etc/sudoers.drépertoire. L'utilisation du dossier fragments facilite la mise à niveau depuis la modification d'un conffile.
Zoredache
@Zoredache - excellent point. Vous souciez-vous si j'ajoute cela à ma réponse? Je ne veux pas m'en attribuer le mérite, mais cette astuce devrait vivre dans une réponse quelque part au cas où les dieux des commentaires nuke cela pour une raison quelconque.
EEAA
2
@EEAA, je vous accorde la permission d'utiliser ce qui précède, et tout autre commentaire que je poste pour fusionner dans les réponses réelles. J'ajoute des commentaires parce que je suis trop paresseux / occupé pour ajouter une réponse complète, mais cela ne me dérange pas si les gens prennent mes commentaires et les intègrent dans une bonne réponse complète.
Zoredache

Réponses:

19

Si vous pouvez l'éviter, n'accordez jamais de privilèges sudo à des utilisateurs individuels. Accordez toujours des privilèges à un groupe , puis ajoutez des utilisateurs à ce groupe.

Pour les serveurs basés sur Ubuntu, au lieu d'ajouter des lignes à /etc/sudoers, ajoutez des fragments de fichier de configuration dans /etc/sudoers.d. Ceci est plus flexible, plus facile à comprendre, plus résistant face aux mises à niveau et fonctionne mieux avec les systèmes gérés par des systèmes de gestion de configuration.

REMARQUE: ne modifiez jamais /etc/sudoersdirectement. Au lieu de cela, utilisez visudo, qui effectuera une vérification de la syntaxe sur vos modifications, vous empêchant de casser votre configuration sudo avec une syntaxe non valide.

EEAA
la source
pourquoi ne pas ajouter le groupe /etc/sudoers?
Flak DiNenno
1
@FlakDiNenno - à droite, c'est exactement ce que j'ai suggéré.
EEAA
ahhh ... Je pensais que vous usermod -a -G sudo
parliez
+1 pour l'avertissement concernant l'utilisation de visudo au lieu de la modification directe
Flak DiNenno
Bon point visudo. Certaines personnes ne réalisent pas qu'il existe une raison /etc/sudoersmarquée comme étant en lecture seule.
ub3rst4r
9

Je viens de trouver ce petit truc là-bas ... semble que vous devez être particulièrement prudent avec l'utilisation de l' -Goption dans Ubuntu, en particulier dans l' -goption de combinaison . Donc:

  1. Utilisez usermod -aGpour ajouter le ou les utilisateurs à un groupe.
  2. Ensuite, comme l'a suggéré @EEAA , ajoutez le groupe au fichier / etc / sudoers à l'aide de la $ sudovisudocommande (invoque automatiquement un éditeur privilégié avec vérification de la syntaxe).

Voici les informations sur l' -aGoption sur Ubuntu, extraites d'ici http://ubuntuforums.org/showthread.php?t=1240477 :

«Je lis la Wiley« Linux Command Line and Scripting Bible » - et ils ont dit que usermod -G« ajoute »un groupe au compte d'utilisateur que vous modifiez. J'ai trouvé que c'était faux dans Ubuntu, je ne sais pas si c'est juste différent dans d'autres distributions, ou une faute de frappe dans le livre. Il vous supprime de CHAQUE autre groupe auquel vous appartenez, à l'exception de votre groupe d'utilisateurs par défaut (modifié par l'option -g). J'ai réussi à me retirer du groupe d'administration et je ne pouvais plus rien créer de sudo. Dieu merci pour le mode de récupération ... '

L'option correcte est usermod -aG . Leçon apprise...

Flak DiNenno
la source
2
le votant peut-il avoir la courtoisie de formuler ici des critiques constructives? tia.
Flak DiNenno
Je ne vous ai pas déçu, mais votre «réponse» ne répond pas vraiment à la question posée. Il s'agit d'un site de questions / réponses assez strict, nous nous attendons généralement à ce que les réponses répondent directement à la question posée. BTW, oui je sais que vous répondez un peu à la question, mais votre «réponse» semble le plus dire: faites ce que l'EEAA a dit, mais soyez averti de cette bizarrerie bizarre.
Zoredache
@Zoredache merci d'avoir pris le temps. Les étapes 1 et 2 ne donnent-elles pas clairement des instructions sur "une méthode préférée pour accorder sudo"? Quelle est la demande du PO?
Flak DiNenno
1

Vous ne nous dites pas la taille de votre environnement, mais s'il s'agit de plusieurs machines, vous pouvez également envisager de configurer à l' sudoaide de LDAP une alternative à la modification locale des sudoers (via visudoou en utilisant la /etc/sudoers.dméthode des fragments).

La configuration LDAP est un moyen bien testé de s'assurer que plusieurs machines ont la même sudoconfiguration et présente un bel environnement unifié (avec gestion centrale d'un important mécanisme d'autorisation). En prime, si vous utilisez déjà LDAP (ou AD) pour l'authentification / l'autorisation dans votre environnement, vous pouvez profiter de l'infrastructure existante (et si vous ne l'utilisez pas, vous devriez la considérer sérieusement - la centralisation présente de nombreux avantages).

Tout ce que les gens ont déjà dit dans les autres réponses sur la création de groupes autorisés est toujours d'actualité - il est plus facile de passer à l'échelle pour accorder des privilèges à un groupe et de gérer l'appartenance au groupe que de gérer les droits des utilisateurs individuels.

voretaq7
la source