Aktualisieren Sie mehrere Sudoers-Dateien


8

Wir haben mehrere Linux-Server, die sich bei einer Active Directory-Domäne authentifizieren. Für eine Gruppe in AD möchte ich eine Liste von Befehlen hinzufügen, die mit sudo als root ausgeführt werden dürfen. Ich kann natürlich in jeden Computer ssh-in und sudoers Datei aktualisieren - aber das wird einige Zeit dauern. Außerdem ist die Root-Anmeldung nicht zulässig. Kennwortlose Anmeldungen funktionieren also nur für Benutzer ohne Rootberechtigung.

Gibt es eine schnelle Möglichkeit, die Sudoers-Datei für jeden Linux-Computer gleichzeitig zu aktualisieren? Ich denke hier an ein Perl- oder Python-Skript mit einigen Systemverwaltungsfähigkeiten.

Update: Danke veroteq7 und Shane Madden. Ich hatte überlegt, cfengine einmal bereitzustellen - aber wir haben es derzeit nicht ausgeführt. Wir haben entschieden, dass die Verwendung von LDAP die beste Lösung ist. Beim Importieren des LDIF-Schema schema.ActiveDirectory für sudo wird eine Fehlermeldung angezeigt. Der Fehler lautet "Parameter ist nicht korrekt" in Zeile 144.

Dies ist der Inhalt ab Zeile 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

Der Befehl, den ich verwendet habe, ist:

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

Update2: Ich habe eine neue Frage erstellt . Vielen Dank an alle für Vorschläge.


Sie sollten das AD-Schema-Änderungsbit wahrscheinlich als separate Frage veröffentlichen. Ich bin nicht wirklich mit allen AD-spezifischen Dingen vertraut, die zum Ändern des LDAP-Schemas und zum Importieren neuer Objekte erforderlich sind, aber ich weiß, dass wir eine haben Viele MS / AD-Gurus hier, die es unter den Active-Directory- und LDAP- Tags
abholen

Antworten:


16

Warum nicht /etc/sudoersAD (LDAP) als Sudoers-Shop verschrotten und verwenden ? - Mehr Infos hier .

Sie authentifizieren sich bereits bei AD. Dies ist also nur der nächste logische Schritt und bietet Ihnen einen bequemen, zentralen Ort für die Authentifizierung und Autorisierung.


So lange ich mich erinnern kann, haben wir gerade AD / Linux / winbind / PAM erstellt und AD-Gruppen hinzugefügt sudoers- ich weiß nicht, wie ich das nie gefunden habe. Eine sehr verdiente +1.
Jscott

@jscott Der große Nachteil ist, dass in vielen Sudo-Paketen kein LDAP kompiliert ist, sodass Sie möglicherweise Ihr eigenes rollen müssen. Ich baue sudo aus FreeBSD-Ports und wir haben bereits LDAP-Abhängigkeiten für pam_ldap, so dass ich keine zusätzlichen Kopfschmerzen habe :-)
voretaq7


3

Sie können Gruppen in Sudoern definieren ... und diese Gruppen aus einem zentralen Authentifizierungs-Repository abrufen ... wie Active Directory. Ich liebe es, Domain-Administratoren in meine Sudoers-Datei aufzunehmen. Spart viel Kopfschmerzen.


2

Wenn Sie nach einer API suchen, um Ihre Sudoers-Datei zu ändern, können Sie Augeas mit dem Sudoers-Objektiv verwenden. Es lässt sich gut in Puppet integrieren , aber Sie können es auch in einem Ihrer Skripte verwenden (es gibt viele Bindungen).

Siehe diese Antwort zum Beispiel.


0

Hmm !! es ist nervig. Auf die andere Weise können Sie dies mit dem Befehl cssh tun, mit dem Sie mehrere Fenster gleichzeitig öffnen können. Wenn Sie etwas in das winzige Fenster (weißes leeres Fenster) eingeben, werden Sie feststellen, dass sich Ihr Typring in allen Fenstern ausbreitet. Ich würde empfehlen, eine Sicherungskopie Ihrer Suoders-Datei zu erstellen und den Befehl visudo zu verwenden, um sudoers zu aktualisieren. Wenn eine Sudoer-Datei nicht gefällt, werden Sie von visudo aufgefordert, die Datei zu korrigieren.

Prost

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.