No puedo iniciar sesión en el usuario que acabo de crear con useradd

1

Estoy usando Debian 8 y cuando ingreso esto en la Terminal:

sudo useradd -p pass test

Entonces veo esto en /etc/passwd:

test:x:1001:1001::/home/test:/bin/sh

Sin embargo, esto sucede:

su test
Password: 
su: Authentication failure

¿Me estoy volviendo loco?

Leopardo sin ley
fuente

Respuestas:

1

La opción -pde useraddno se utiliza para establecer la contraseña de texto sin formato. Con -pusted está configurando directamente lo que se almacenará en /etc/shadow. Para establecer la contraseña en la línea de comandos de esta manera, primero deberá generar un hash y luego pasarlo a la useraddutilidad.

Ejemplo:

Genere hash de contraseña barsalada con cadena foousando el programa openssl:

openssl passwd -1 -salt foo bar

Esto producirá una cuerda $1$foo$te5SBM.7C25fFDu6bIRbX1. Si lo pasa a useradd(tenga cuidado de agregar comillas simples para que no se expanda a las variables):

useradd -p '$1$foo$te5SBM.7C25fFDu6bIRbX1' test

Debería poder iniciar sesión como testcon la contraseña bar.

Marek Rost
fuente
Oh dios gracias Realmente lo estaba perdiendo con esto
Lawless Leopard
@LawlessLeopard también considera usar stackoverflow.com/a/2151149/6350644 cuando la fase de configuración de la contraseña no se exponga en algún lugar potencialmente público.
Marek Rost el
¿Es la otra solución simplemente usar adduseren su lugar?
JakeGould
1
@JakeGould definitivamente lo sería, si no te importa configurar la cuenta de forma interactiva. Dado que la pregunta tiene una contraseña en la línea de comando, supuse que el autor de la pregunta probablemente quiera usarla como parte de alguna automatización o script. Es por eso que sugerí dividir la generación de contraseña real y la creación del usuario.
Marek Rost el
@MarekRost es exactamente para fines de secuencias de comandos
Lawless Leopard