Ich habe ein Problem mit meinen Sudo-Berechtigungen in einem MS ActiveDirectory für Debian LDAP-Authentifizierungs- / Autorisierungs-Setup.
Was ich bisher
habe ich nslcd mit libpam-ldap über ldaps konfiguriert und ssh login funktioniert super.
getent passwd myuser
myuser:*:10001:10015:myuser:/home/myuser:/bin/bash
Auf meinem ActiveDirectory Server ist das Unix-Paket installiert, das die erforderlichen Attribute wie posixGroup, posixAccount, gid, gidNumber, uid, uidNumber usw. hinzufügt.
Mein Beispielbenutzer sieht folgendermaßen aus:
(Ich wähle 10000+, um auf der sicheren Seite zu sein.)
cn: myuser
uid: myuser
uidNumber: 10015
gidNumber: 10000
Ich kann SSH-Anmeldungen einschränken, indem ich Folgendes zu /etc/nslcd.conf hinzufüge
filter passwd (&(objectClass=posixAccount)(|(memberOf=CN=group1,OU=groups,DC=domain,DC=com)(memberOf=CN=group2,OU=groups,DC=domain,DC=com)))
Dies gibt an, dass sich nur Benutzer mit objecClass = posixAccount und Gruppe entweder Gruppe1 oder Gruppe2 anmelden können.
So weit, ist es gut. Ich kann sudo jedoch nicht anweisen, diese Gruppen zu verwenden.
Folgendes habe ich in / etc / sudoers versucht
// This one works, but only because the user has gidNumber=10000 set.
// It doesn't matter if a group with this ID actually exist or not.
// So it's not really permission by LDAP group.
%#10000 ALL=(root) ALL
// This is what I want, but it doesn't work.
%group1 ALL=(root) ALL
Das Problem
Irgendwie muss ich sudo anweisen, den anfordernden Benutzernamen zu übernehmen, zu überprüfen, zu welchen LDAP-Gruppen er gehört, und dann zu prüfen, ob die Berechtigungen für diese Gruppe ausreichen, um den Befehl auszuführen oder nicht.
Leider habe ich keine Ahnung, wo ich anfangen soll. Alles andere funktioniert soweit und ich bin nur mit Sudo-Berechtigungen festgefahren. Ich habe darüber nachgedacht, das gidNumber-Feld des Benutzers dem gidNumber-Feld der Gruppe zuzuordnen, aber ich weiß nicht, ob das Zuordnen eines Benutzerfelds zu einem Gruppenfeld überhaupt möglich ist.
Ich denke nicht, da das Mapping in nslcd so angegeben ist
map passwd field1 field2
und passwd teilt nslcd mit, dass Benutzerfelder zugeordnet werden müssen. Anstelle von passwd könnte ich Gruppen verwenden, aber nicht beide.