Você pode usar passwd
:
sudo passwd USERNAME
Você não precisa sudo
se você for superusuário
Eu sou superadmin de um servidor e gosto de alterar a senha de um usuário existente. Como posso fazer isso?
Eu tentei
usermod -p 'new-password' john
mas não funcionou?
Você pode usar passwd
:
sudo passwd USERNAME
Você não precisa sudo
se você for superusuário
O usermod -p
sinalizador está esperando que os dados sejam a senha já em um formato criptografado.
Use openssl passwd
para gerar os dados criptografados ou faça assim:
usermod -p 'openssl passwd' (USERNAME)
O motivo pelo qual não funcionou é porque a opção% p_de% -p espera que a senha já seja criptografada.
Da página de manual de usermod
:
-p, --password PASSWORD
The encrypted password, as returned by crypt(3).
Para definir uma senha dessa maneira, não é recomendado.
Em vez disso, você deve usar usermod
. Isso deve (como passwd <username>
) ser feito como root (se você não estiver alterando a senha dos usuários atualmente logados).
Para alterar a senha do usuário foo.
sudo passwd foo
Isso solicitará uma nova senha.
Dê uma olhada na página man do usermod
para mais informações sobre configuração, por exemplo, tempo de expiração.
Boa sorte!
Basta digitar
passwd
Desta forma, o usuário normal pode alterar sua própria senha sem privilégios de root, se você não tiver.
A maneira de atribuir uma senha com usermod (que é o que o OP realmente pediu) é usar uma senha crypt()
hash para o argumento -p
.
SALT="Q9"
PLAINTEXT="secret_password"
HASH=$(perl -e "print crypt(${PLAINTEXT},${SALT})")
echo "Password Hash = \"${HASH}\""
Em seguida, use isso no argumento de linha de comando usermod -p
:
usermod -p ${HASH} john
Um comando de linha única não interativo para alterar a senha de um usuário:
sudo usermod -p 'perl -e "print crypt("new-password","Q4")"' john
usermod -p
requer senha criptografada para funcionar. Observe que o new-password
ficará visível para os usuários que podem listar os processos.
Algo que deve ser adicionado aqui é o seguinte. Este método:
sudo usermod -p perl -e "print crypt("new-password","Q4")"
joão
significa que várias senhas muito semelhantes irão funcionar. Por exemplo, no servidor Oracle Linux 7.4 e no desktop Ubuntu 17.10, considere:
sudo usermod -p perl -e "print crypt("borkling","Q4")"
orabuntu
Agora, se você fizer isso:
su - orabuntu
você descobrirá que QUALQUER senha que comece com "borkling" funcionará, por exemplo
borkling88 borklingjars
embora "borkline" não funcione, porque, como dito anteriormente, qualquer senha que tenha "borkling" como prefixo também funcionará quando a senha for definida dessa maneira.
Um caminho para isso que o afaik não tem esse efeito colateral indesejado é o seguinte:
(crédito para estes vai para "Sandeep" aqui:
link )
No RedHaty Linuxes: (omita o "-G wheel" se você não quiser que o sudo privs seja concedido)
sudo useradd -m -p $ (abre senhas -1 $ {PASSWORD}) -s / bin / bash -G rodas $ {USERNAME}
Em Linuxes Debian (omitir o -G sudo se você não quiser sudo privs):
sudo useradd -m -p $ (openssl senha -1 $ {PASSWORD}) -s / bin / bash -G sudo $ {USERNAME}
Tags password