Em uma caixa do Ubuntu, estou tendo problemas com grupos secundários LDAP para um usuário, sabnzbd. O usuário deve fazer parte do grupo de mídia.
daniel@server:~$ id sabnzbd
uid=4996(sabnzbd) gid=4996(sabnzbd) groups=4996(sabnzbd)
daniel@server:~$ id transmission
uid=4998(transmission) gid=4998(transmission) groups=4998(transmission),4999(media)
daniel@server:~$ ldapsearch -D cn=admin,dc=home -W -H ldaps://ldap.home -b dc=home '(&(objectclass=posixGroup)(|(memberUid=sabnzbd)))'
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <dc=home> with scope subtree
# filter: (&(objectclass=posixGroup)(|(memberUid=sabnzbd)))
# requesting: ALL
#
# media, Groups, home
dn: cn=media,ou=Groups,dc=home
objectClass: posixGroup
objectClass: top
cn: media
gidNumber: 4999
memberUid: elle
memberUid: daniel
memberUid: sabnzbd
memberUid: transmission
memberUid: sickbeard
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
daniel@server:~$ getent group media
media:*:4999:elle,daniel,sabnzbd,transmission,sickbeard
(excerpt from nsswitch.conf)
passwd: files ldap
group: files ldap
shadow: files ldap
Em uma caixa Debian, funciona bem. A diferença é que a caixa do Ubuntu está usando o libpam-ldapd (o mesmo comportamento com a libpam-ldap) e a caixa do Debian está usando o libnss-ldapd. Descobri que o netatalk não estava autenticando usuários LDAP com libnss-ldapd, então mudei para libpam-ldap e libpam-ldapd. O netatalk agora funciona como esperado, mas estou tendo este problema com o usuário secundário.