Aggiorna più file sudoers


8

Disponiamo di più server Linux che eseguono l'autenticazione in un dominio Active Directory. Per un gruppo in AD, voglio aggiungere un elenco di comandi che possono essere eseguiti come root usando sudo. Posso ovviamente accedere a ciascun computer e aggiornare il file sudoers, ma ci vorrà del tempo. Inoltre, l'accesso root non è consentito. Pertanto, gli accessi senza password funzioneranno solo per utenti non root.

Esiste un modo rapido per aggiornare contemporaneamente il file sudoers per ciascun computer Linux? Sto pensando a uno script Perl o Python con alcune capacità di amministrazione del sistema qui.

Aggiornamento: grazie veroteq7 e Shane Madden. Avevo pensato di distribuire cfengine ad un certo punto, ma al momento non lo abbiamo in esecuzione. Abbiamo deciso che l'uso di LDAP sarebbe la soluzione migliore. Ricevo un errore durante l'importazione dello schema dello schema LDIF.ActiveDirectory per sudo. L'errore è "il parametro non è corretto" nella riga 144.

Questo è il contenuto dalla riga 144 in poi:

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

Il comando che ho usato è:

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

Aggiornamento2: ho creato una nuova domanda . Grazie a tutti per i suggerimenti.


Probabilmente dovresti pubblicare il bit di modifica dello schema AD come una domanda separata - Non sono davvero su tutte le cose specifiche di AD che devono essere fatte per modificare lo schema LDAP e importare nuovi oggetti, ma so che abbiamo un molti guru di MS / AD qui che lo prenderebbero sotto i tag active-directory & ldap
voretaq7,

Risposte:


16

Perché non scartare /etc/sudoerse utilizzare AD (LDAP) come negozio di sudoers? - Maggiori informazioni qui .

Stai già eseguendo l'autenticazione con AD, quindi questo è solo il prossimo passo logico e ti offre un posto conveniente e centralizzato per gestire l'autenticazione e l' autorizzazione.


Da quanto ricordo, abbiamo appena fatto AD / Linux / winbind / PAM e aggiunto gruppi AD a sudoers- Non so come non l'ho mai trovato. Un +1 molto meritato.
jscott,

@jscott Il rovescio della medaglia è che molti pacchetti sudo non hanno compilato LDAP, quindi potresti doverne fare uno. Costruisco sudo dalle porte di FreeBSD e abbiamo già dipendenze LDAP per pam_ldap, quindi per me non è un ulteriore mal di testa :-)
voretaq7,


3

Puoi definire gruppi in sudoer ... ed estrarre quei gruppi da un repository di autenticazione centrale ... come Active Directory. Adoro mettere gli amministratori di dominio nel mio file sudoers. Salva un sacco di mal di testa.


2

Se stai cercando un'API per modificare il tuo file sudoers, puoi usare Augeas con l'obiettivo Sudoers. Si integra perfettamente con Puppet , ma potresti anche usarlo in una tua sceneggiatura (ci sono molti binding).

Vedi questa risposta per esempio.


0

Hmm !! è un dolore. l'altro modo è possibile farlo con il comando cssh che ti permetterà di aprire più finestre alla volta. se digiti qualcosa sulla piccola finestra (finestra bianca bianca), noteresti che la tua molla si sta propagando attraverso tutte le finestre. consiglierei di fare un backup del tuo file suoders e usare il comando visudo per aggiornare i sudoers. se qualche file sudoer non ti piace, visudo ti dirà di correggere il file.

Saluti

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.