mirror of
https://github.com/parrazam/perl.git
synced 2024-11-23 11:49:17 +01:00
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:
parent
f016e73a0c
commit
24f32b6d3b
1 changed files with 39 additions and 0 deletions
39
baja_usuarios.pl
Normal file
39
baja_usuarios.pl
Normal 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;
|
Loading…
Reference in a new issue