A veces necesitamos desactivar una cuenta de usuario en un servidor Linux, para que no se apueda acceder con ese usuario temporalmente. Hablamos de desactivar la cuenta, no de borrar usando el comando ‘userdel‘, que en ese caso elimina la cuenta del sistema, borrando del archivo :’/etc/passwd’ la configuración del usuario, y la contraseña cifrada en el archivo ‘/etc/shadow’. Además de eliminar los datos del usuario en : ‘/home/usuario’
Para desactivar de manera temporal un usuario en un sistema GNU/Linux, podemos usar el comando :
# passwd -l usuario
Que lo que hace es bloquear la cuenta que indicamos, por medio de poner el signo (!) delante de la contraseña cifrada, e impedir acceso con esa cuenta al sistema. Podemos también hacer lo mismo para bloquear un usuario, editando manualmente el archivo : ‘/etc/shadow’ , donde localizamos el nombre de usuario y en el segundo campo de datos, que es la contraseña cifrada insertamos el signo ‘*’. Con esto el usuario no puede tener acceso en el sistema
Para activar la cuenta de usuario que hemos bloqueado con el comando anterior usamos:
# passwd -u usuario
O en sus caso, eliminar el signo ‘*’ del fichero ‘/etc/shadow’ si lo editamos manualmente para bloquear al usuario o cuenta.
Buenos días:
En mi caso requiero establecer una regla que deshabilite, de forma autómatica, las cuentas de usuario que no sean usadas en 180 días.
Si tienen alguan idea la agradezco.
Hola Victor,
Con el comando usermod y opción -e lo que se puede es indicar una fehca en la que caduca la cuenta:
-e fecha de expiración de la cuenta, formato AAAA-MM-DD, campo 8 de /etc/shadow
Pero para lo que quieres, me parece que lo ideal es hacer un script, que comprueba las cuentas, y lo añades al cron del sistema para que se ejecute a diario o semanal y deshabilite las cuentas sin uso desde hace 180 días.
Se puede obtener esta información mediante :
#finger ‘sort /etc/passwd | cut -f1 -d»:»‘ | grep -i log | more
o también:
# lastlog | more
¡Saludos!
What an awesome way to explain this-now I know eeyvrthnig!