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.
Réponses:
Pourquoi ne pas supprimer
/etc/sudoers
et 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.
la source
sudoers
- je ne sais pas comment je n'ai jamais trouvé cela. Un +1 largement mérité.Que diriez-vous d'un outil de gestion de configuration? Marionnette , Chef , CFEngine , etc?
la source
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.
la source
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.
la source
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é
la source