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.
Antworten:
Warum nicht
/etc/sudoers
AD (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.
quelle
sudoers
- ich weiß nicht, wie ich das nie gefunden habe. Eine sehr verdiente +1.Wie wäre es mit einem Konfigurationsmanagement-Tool? Marionette , Koch , CFEngine usw.?
quelle
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.
quelle
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.
quelle
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
quelle