¿Por qué algunos usuarios del sistema tienen / usr / bin / false como su shell?

Una vez que empiece a investigar un sistema Linux, puede encontrar algunas cosas confusas o inesperadas, como / usr / bin / false, por ejemplo. ¿Por qué está ahí y cuál es su propósito? La publicación de preguntas y respuestas del superusuario de hoy tiene la respuesta a las preguntas de un lector curioso.

La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, un grupo de sitios web de preguntas y respuestas impulsado por la comunidad.

La pregunta

El lector de superusuario user7326333 quiere saber por qué algunos usuarios del sistema tienen / usr / bin / false como shell:

¿Por qué algunos usuarios del sistema tienen / usr / bin / false como shell? Qué significa eso?

¿Por qué algunos usuarios del sistema tienen / usr / bin / false como shell?

La respuesta

Los colaboradores de superusuario duDE, Toby Speight y bbaassssiiee tienen la respuesta para nosotros. Primero, tío:

Esto ayuda a evitar que los usuarios inicien sesión en un sistema. A veces, necesita una cuenta de usuario para una tarea específica. Sin embargo, nadie debería poder interactuar con esta cuenta en la computadora. Se trata, por un lado, de cuentas de usuario del sistema. Por otro lado, esta es una cuenta para la que es posible el acceso FTP o POP3, pero sin inicio de sesión de shell directo.

Si observa más de cerca el archivo / etc / passwd, encontrará el comando / bin / false como un shell de inicio de sesión para muchas cuentas del sistema. En realidad, false no es un shell, sino un comando que no hace nada y luego también termina con un código de estado que indica un error. El resultado es simple. El usuario inicia sesión e inmediatamente vuelve a ver el mensaje de inicio de sesión.

Seguido de la respuesta de Toby Speight:

Estos usuarios existen para ser propietarios de archivos o procesos específicos y no están destinados a ser cuentas de inicio de sesión. Si el valor del campo «shell» no aparece en / etc / shells, los programas como los demonios FTP no permiten el acceso. Además, para los programas que no comprueban / etc / shells, hacen uso del hecho de que / bin / false regresará inmediatamente y denegará un shell interactivo.

Y nuestra respuesta final de bbaassssiiee:

Algunos usuarios tienen / usr / bin / false, otros tienen / sbin / nologin, o incluso pueden tener / usr / bin / passwd. Pueden ser usuarios del sistema necesarios para aislar los permisos del programa o usuarios humanos de los programas que utilizan los archivos de contraseña para la autenticación.


¿Tiene algo que agregar a la explicación? Habla en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Consulte el hilo de discusión completo aquí .

Crédito de la imagen: OpenStack Docs (Proyecto OpenStack)