Mire jutottal?
En Apache Directory Studio-t hasznalok kliens gyanant, na meg persze ldap-utils-t. nis-t lecsereltem rfc2307bis-re, betoltottem a memberof overlay-t es a kovetkezoket tapasztalom:
Letrehozom a kocsmat:
dn: cn=kocsma,ou=Groups,dc=example,dc=hu
cn: kocsma
objectClass: groupOfNames
objectClass: top
Majd Joskat:
dn: uid=joska,ou=People,dc=example,dc=hu
uid: joska
sn: joska
cn: joska
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
Es Joskat berakom a kocsmaba:
dn: cn=kocsma,ou=Groups,dc=example,dc=hu
member: uid=joska,ou=People,dc=example,dc=hu
cn: kocsma
objectClass: groupOfNames
objectClass: top
Ezen a ponton Apache DS-ben megjelenik a memberof attribute Joskanal, es az ldapsearch is megtalalja:
ldapsearch -x -b "dc=example,dc=hu" -H ldapi:/// "(&(objectClass=InetOrgPerson)(memberof=cn=kocsma,ou=Groups,dc=example,dc=hu))"
# joska, People, example.hu
dn: uid=joska,ou=People,dc=example,dc=hu
uid: joska
sn: joska
cn: joska
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
Eddig minden OK.
Most hozzuk letre Pistat:
# pista, People, example.hu
dn: uid=pista,ou=People,dc=example,dc=hu
uid: pista
uidNumber: 500
homeDirectory: /home/pista
gidNumber: 500
sn: pista
cn: pista
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
objectClass: posixAccount
Na most Pista nemileg szofisztikaltabb, ugyanis -Joskaval ellentetben- nem csak inetOrgPerson hanem posixAccount is.
Betesszuk Pistat is a kocsmaba:
# kocsma, Groups, example.hu
dn: cn=kocsma,ou=Groups,dc=example,dc=hu
member: uid=joska,ou=People,dc=example,dc=hu
member: uid=pista,ou=People,dc=example,dc=hu
objectClass: groupOfNames
objectClass: top
cn: kocsma
Es bar az ldapsearch megtalalja:
ldapsearch -x -b "dc=example,dc=hu" -H ldapi:/// "(&(objectClass=InetOrgPerson)(memberof=cn=kocsma,ou=Groups,dc=example,dc=hu))"
# joska, People, example.hu
dn: uid=joska,ou=People,dc=example,dc=hu
uid: joska
sn: joska
cn: joska
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
# pista, People, example.hu
dn: uid=pista,ou=People,dc=example,dc=hu
uid: pista
uidNumber: 500
homeDirectory: /home/pista
gidNumber: 500
sn: pista
cn: pista
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
objectClass: posixAccount
az Apache DS csak a 10. frissites es 2. ujrainditas utan volt hajlando megjeleniteni a memberof attribute-ot.
Ugyanez ment visszafele is. Ha kidobom Pistat a kocsmabol, apache DS meg jo ideig azt hazudja, hogy ott van (listazza a memberof-ot a kocsma csoporttal). Erdekes modon Joskat mindig jol mutatta.
Konkluzio 1: Mindig ellenorizd ldapsearch-csel is hogy mi a helyzet.
Konkluzio 2: Halal az LDAP-ra! Hasznalj SSO-t, mondjuk keycloak-ot. 1 ora alatt osszehoztam nextcloud-dal.