Commit graph

3 commits

Author SHA1 Message Date
parra
24f32b6d3b 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).
2016-05-18 15:00:14 +02:00
parra
f016e73a0c Alta de usuarios
+ Debemos ejecutar el script pasándole como parámetros un nombre de usuario y la contraseña.

+ En $ruta almacenamos el directorio HOME que tendrá el usuario concatenando la cadena "/home" con el nombre del usuario (almacenado en $ARGV[0]) mediante el operador . (punto).

+ Indicamos que vamos a usar las librerías CPAN Linux::usermod y File::Copy mediante el comando use.

+ Creamos la carpeta home y le modificamos los permisos.

+ Creamos el usuario mediante el comando Linux::usermod->add pasándole como parámetros:
    - El nombre del usuario.
    - La contraseña.
    - El UID (lo dejamos en blanco para que asigne el correspondiente). OJO, hay que usar COMILLAS SIMPLES.
    - El GID (en nuestro caso 100, que se corresponde con el grupo "users" de Debian.
    - Los comentarios sobre el usuario (teléfono, nombre completo... etc.) También los dejamos en blanco mediante el uso de COMILLAS SIMPLES.
    - Obtenemos el usuario mediante Linux::usermod->new y lo almacenamos en la variable $user.
    - Modificamos el propietario y el grupo de la carpeta HOME del usuario mediante el comando chown pasándole como parámetros el UID del usuario (obtenido mediante $user->get(uid) ), el GID del grupo al que pertenece el usuario ($user->get(gid) ) y la ruta del directorio HOME.
    - Copiamos en dicho directorio los archivos del skel. El comando copy (obtenido de la librería File::Copy) tiene 2 parámetros: el primero que es la ruta por defecto donde están estos archivos, y el segundo el nombre del archivo donde lo queremos pegar (en nuestro caso es el directorio HOME concatenado con el nombre del archivo, de nuevo mediante el uso del operador .

+ Una vez hecho esto creamos una subcarpeta en el directorio HOME llamada public_html (que en mi práctica era necesaria para guardar los archivos de la página web del usuario). NO es obligatorio crearla, pero si necesitáis crear una subcarpeta (o varias) sería seguir esos pasos, cambiando obviamente el nombre de la carpeta por el que quisiérais.

Finalmente le damos permisos de quota al usuario de 5Mb (tamaño que me exigían en la práctica) ejecutando el comando setquota a pedal (acotándolo entre acentos graves `). Este comando se puede omitir si en vuestro script no vais a usar quotas. En caso de que sí fuera, los parámetros pasados son:
    - $usuario -> Le indicamos el usuario al que le vamos a asignar los permisos (con la opción -u delante).
    - Límite soft de bloque -> Espacio en bloques que el usuario no deberá sobrepasar si no quiere recibir un aviso.
    - Límite hard de bloque -> Espacio en bloques que el usuario NO podrá superar.
    - Límite soft de inodos -> Número máximo de inodos que podrá tener el usuario antes de recibir avisos de que se excede su quota.
    - Límite hard de inodos -> Número máximo de inodos que el usuario podrá tener en esa partición del sistema.
    - $ruta -> Ruta en la cual se aplicarán las quotas (en nuestro caso, se trata del directorio HOME del usuario, del que no podrá salir. Se especifica mediante la opción -a).
2016-05-18 14:58:35 +02:00
parra
6015f5b660 Initial commit 2016-05-18 14:53:30 +02:00