passwd para usuários do ldap

1

Estou tentando ativar os hosts Linux para autenticação em um servidor de diretório ativo usando as portas 389 e tls. Eu pareço ter muito trabalho, mas os usuários não podem alterar suas senhas via passwd.

Eu estava no pressuposto de que durante uma mudança de passwd ele iria ligar com o nome de usuário e senha antiga em vez do binddn / bindpw em ldap.conf, mas eu posso estar errado. Se for esse o caso, como faço para que funcione, porque o usuário do domínio test \ ldap não tem permissões para alterar as senhas de outros usuários, e eu não quero conceder a ele essa permissão, pois esse arquivo de configuração estará em todos os clientes.

Isso é no rhel5 (e se eu funcionar, o rhel4 também)

Aqui estão meus arquivos de configuração no cliente:

/etc/hosts
127.0.0.1 localhost
192.168.0.2 TESTSRV.TEST.COM TESTSRV
192.168.0.1 WIN-JERS4CCKFGM.TEST.COM WIN-JERS4CCKFGM

/etc/ldap.conf

debug 0

uri ldap://WIN-JERS4CCKFGM.TEST.COM/ base cn=Users,dc=test,dc=com ldap_version 3

binddn TEST\ldap bindpw Pwldap1 bind_policy soft

scope sub timelimit 30

nss_base_passwd cn=Users,dc=test,dc=com?one nss_base_shadow cn=Users,dc=test,dc=com?one nss_base_group cn=Users,dc=test,dc=com?sub nss_schema rfc2307bis nss_map_objectclass posixAccount User nss_map_objectclass shadowAccount User nss_map_objectclass posixGroup group nss_map_attribute uniqueMember member nss_map_attribute homeDirectory UnixHomeDirectory nss_map_attribute gecos name nss_map_attribute ou description

/etc/nsswitch.conf

passwd:     files ldap
shadow:     files ldap
group:      files ldap
hosts: files dns

ethers: files netmasks: files networks: files protocols: files rpc: files services: files netgroup: files ldap automount: files ldap aliases: files

/etc/pam.d/system-auth

auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account required pam_unix.so broken_shadow account sufficient pam_succeed_if.so uid < 500 quiet account [default=bad success=ok user_unknown=ignore] pam_ldap.so account required pam_permit.so

password requisite pam_cracklib.so retry=3 password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok password sufficient pam_ldap.so use_authtok password required pam_deny.so

session optional pam_keyinit.so revoke session required pam_limits.so session optional pam_mkhomedir.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_ldap.so

/etc/pam.d/passwd tem apenas as 3 linhas habituais include-system nela.

    
por Sirex 01.02.2012 / 09:17

1 resposta

1

Você está usando o winbind do Kerberos ou do Samba? Ou você está apenas tentando o LDAP direto?

Se o último, seu arquivo /etc/ldap.conf deve ter uma série de parâmetros 'pam_ *' que parecem estar faltando. Em particular, é necessário " pam_password ad " para especificar o ADSI como o protocolo de alteração de senha. Você também pode precisar de 'pam_login_attribute sAMAccountName' (+ outros)

Pessoalmente, eu sempre limitei a máquina Linux usando o winbind e, em seguida, alterei as senhas da mesma forma como se faz com 'net ads password'

    
por 01.02.2012 / 10:20