Autenticação LDAP quebrada com upgrade para o CentOS 6.4 (sssd)

3

Eu tenho o servidor OpenLDAP:

@(#) $OpenLDAP: slapd 2.4.23 (Aug  8 2012 16:29:21)

Na minha configuração tenho group:

ldapsearch -x -b 'cn=groupname,ou=UnixShell,ou=Services,o=example,c=ru'
# extended LDIF
#
# LDAPv3
# base <cn=groupname,ou=UnixShell,ou=Services,o=example,c=ru> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# groupname, UnixShell, Services, example, ru
dn: cn=groupname,ou=UnixShell,ou=Services,o=example,c=ru
cn: groupname
objectClass: groupOfUniqueNames
objectClass: top
uniqueMember: cn=Name Second,ou=Sysadmins,ou=SoftwareDevelopment,ou=IT,ou=Accounts,o=example,c=ru

# search result
search: 2
result: 0 Success

E usuário

# ldapsearch -x -b 'cn=Name Second,ou=Sysadmins,ou=SoftwareDevelopment,ou=IT,ou=Accounts,o=example,c=ru'
# extended LDIF
#
# LDAPv3
# base <cn=Name Second,ou=Sysadmins,ou=SoftwareDevelopment,ou=IT,ou=Accounts,o=example,c=ru> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# Name Second, Sysadmins, SoftwareDevelopment, IT, Accounts, example, ru
dn: cn=Name Second,ou=Sysadmins,ou=SoftwareDevelopment,ou=IT,ou=Accounts,o=
 example,c=ru
homeDirectory: /home/user
loginShell: /bin/bash
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowLastChange: 15361
shadowMax: 99999
shadowMin: 0
shadowWarning: 7
uid: user
uidNumber: 7000
cn: Name Second
gidNumber: 702

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Há muito tempo eu usei a autenticação LDAP em meus servidores clientes (CentOS 6. *), mas em uma ocasião, quando fiz o upgrade para a ramificação 6.4, minha configuração quebrou. Porque agora o padrão do sistema usando SSSD.

Em pam_ldap estava

pam_groupdn cn=groupname,ou=UnixShell,ou=Services,o=example,c=ru
pam_member_attribute uniquemember

Mas agora no sssd.conf o filtro não funciona

access_provider = ldap
ldap_access_filter = memberOf=cn=groupname,ou=UnixShell,ou=Services,o=example,c=ru

O que estou fazendo de errado? Meus registros não podem ser encontrados quando eu fizer login pelo ssh. Trabalha localmente "su - usuário".

Erro no log sssd

(Thu Mar 28 12:44:43 2013) [sssd[be[default]]] [sdap_access_filter_get_access_done] (0x0100): User [user] was not found with the specified filter. Denying access.

Eu o uso para configurações:

authconfig --enablemkhomedir --updateall --enablesssd --enablesssdauth --enableldap --enableldapauth --disablenis --disablekrb5 --disablecachecreds --disablecache  --ldaploadcacert=$certurl"

Lançamento do CentOS 6.4 (Final)

!!! Não mude nada manualmente, apenas utilitários do sistema !!!

# cat /etc/sssd/sssd.conf 
[domain/default]

ldap_uri = ldaps://ldap02.example.ru
ldap_tls_cacertdir = /etc/openldap/cacerts
ldap_id_use_start_tls = True
cache_credentials = False

ldap_search_base = o=example,c=ru
krb5_realm = EXAMPLE.COM
krb5_server = kerberos.example.com

id_provider = ldap
auth_provider = ldap
chpass_provider = ldap

access_provider = ldap
ldap_access_filter = uniqueMember=cn=grouname,ou=UnixShell,ou=Services,o=example,c=ru

debug_level = 255
auth_provider = ldap
chpass_provider = ldap
[sssd]
services = nss, pam
config_file_version = 2

domains = default
[nss]

[pam]

[sudo]

[autofs]

[ssh]

[pac]
    
por wilful 29.03.2013 / 05:26

1 resposta

1

Eu estava preso nisso por um longo tempo. Parece que para o CentOS6 eles mudaram o arquivo de configuração de /etc/openldap/ldap.conf para /etc/pam_ldap.conf . O pam_groupdn funcionará se você colocar suas informações lá.

$ cp /etc/openldap/ldap.conf /etc/pam_ldap.conf

Ou você pode criar um link simbólico entre os dois.

    
por 17.09.2014 / 21:21