Digamos que creo un usuario llamado "falso" usando el addusercomando. ¿Cómo puedo asegurarme de que este usuario NO sea una opción de inicio de sesión viable, sin deshabilitar la cuenta? En resumen, quiero que se pueda acceder a la cuenta a través de su - bogus, pero no quiero que sea accesible a través de un mensaje de inicio de sesión regular.
Al buscar, parece que necesito deshabilitar la contraseña de ese usuario, pero hacerlo passwd -d bogusno ayudó. De hecho, empeoró las cosas, porque ahora podía iniciar sesión en falso sin siquiera escribir una contraseña.
¿Hay alguna manera de deshabilitar los inicios de sesión regulares para una cuenta determinada?
Nota: Para ser claros, sé cómo eliminar a un usuario de las opciones de menú de las pantallas de inicio de sesión gráficas, como gdm, pero estos métodos simplemente ocultan la cuenta sin inhabilitar el inicio de sesión. Estoy buscando una forma de deshabilitar el inicio de sesión normal por completo, incluido el modo de texto.
fuente

-des la bandera para eliminar la contraseña. Eso es diferente de deshabilitarlo (referido como bloqueo, ver la respuesta de Chad).Respuestas:
es lo que quieres
Eso bloqueará la cuenta de usuario. Pero aún podrás
pero tendrás que hacerlo
su - usercomo root.Alternativamente, puede lograr lo mismo anteponiendo a
!a la contraseña del usuario/etc/shadow(esto es todopasswd -ldetrás de escena). Ypasswd -udeshacerá esto.fuente
passwd -lopción, debe tener en cuenta que el usuario puede iniciar sesión con otro token de autenticación (por ejemplo, una clave SSH).--disabled-passwordopción dadaadduser? ¿Crear un usuario sin--disabled-passwordy luego ejecutarpasswd -len ese usuario logra el mismo resultado que ejecutaraddusercon--disabled-passworden primer lugar?La página de manual de
passwd(1)dice sobrepasswd -l:Entonces
Me parece la forma correcta de deshabilitar una cuenta que un usuario ya no debería poder usar (por ejemplo, porque dejó la empresa).
fuente
passwd -lbloquea lasshconexión de un usuario, ¡yusermod --expiredate 1no lo hace!passwd -lya no bloquea lassshconexiones de un usuario, yusermod --expiredate 1 usersí bloquea. Perman passwdtambién puede usarchage -E 0 userpara bloquear a un usuario. Después de aplicarusermodochagepuedo hacerlosudo su userusermod --expiredate 0 [LOGIN]también funciona, establece la fecha de vencimiento al 1 de enero de 1970, mientras que un 1 establece esto al 2 de enero de 1970.Hay dos métodos para evitar que un usuario pueda iniciar sesión:
/etc/passwdpasswdcomando con el-linterruptorEn el segundo caso, el usuario puede iniciar sesión utilizando otro token de autenticación (por ejemplo, una clave SSH).
Método 1
vi /etc/passwdAhora está en el
passwdarchivo, presione Inspara editar el archivo.Cambie la línea a continuación con la
nologinopción (/bin/bashsignifica que el usuario puede iniciar sesión).a esto.
nologinsignifica que el usuario no puede iniciar sesión.(o con / bin / sbin / nologin)
Método 2
Para bloquear al usuario:
passwd -l usernamePara desbloquear usuario:
passwd -u usernamefuente
/usr/sbin/nologinlugar de/bin/nologin.Es una tarea bastante fácil, simplemente tiene que hacer algunos cambios en el
/etc/passwdarchivo.Simplemente tiene que cambiar el shell, que generalmente es por defecto,
/bin/bashes decir, puede iniciar sesión con este shell, cámbielo a/bin/nologino/bin/false. Es recomendable cambiarlo a/bin/nologinporque/bin/falseestá desactualizado.fuente
Establecer
/bin/falsecomo un shell en/etc/passwdfuente
/bin/false, se evita usar su para actuar como ese usuario. Además, el uso/bin/falseno produce ningún error ni otro indicio de lo que salió mal: en los casos en que uno quiera evitar que incluso su se use para obtener un shell como ese usuario, el shell debe cambiarse por el/sbin/nologinque produce un error.sues todavía posible para los usuarios con/bin/falseconchas enpasswd- sólo tiene que utilizar la opción--shell:su - --shell /bin/sh bogus./usr/sbin/nologintiene el mismo efecto que/bin/false, pero también muestra un mensaje informativo útil.Cuando bloqueamos al usuario usando el
passwd -l usercomando, "!!" se indican en el/etc/shadowarchivo. Pero aún podemos cambiar a un shell de usuario desde la cuenta raíz, pero no podemos cambiar a la cuenta de usuario por el shell de inicio de sesión de otros usuarios normales.También podemos desactivar la cuenta proporcionando
/bin/nologino/bin/falseen el/etc/passwdarchivo. Por lo tanto, es posible que el usuario no pueda iniciar sesión.fuente
Puedes usar el comando
fuente