Digamos que creo un usuario llamado "falso" usando el adduser
comando. ¿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 bogus
no 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
-d
es 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 - user
como root.Alternativamente, puede lograr lo mismo anteponiendo a
!
a la contraseña del usuario/etc/shadow
(esto es todopasswd -l
detrás de escena). Ypasswd -u
deshacerá esto.fuente
passwd -l
opción, debe tener en cuenta que el usuario puede iniciar sesión con otro token de autenticación (por ejemplo, una clave SSH).--disabled-password
opción dadaadduser
? ¿Crear un usuario sin--disabled-password
y luego ejecutarpasswd -l
en ese usuario logra el mismo resultado que ejecutaradduser
con--disabled-password
en 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 -l
bloquea lassh
conexión de un usuario, ¡yusermod --expiredate 1
no lo hace!passwd -l
ya no bloquea lasssh
conexiones de un usuario, yusermod --expiredate 1 user
sí bloquea. Perman passwd
también puede usarchage -E 0 user
para bloquear a un usuario. Después de aplicarusermod
ochage
puedo hacerlosudo su user
usermod --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/passwd
passwd
comando con el-l
interruptorEn 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/passwd
Ahora está en el
passwd
archivo, presione Inspara editar el archivo.Cambie la línea a continuación con la
nologin
opción (/bin/bash
significa que el usuario puede iniciar sesión).a esto.
nologin
significa que el usuario no puede iniciar sesión.(o con / bin / sbin / nologin)
Método 2
Para bloquear al usuario:
passwd -l username
Para desbloquear usuario:
passwd -u username
fuente
/usr/sbin/nologin
lugar de/bin/nologin
.Es una tarea bastante fácil, simplemente tiene que hacer algunos cambios en el
/etc/passwd
archivo.Simplemente tiene que cambiar el shell, que generalmente es por defecto,
/bin/bash
es decir, puede iniciar sesión con este shell, cámbielo a/bin/nologin
o/bin/false
. Es recomendable cambiarlo a/bin/nologin
porque/bin/false
está desactualizado.fuente
Establecer
/bin/false
como un shell en/etc/passwd
fuente
/bin/false
, se evita usar su para actuar como ese usuario. Además, el uso/bin/false
no 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/nologin
que produce un error.su
es todavía posible para los usuarios con/bin/false
conchas enpasswd
- sólo tiene que utilizar la opción--shell
:su - --shell /bin/sh bogus
./usr/sbin/nologin
tiene el mismo efecto que/bin/false
, pero también muestra un mensaje informativo útil.Cuando bloqueamos al usuario usando el
passwd -l user
comando, "!!
" se indican en el/etc/shadow
archivo. 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/nologin
o/bin/false
en el/etc/passwd
archivo. Por lo tanto, es posible que el usuario no pueda iniciar sesión.fuente
Puedes usar el comando
fuente