Ok, então depois de algum lobby, eu modifiquei a conta do root:
dn: uid=root,ou=people,dc=nope,dc=com
changetype: modrdn
newrdn: uid=administrator
deleteoldrdn: 1
Agora não tenho mais problemas.
Depois de configurar a autenticação do ldap com o pam no debian, tudo funciona bem. Usando o comando passwd altere a senha do ldap do usuário atual.
O problema é que meu ldap foi configurado com uma conta "admin" e uma conta "root" com direitos de administrador. Por razões históricas, não posso mudar isso.
Como posso fazer o passwd alterar somente a senha local para o root, e não o do ldap?
Aqui está a configuração do pam:
account sufficient pam_ldap.so
account sufficient pam_unix.so try_first_pass
account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so
account [success=1 default=ignore] pam_ldap.so
account requisite pam_deny.so
account required pam_permit.so
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure try_first_pass
auth [success=2 default=ignore] pam_unix.so nullok_secure
auth [success=1 default=ignore] pam_ldap.so use_first_pass
auth requisite pam_deny.so
auth required pam_permit.so
password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5 try_first_pass
password [success=2 default=ignore] pam_unix.so obscure sha512
password [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass
password requisite pam_deny.so
password required pam_permit.so
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session required pam_unix.so
session optional pam_ldap.so
session optional pam_ck_connector.so nox11
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session required pam_unix.so
session optional pam_ldap.so
Provavelmente existem maneiras melhores, mas como um paliativo você sempre pode editar o arquivo /etc/shadow
(como root). Basta substituir a parte entre o primeiro e o segundo :
por uma nova senha criptografada:
usando passwd
, defina sua própria senha para a nova senha raiz que você deseja ter (isso também define sua senha ldap, você irá definir isso no final)
sudo -s -H
, mantenha este terminal aberto até que a alteração seja verificada!
faça um backup de /etc/shadow
para /etc/shadow.org
edite /etc/shadow
como root e copie o segundo 'campo' (entre :
) do nome da sua conta para o nome da raiz
teste se você pode logar como root com a nova senha. Se as coisas não funcionarem, copie /etc/shadow.org
de volta no terminal em que você está logado como root
somente após o teste, remova /etc/shadow.org
e efetue o logoff
coloque sua própria senha de volta ao original com passwd