OpenLDAP - Client Login nur, wenn Benutzer in bestimmte Gruppe(n) ist/sind

Hallo,

ich fasse mich mal kurz und schreibe nur das eigentliche Problem ohne lange Configs…

Problem bzw. Frage: Ist es möglich auf den LDAP-Clients (Clients in Form von anderen Servern, wo Benutzer sich einloggen wollen) festzulegen (nsswitch.conf bzw. /etc/ldap.conf), dass sich nur Benutzer aus der Gruppe admin und test verbinden/einloggen dürfen?

Ich möchte** nicht:**

  • pam_groupdn verwenden, weil man dort nur eine (!) Gruppe festlegen kann…

Eckdaten:

*SLES11SP2 x64
*openldap2-client-2.4.26-0.12.1
*openldap2-2.4.26-0.12.1

  • LDAP-Struktur: dc=intern,dc=lokal
  • LDAP-Gruppe: cn=admins,ou=groups,dc=intern,dc=lokal
  • LDAP-Gruppen Eigenschaften: PosixGroup (nis.schema), zugewiesene User in der Gruppe via Attribut: memberUid

Im Netz habe ich bisher nichts dickes dazu gefunden… Wäre cool, wenn sich ein LDAP-Pro melden könnte :wink:

LG

Ich hab das bis jetzt nur unter Debian gemacht. Da gibt es libpam-ldap und libpam-ldapd. Bei beiden Modulen kannst du spezielle Filter setzen, so das PAM andere Benutzer gar nicht sieht.

Beispiel für libpam-ldap (int /etc/pam_ldap.conf):


Filter to AND with uid=%s

#pam_filter objectclass=account
pam_filter &(objectClass=shadowAccount)(!(uid=nobody))

… sorgt dafür, dass der Benutzer nobody nicht aus LDAP genommen wird.