Como definir senhas de usuário usando passwd sem aviso?


20

Estou escrevendo um script para adicionar uma grande quantidade de usuários a um sistema. Parte disso envolve a configuração de senhas padrão para cada usuário. Como posso definir as senhas dos usuários sem que eu solicite a senha com antecedência?

Infelizmente, o passwd não parece ter um argumento informando a nova senha a ser definida. Estou usando o Ubuntu 11.10.

Respostas:


22

Experimente o usermod:

usermod --password PASSWORD USERNAME

A única coisa é que isso precisa de uma string de senha pré-criptografada que você precisa gerar primeiro.


1
... que eu posso gerar usando mkpasswd. Excelente, obrigado!
Jake Petroules

16
Você também pode usar o openssl para gerar a senha criptografada. Por exemplo:usermod --password $(echo my_new_password | openssl passwd -1 -stdin) USERNAME
Eric Smith

1
Três anos atrasado. Não consegui responder @EricSmith, mas descobri uma versão mais simples do comando que funcionava:usermod --password $(openssl passwd -1 {password}) {username}
BoCoKeith 29/11

13

Você deve olhar o chpasswdcomando (se disponível no seu sabor linux):

echo 'userid:newpasswd' | chpasswd

Ou você pode obter um arquivo listando userid: passwd para cada conta em uma linha separada.

É isso aí.


isso funcionou para mim emDockerfile
Vishrant

1

Inspirado pela idéia de Eric Smith, a combinação openssl passwde o usermod -pcomando funcionaram. Gere o valor hash da senha junto com o valor salt.

$ openssl passwd -1  -salt 5RPVAd clear-text-passwd43
$1$5RPVAd$vgsoSANybLDepv2ETcUH7.

Em seguida, copie a sequência criptografada para usermod. Certifique-se de envolvê-lo com aspas simples.

$ usermod -p '$1$5RPVAd$vgsoSANybLDepv2ETcUH7.' root

Confira no arquivo de sombra.

$ grep root /etc/shadow
root:$1$5RPVAd$vgsoSANybLDepv2ETcUH7.:17774:0:99999:7:::

0

Você deve usar a validade da senha e definir os usuários para que eles alterem sua senha no primeiro login. Veja este artigo .


Eles pretendiam ser apenas contas de FTP, mas bons conselhos. ;)
Jake Petroules
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.