#!/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;
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).
No hay comentarios:
Publicar un comentario
Las "disonancias gramaticales" no son bien recibidas en este blog así que, por favor, respeta la ortografía.
Nuestros ojos lo agradecerán.