Estou tentando configurar a política de senha de usuários no RHEL 6.6 e quero que o sistema solicite que os usuários recém-criados alterem a senha inicial no primeiro login.
Observe que tentei definir a variável EXPIRE para 0 e INACTIVE para -1 em / etc / default / useradd, mas isso leva à expiração da nova conta de usuário após a criação. A saída do comando chage após a criação do usuário com estas variáveis é:
# chage -l foo
Last password change : Feb 22, 2015
Password expires : May 23, 2015
Password inactive : never
Account expires : Feb 22, 2015
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
Quando tento fazer login com o usuário foo, é exibida a mensagem "Sua conta expirou. Entre em contato com o administrador do sistema".
Mas se eu abrir a janela 'Propriedades do usuário', selecione a guia 'Informações da senha' e marque 'Forçar alteração da senha no próximo login', o resultado será o que eu espero. O novo usuário será solicitado a alterar a senha. A saída do comando chage nesse caso será:
# chage -l foo2
Last password change : password must be changed
Password expires : password must be changed
Password inactive : password must be changed
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
Quando eu entro no usuário foo2, o sistema pede que eu mude a senha.
Portanto, existe alguma maneira de configurar o sistema para definir os parâmetros da conta do usuário na criação, como no segundo caso?
Upd
cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=0
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
Mesmo se eu comentar INATIVO ou defini-lo como um valor positivo, a conta expirou, mas não uma senha.
Além disso, configurei o PAM na máquina.
Upd 2
Eu verifiquei isso na máquina com o RHEL 6.2 e sem a configuração do PAM. Efeito é o mesmo.
EXPIRE=0
em /etc/default/useradd
deve fazer o trabalho. Eu li que você tentou. Você pode adicionar as linhas não comentadas de /etc/default/useradd
? Ele está bloqueado mesmo se você não especificar INACTIVE = -1, mas um valor diferente, ou se você comentar essa linha? Você pode especificar se as contas estão bloqueadas mesmo quando criadas pela linha de comando. E, por favor, quando você tiver uma pergunta diferente, poste-a em uma página separada, caso a resposta seja diferente.
adduser
permite que você coloque o chage
comando no /usr/local/sbin/adduser.local
. Você também pode definir o campo de idade em / etc / shadow como 0 diretamente. useradd
é o "utilitário de baixo nível", destinado a ser usado em conjunto com outros comandos.
chage -d 0 {user-name}
.