•
Bloquear el acceso de un usuario al sistema
Para bloquear el acceso de un determinado usuario al sistema se puede hacer de muchas formas, quiza la más elegante es mediante usermod. Pero hay un detalle importante que se puede pasar con facilidad: Que pasa con las claves ssh?
Mediante usermod podemos bloquear un usuario:
# usermod -L jprats
Y desbloquear el usuario:
# usermod -U jprats
Este comando lo que hace es añadir una admiración delante de la hash de la contraseña del shadow:
# cat /etc/shadow | grep jprats jprats:$1$xDPXDXDXDwM$1/e1234.SLOL/LOLx.:14281:0:99999:7::: # usermod -L jprats # cat /etc/shadow | grep jprats jprats:!$1$xDPXDXDXDwM$1/e1234.SLOL/LOLx.:14281:0:99999:7::: # usermod -U jprats # cat /etc/shadow | grep jprats jprats:$1$xDPXDXDXDwM$1/e1234.SLOL/LOLx.:14281:0:99999:7:::
Aún así, si se han habilitado las claves ssh sigue pudiendo entrar, por lo que siempre que bloqueemos un usuario deberemos deshabilitar las claves ssh que tenga dicho usuario, por ejemplo, con un simple mv:
# mv ~jprats/.ssh ~jprats/nossh
Relacionados
Imprimir
•
3 comments to “Bloquear el acceso de un usuario al sistema”
•
2. July 2010 at 9:52 am :
¿Y no sería más fácil editando el /etc/passwd y poniendo en el último campo el “/sbin/nologin”?
Sí es elegante la forma que propones, pero con esto (creo que) no generas el “problema” de las claves SSH.
2. July 2010 at 10:28 am :
En el caso que propones del /sbin/nologin el problema es que aún podrías hacer tuneles ssh con la opción -N (No executar un comando en el sistema remoto, solo conectar)
22. July 2010 at 11:20 am :
Creo que también tendrías que mirar su cola de cron,los procesos que tiene corriendo, su public_html, … No vaya a ser que deje alguna vía de entrada.