Usuario sin contraseña: ¿cómo se puede iniciar sesión en esa cuenta desde una cuenta no root?

25

Acabo de comenzar a usar Scientific Linux (7.0) (aunque supongo que esta pregunta podría ser de distribución neutral ...). La versión del kernel es 3.10.0-123.20.1.el7.x86_64.

Volviendo a mi pregunta.

Cambié a rootcuenta y desde allí creé una nueva cuenta de usuario test-accountusando el comando adduser test-account. No me solicitó una contraseña ni utilicé la opción para proporcionar contraseña. Así que supongo que es una cuenta "sin contraseña". Puedo iniciar sesión en esta cuenta desde la cuenta raíz, lo que supongo que podría sin proporcionar contraseña, incluso si la cuenta de prueba tenía una contraseña. Sin embargo, cuando intento iniciar sesión en esta (cuenta de prueba) desde una tercera cuenta, me solicita una contraseña. Y solo presionar Enterno funciona.

¿Es posible iniciar sesión en esta cuenta desde una cuenta no root? ¿Hay alguna manera (sin cambiar a root o usar sudo)?

Lavya
fuente
La política de su sistema podría ser que se requiere una contraseña. adduserconoce la -popción de establecer una contraseña, aunque no se recomienda su uso. Entonces, como root, haz passwd test-accounty establece una contraseña.
ott--
no, la cuenta se crea sin contraseña e incluso puedo acceder a ella desde la raíz. Lo único que no puedo hacer es cambiarlo desde un usuario normal.
Lavya
¿Cómo se cambia desde la raíz (qué comando está utilizando)?
roaima
@roaima su test-account. Eso cambia a test-accountsin una solicitud de contraseña (que es lo que sucedería incluso si test-accounttuviera una contraseña). Sin embargo, cuando trato de cambiar a una cuenta de prueba de otra cuenta de usuario no privilegiada, el núcleo me pide la contraseña con un aviso, y no acepta anulación (presionando eneter)
Lavya
Ya has recibido la respuesta a esto. Disfrutar.
roaima

Respuestas:

29

De manera predeterminada en Enterprise GNU / Linux y sus derivados, el addusercomando crea un usuario que está deshabilitado hasta que especifique explícitamente una contraseña para ese usuario.

Aquí hay un ejemplo en CentOS 6.5, que debería ser lo mismo que Scientific Linux.

 $ sudo adduser test
 $ sudo grep test /etc/shadow
 test:!!:123456:0:99999:7:::

La razón de esto es porque en el /etc/shadowarchivo, el campo de contraseña es !!como puede ver en el ejemplo.

una vez que ejecute passwdesta cuenta, cambiará la contraseña del usuario y le permitirá iniciar sesión.

entonces, lo que debería poder hacer es lo siguiente para tener un usuario sin contraseña, simplemente cree una cuenta y luego elimine la contraseña.

 $ sudo adduser test
 $ sudo passwd -d test
 Removing password for user test.
 passwd: Success
 $ su test
 $ whoami
 test

ahora cualquier usuario debería poder usar sue iniciar sesión como usuario testen mi ejemplo. no tendrá que usar sudopara iniciar sesión como cuenta.

Aunque esto es posible y puede tener una cuenta sin contraseña, no se recomienda. Si simplemente configura la contraseña para el usuario, se le debe permitir iniciar sesión.

$ sudo passwd test
[sudo] password for <YOURACCOUNT>:
Changing password for user test.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Nathan McCoy
fuente
"el comando adduser crea un usuario que está deshabilitado hasta que especifique explícitamente una contraseña para ese usuario": ¿cómo puedo cambiar test-account de root si ese es el caso (usuario deshabilitado)?
Lavya
su test-account
Nathan McCoy
Quería preguntar si la cuenta está deshabilitada, ¿cómo es que puedo cambiarla sudesde la raíz?
Lavya
2
el rootusuario puede suingresar a cualquier cuenta que tenga un shell. Si el shell se estableció en, /bin/falsepor ejemplo, no funcionaría. ¡Es solo la magia de root! muchas cuentas de usuario no tienen un shell válido y solo se usan para ejecutar programas específicos como ese usuario. como el apacheusuario y el servidor web apache.
Nathan McCoy
En Ubuntu 18.04, no puedo iniciar sesión como usuario con contraseña vacía.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
3

Tengo un invitado que no tiene contraseña. Este es su registro:

invitado: U6aMy0wojraho: 17057: 0: 99999: 7 :::

La cadena "U6aMy0wojraho" es la contraseña cifrada del usuario invitado. Cuando inicio sesión, simplemente presiono enter para la contraseña y el sistema me permite ingresar.

Debería editar el archivo / etc / shadow y agregar la cadena antes mencionada justo después del nombre de usuario y los primeros dos puntos.

Copié esta cadena del CD en vivo de Ubuntu: su usuario no tiene contraseña.

Raicho Nikolov
fuente
En lugar de la respuesta aceptada ( passwd -d ...), esto también funciona con sddm.
mzimmer
1
Editar el /etc/shadowarchivo directamente es arriesgado y generalmente no se recomienda. Tener una guestcuenta está bien, pero el uso de las herramientas para editar la contraseña reducirá la posible entrada incorrecta del usuario o los problemas con el guardado de archivos multiusuario.
Nathan McCoy
@NathanMcCoy, estoy de acuerdo en que es arriesgado. Pero las herramientas GUI no permiten crear contraseñas vacías: requieren al menos 6 u 8 caracteres. Al menos, este es el caso en Kubuntu que uso.
Raicho Nikolov
@NathanMcCoy sí, se podría usar chpasswd -epara hacerlo de manera más segura: unix.stackexchange.com/a/472966/32558
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
Esto es ideal para casos de recuperación de emergencia, conecte el disco duro (por así decirlo) y edite un par de archivos para reparar la máquina. Específicamente agregue a este usuario y agréguelo temporalmente a los sudoers, luego use una consola en serie para iniciar sesión y arreglar lo que se haya abierto
Ray Foss
2

Usuario con contraseña vacía

sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | sudo chpasswd -e
su test-user-0

La solicitud de contraseña todavía se muestra desafortunadamente.

Pero si solo presiona Intro sin escribir nada, e inicia sesión como usuario test-user-0.

Las -ebanderas indican chpasswdque la contraseña ya está encriptada y U6aMy0wojrahoes el hash de la cadena vacía.

Probado en Ubuntu 18.04.

BusyBox autologin

Al menos en el terminal, no es necesario crear un usuario sin contraseña para permitir que alguien no escriba sus contraseñas cada vez, piratear inittabun poco es suficiente: ¿Cómo iniciar sesión automáticamente sin escribir el nombre de usuario o la contraseña raíz en el inicio de Buildroot BusyBox?

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
fuente