Tenho um servidor Solaris, ele usa ldap para autenticação de usuário e kerberos para senha. O usuário pode alterar sua senha, só tenho problemas com envelhecimento de senha, por exemplo:
passwd -r ldap -n 12 giovanni
Enter giovanni's password:
Permission denied
Este é o pam.conf para passwd
passwd auth sufficient pam_passwd_auth.so.1
passwd auth required pam_dhkeys.so.1
passwd auth sufficient pam_krb5.so.1
passwd auth required pam_unix_cred.so.1
passwd auth required pam_unix_auth.so.1
Eu sei que no Kerberos é possível usar políticas, mas e se eu quiser definir o envelhecimento da senha para o usuário? Eu tive que definir uma política somente para esse usuário? Não tem como usar o comando passwd?
Como a senha é armazenada no Kerberos, somente os servidores Kerberos podem gerenciar efetivamente seu envelhecimento.
Os detalhes dependerão da implementação do Kerberos. Supondo que você esteja usando o MIT Kerberos, a ferramenta a ser usada é
kadmin
. Depois de efetuar login usando um Kerberos principal (= conta de usuário Kerberos) que tenha direitos de administrador, você verá umkadmin:
prompt.Com
get_principal giovanni
, você deve conseguir visualizar os atributos do usuário. Você vai querer verificar oPolicy:
atributo para ver se o principal do usuário já tem uma política de senha associada a ele: o atributo identificará o nome do objeto de política aplicável, se houver um.Com um
get_policy <policy_name>
(substituindo<policy_name>
pelo nome real do objeto de política), você pode visualizar o conteúdo da política existente.Se houver um objeto de política existente, é possível modificá-lo para adicionar uma restrição de tempo de vida de senha (ainda no
kadmin:
prompt). Por exemplo:Mas isso afetará todos os usuários que têm a mesma política atribuída, então você pode querer criar uma nova política para esse usuário e, em seguida, aplicar a política ao principal do usuário. Se o usuário tinha uma política existente, você provavelmente desejará adicionar todas as restrições da política atual à nova política também, adicionando as opções
-minlife
,-minlength
,-minclasses
e/ou-history
aoaddpol
comando também, de acordo com o que a política antiga tinha.No entanto, isso só se aplicará a futuras alterações de senha. Para aplicar o limite de expiração à senha atual também, você precisará de mais um comando: