( _zb_ | 2020. 04. 03., p - 21:21 )

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.