/etc/shells
contiene una lista de archivos binarios que el sistema considera shells (sin restricciones). Eso significa que se supone que cualquier usuario que haya configurado uno de esos archivos binarios como su shell tiene acceso completo al sistema (lo que significa que puede ejecutar cualquier comando, siempre que tenga el permiso apropiado).
El resultado más directo es que pueden usar chsh
para cambiar su shell configurado.
Si un usuario tiene un shell configurado que no está en esta lista, entonces el sistema asume que de alguna manera está restringido. En el caso de chsh
que significa que el usuario no puede cambiar ese valor.
Otros programas pueden consultar esa lista y aplicar restricciones similares.
Por lo tanto, poniendo nologin
en /etc/shells
que efectivamente decir "cualquier usuario que tiene nologin
como su cáscara se considera un usuario completa sin restricciones". Es casi seguro que es exactamente lo contrario de lo que nologin
debía decir .