Baja de usuarios

En este script tan sólo necesitamos hacer uso de la función Linux::usermod->del, la cual elimina el usuario pasado por parámetro en la variable $usuario.

Previamente eliminamos todo su directorio home con la orden rmtree, la cual elimina todos los ficheros y directorios (de forma recursiva) que se encuentren por debajo de la raíz que le pasamos como parámetro.. Los parámetros que se le pasan son:

    - $ruta -> Raíz del directorio que queremos eliminar (en nuestro caso, el directorio home del usuario, p.e. para el usuario prueba sería: /home/prueba el contenido de dicha variable.
    - El segundo parámetro (booleano) si se encuentra a true nos irá listando los archivos y directorios que se irán borrando a medida que se vaya ejecutando la orden.
    - El tercer valor pasado a dicha función es también un boolean que, a true, garantiza que no se borrarán aquellos ficheros para los cuales no tenemos permisos (en el caso de ejecutar el script como root obviamente siempre tendremos permiso).
This commit is contained in:
parra 2016-05-18 15:00:14 +02:00
parent f016e73a0c
commit 24f32b6d3b
1 changed files with 39 additions and 0 deletions

39
baja_usuarios.pl Normal file
View File

@ -0,0 +1,39 @@
#!/usr/bin/perl
# Script que permite dar de baja un usuario.
# Author: Víctor Parra [parra@usal.es]
# AVISO: Requiere permisos de root
# Es necesario instalar el File::Path y el Linux::usermod
# ># perl -MCPAN -e 'install File::Path'
# ># perl -MCPAN -e 'install Linux::usermod'
# Parámetros:
# - [nombre_del_usuario] -> Nombre del usuario
$args=@ARGV;
if ($args < 1)
{
print "\n";
print "Uso: $0 [nombre_del_usuario]\n";
print "\n";
print "\n";
die "Abortando";
}
$ruta="/home/" . $ARGV[0] . "/";
$usuario=$ARGV[0];
use Linux::usermod;
use File::Path;
print "Borrando el directorio $ruta...\n";
rmtree($ruta, 1, 1 ) or die "rmtree: $!\n";
Linux::usermod->del($usuario) or die "Deluser: $!\n";
print "\nUsuario $usuario borrado con éxito\n";
print "\n";
exit;