Como forço um usuário a alterar uma senha no primeiro login usando ssh?

28

Estou tentando forçar um usuário recém-criado a alterar uma senha no primeiro login usando ssh. Por motivos de segurança, desejo fornecer a ele uma senha segura até que ele efetue login pela primeira vez. Eu fiz o seguinte até agora:

useradd -s /bin/bash -m -d /home/foo foo
passwd foo

Fazer chage -d 0 fooapenas me dá o erro Your account has expired; please contact your system administratorno login ssh.

JohnnyFromBF
fonte

Respostas:

40

altere a idade da senha para 0 dia

sintaxe chage -d 0 {user-name}

Nesse caso

chage -d0 foo

Isso funciona para mim sobre ssh também

Besta de Segurança
fonte
14

Dependendo da versão passwd, você pode tentar

  • passwd -f: Força o usuário a alterar a senha no próximo login expirando a senha do nome.

  • passwd -eou passwd --expire: expire imediatamente a senha de uma conta. Com efeito, isso pode forçar um usuário a alterar sua senha no próximo login do usuário.

kawu
fonte
passwd -e changes the login shell.
schily
2
passwd -efunciona para mim (Linux Mint 17.3)
Joril 16/05
passwd -etrabalha no RHEL 7.0
Crypteya
@schily As opções para passwdvariar por distribuição. No RHEL, -eforça uma alteração de senha no próximo login.
jrw32982 suporta Monica em 30/10
@ jrw32982 é lamentável que o pessoal do Linux crie opções para programas que estejam em conflito com os já existentes no UNIX. A opção -f para expirar a senha já tem mais de 30 anos e antecede o Linux por muitos anos. Até a opção -e para alterar o shell de login é anterior a um Linux completo.
schily