Mettre à jour plusieurs fichiers sudoers

8

Nous avons plusieurs serveurs Linux qui s'authentifient auprès d'un domaine Active Directory. Pour un groupe dans AD, je veux ajouter une liste de commandes autorisées à s'exécuter en tant que root à l'aide de sudo. Je peux évidemment entrer sur chaque ordinateur et mettre à jour le fichier sudoers, mais cela prendra un certain temps. De plus, la connexion root n'est pas autorisée. Ainsi, les connexions sans mot de passe ne fonctionneront que pour les utilisateurs non root.

Existe-t-il un moyen rapide de mettre à jour le fichier sudoers pour chaque ordinateur Linux à la fois? Je pense à un script Perl ou Python avec quelques capacités d'administration système ici.

Mise à jour: Merci veroteq7 et Shane Madden. J'avais pensé à déployer cfengine à un moment donné, mais nous ne l'avons pas en cours d'exécution actuellement. Nous avons décidé que l'utilisation de LDAP serait la meilleure solution. Je reçois une erreur lors de l'importation du schéma LDIF schema.ActiveDirectory pour sudo. L'erreur est «le paramètre n'est pas correct» à la ligne 144.

Voici le contenu à partir de la ligne 144:

dn: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
changetype: add
objectClass: top
objectClass: classSchema
cn: sudoRole
distinguishedName: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
instanceType: 4
possSuperiors: container
possSuperiors: top
subClassOf: top
governsID: 1.3.6.1.4.1.15953.9.2.1
mayContain: sudoCommand
mayContain: sudoHost
mayContain: sudoOption
mayContain: sudoRunAs
mayContain: sudoRunAsUser
mayContain: sudoRunAsGroup
mayContain: sudoUser
rDNAttID: cn
showInAdvancedViewOnly: FALSE
adminDisplayName: sudoRole
adminDescription: Sudoer Entries
objectClassCategory: 1
lDAPDisplayName: sudoRole
name: sudoRole
schemaIDGUID:: SQn432lnZ0+ukbdh3+gN3w==
systemOnly: FALSE
objectCategory: CN=Class-Schema,CN=Schema,CN=Configuration,DC=X
defaultObjectCategory: CN=sudoRole,CN=Schema,CN=Configuration,DC=X

La commande que j'ai utilisée est:

ldifde -i -f schema.ActiveDirectory -c dc=X dc=DOMAINNAME,dc=LOCAL

Update2: J'ai créé une nouvelle question . Merci à tous pour vos suggestions.

rchhe
la source
Vous devriez probablement poster le bit de modification du schéma AD comme une question distincte - je ne suis pas vraiment au courant de toutes les choses spécifiques à AD qui doivent être faites pour modifier le schéma LDAP et importer de nouveaux objets, mais je sais que nous avons un beaucoup de MS / gourous AD ici qui le ramasser sous l' actif répertoire et ldap balises
voretaq7

Réponses:

16

Pourquoi ne pas supprimer /etc/sudoerset utiliser AD (LDAP) comme magasin sudoers? - Plus d'infos ici .

Vous êtes déjà en train de vous authentifier contre AD, ce n'est donc que la prochaine étape logique et vous offre un emplacement centralisé et pratique pour gérer l'authentification et l' autorisation.

voretaq7
la source
Aussi loin que je me souvienne, nous venons de faire AD / Linux / winbind / PAM et d'ajouter des groupes AD à sudoers- je ne sais pas comment je n'ai jamais trouvé cela. Un +1 largement mérité.
jscott
@jscott Le gros inconvénient est que beaucoup de paquets sudo n'ont pas de LDAP compilé, vous devrez donc peut-être lancer le vôtre. Je construis sudo à partir des ports FreeBSD, et nous avons déjà des dépendances LDAP pour pam_ldap, donc ce n'est pas un casse-tête supplémentaire pour moi :-)
voretaq7
15

Que diriez-vous d'un outil de gestion de configuration? Marionnette , Chef , CFEngine , etc?

Shane Madden
la source
3

Vous pouvez définir des groupes dans sudoers ... et extraire ces groupes d'un référentiel d'authentification central ... comme Active Directory. J'adore mettre les administrateurs de domaine dans mon fichier sudoers. Économise beaucoup de maux de tête.

TheCompWiz
la source
2

Si vous recherchez une API pour modifier votre fichier sudoers, vous pouvez utiliser Augeas avec la lentille Sudoers. Il s'intègre bien avec Puppet , mais vous pouvez également l'utiliser dans un de vos scripts (il existe de nombreuses liaisons).

Voir cette réponse par exemple.

ℝaphink
la source
0

Hmm !! c'est une douleur. de l'autre façon, vous pouvez le faire avec la commande cssh qui vous permettra d'ouvrir plusieurs fenêtres à la fois. si vous tapez quelque chose sur la petite fenêtre (fenêtre blanche vierge), vous remarquerez que votre typring se propage à travers toutes les fenêtres. je recommanderais de faire une sauvegarde de votre fichier suoders et d'utiliser la commande visudo pour mettre à jour les sudoers. si aucun fichier sudoer ne vous plaît, visudo vous demandera de corriger le fichier.

À votre santé

snc805
la source