Como alterar a senha usando usermod?

9

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?

    
por Mr Coder 13.05.2012 / 20:29

7 respostas

6

Você pode usar passwd :

sudo passwd USERNAME 

Você não precisa sudo se você for superusuário

    
por RiaD 13.05.2012 / 20:35
14

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)
    
por Rorik 05.05.2013 / 00:21
6

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!

    
por Zoke 13.05.2012 / 20:58
1

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.

    
por Achu 13.05.2012 / 20:43
1

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
    
por Waldo Trout 11.03.2016 / 18:02
1

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.

    
por Benoy G 16.04.2016 / 07:52
0

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}

    
por gstanden 19.01.2018 / 21:17

Tags