¿Qué significa * y! en el segundo campo de / etc / shadow?

20

Hasta donde yo sé, el segundo campo de / etc / shadow es la contraseña cifrada del usuario. Pero algún usuario, por ejemplo, el daemonusuario tiene *en el campo, en mi entorno (Ubuntu 12.04) roottiene !en el campo.

Supongo que !significa que "toda contraseña no es válida, no puede iniciar sesión con este usuario". Pero no pude encontrar el documento para ello.

¿Qué significa *y !en el archivo sombra?

hierro y
fuente

Respuestas:

23

'!' y '!!' significa esencialmente lo mismo, pero diferentes herramientas usan una u otra, passwd -lpor ejemplo, usa un par de signos de exclamación. usermod -Lpor otro lado solo usa uno.

Por lo general, las cuentas con '*' nunca tuvieron una contraseña (como en, siempre se han deshabilitado para iniciar sesión). Esto es diferente a una cuenta sin entrada de hash de contraseña, en cuyo caso no se necesita contraseña (y a menudo ni siquiera se la solicitará), que casi siempre es MALO.

Si es un hash no válido (que son todos '*', '!' Y '!!'), bloquea efectivamente la cuenta y evita los inicios de sesión en esa cuenta. A menudo, esto se fomenta configurando el shell de la cuenta en algo como / bin / false o / sbin / nologin en el archivo / etc / passwd

A menudo encontrará que si la cuenta de un usuario está bloqueada después de haber configurado previamente una contraseña válida, ese hash de contraseña tiene signos de exclamación prefijados, esto es así cuando la cuenta se desbloquea y la contraseña vuelve a funcionar.

Sirex
fuente
Gracias por tu explicación detallada. ¡Esto es muy útil!
ironsand
2
No hay problema. Una cosa que olvidé mencionar (pero implicaba) es tener cuidado de bloquear la cuenta con passwd y tratar de desbloquearla con usermod. Solo eliminará el primer '!', Que no funcionará.
Sirex
2
La respuesta no es 100% correcta. Según mi experiencia, si tiene un asterisco *en esa columna, aún puede iniciar sesión perfectamente bien con la autenticación de clave pública. Mientras que a !realmente bloquea todos los inicios de sesión para ese usuario.
Michael Härtl
2
eso depende de la configuración de "usepam" en el archivo de configuración sshd. arlimus.github.io/articles/usepam
Sirex