Sei sulla pagina 1di 6

Sistemas operativos en red Ciclos formativos de Informtica Arturo Martn Romero

CUENTAS DE USUARIO, ACL y CUOTAS DE ESPACIO EN DISCO en GNU/LINUX


La administracin de cuentas de usuario en GNU/Linux puede realizarse a travs de aplicaciones en modo grfico (GUI, Graphics User Interface) o en modo comando (CUI, Command User Interface). En relacin a estas aplicaciones GUI indicar que son dependientes de la distribucin de GNU/Linux con la que se este trabajando, lo que implica que el nombre de dicha aplicacin y su aspecto ser diferente en cada una de ellas. Por contra, los comandos GNU/Linux utilizados en la gestin de cuentas de usuario son independientes de la distribucin, razn por la cual, la prctica har uso de ello. 1.- Gestin de cuentas de usuario y grupos de usuarios en GNU/Linux: useradd, usermod userdel, groupadd, groupmod y groupdel. [root@linux]# useradd -d directorio HOME -s SHELL \ -g grupo usuarios -G grupos secundarios nombre usuario [root@linux]# useradd -d /home/dominio/usuario1 -s /bin/bash \ -g dominio -G empleados,gestores usuario1 Advertencia!! Como es lgico, para poder agregar una cuenta de usuario dentro de un grupo de usuarios del sistema GNU/Linux es necesario que ese grupo exista ya. En caso contrario ser necesario crearlo previamente mediante la aplicacin groupadd. [root@linux]# usermod -d directorio HOME -s SHELL \ -g grupo usuarios -G grupos secundarios nombre usuario [root@linux]# usermod -G administradores usuario1 [root@linux]# userdel nombre grupo [root@linux]# userdel usuario1 [root@linux]# groupadd nombre grupo [root@linux]# groupadd sercretaria [root@linux]# groupmod -n nuevo nombre grupo nombre grupo [root@linux]# groupmod -n gestion secretaria [root@linux]# groupdel nombre grupo [root@linux]# groupdel gestion 2.- Listas de control de acceso en GNU/Linux: Una de las mayores limitaciones que presenta GNU/Linux es la correspondiente a la administracin de la seguridad y gestin de los permisos asociados a los archivos y directorios del sistema de ficheros. Por defecto, esta gestin se reduce a poder controlar los permisos de lectura (r, read), escritura (w, write), y ejecucin (x, execute) correspondientes al usuario, al grupo de usuarios asignados a un fichero o directorio y al resto de usuarios. Estos permisos pueden consultarse ejecutando el comando ls en formato largo ls -l:

ARTURO MARTIN ROMERO IES RIO ARBA Curso 2009/2010 1

Sistemas operativos en red Ciclos formativos de Informtica Arturo Martn Romero [root@linux]# ls -l -rw-rw---1 arturo administradores drwxrwxr-x 2 arturo usuarios lrwxrwxrwx 1 arturo usuarios tipo d l permisos rw-rw---rwxrwxr-x rwxrwxrwx enlaces propietario duros 1 2 1 arturo arturo arturo 51470 2009-07-20 09:34 4096 2009-07-22 12:29 7 2009-10-22 08:21 grupo tamao archivo.conf videos/ enlace1 -> /tmp/tmp.txt fecha/hora 2009-07-20 09:34 2009-07-22 12:29 2009-10-22 08:21 nombre archivo.conf videos/ enlace1

administradores 51470 usuarios usuarios 4096 7

Para gestionar estos permisos, el propietario y el grupo de propietarios, en GNU/Linux se hace uso de los comandos chmod, chown y chgrp. Algunos ejemplos: Para modificar los permisos de un archivo de tal forma que el usuario propietario pueda leer y escribir (modificar) sobre l, el grupo de propietarios tan slo leer, y el resto de usuarios ni siquiera leer su contenido: [root@linux]# chmod u+rw-x,g+r-wx,o-rwx nombre fichero Para modificar los permisos de un directorio de tal forma que nicamente pueda acceder a su contenido (permiso de ejecucin, x), ver su contenido (permiso de lectura, r), y escribir en l (permiso de escritura o modificacin, w) sea el propietario del directorio pero nadie ms: [root@linux]# chmod u+rwx,g-rwx,o-rwx nombre directorio Para cambiar de usuario propietario o grupo de propietarios de un archivo o directorio: [root@linux]# chown nombre usuario nombre fichero/nombre directorio [root@linux]# chgrp nombre grupo nombre fichero/nombre directorio En el caso de que queramos que el cambio sea recursivo, de tal forma que afecte al directorio indicado y todo lo que este contenga, se har uso de la opcin -R: [root@linux]# chown -R nombre usuario nombre directorio [root@linux]# chgrp -R nombre grupo nombre directorio Como se puede advertir de lo anterior, la concesin de privilegios a usuarios y grupos sobre archivos y directorios esta muy limitada. Es decir, si quisiramos especificar que sobre un archivo o directorio diferentes usuarios y grupos, tuvieran a su vez distintos privilegios, por defecto en GNU/Linux sera imposible. Para suplir esta carencia se hace uso de Listas de Control de Acceso, ACL. Estas nos van a permitir asignar una lista de nombres de usuarios y grupos con sus privilegios de manera individualizada.

ARTURO MARTIN ROMERO IES RIO ARBA Curso 2009/2010 2

Sistemas operativos en red Ciclos formativos de Informtica Arturo Martn Romero 2.1.- Comprobacin de que nuestro Kernel admite ACL para los distintos sistemas de ficheros soportados por GNU/Linux (ext3, ext4, jfs, xfs, nfs, etc): [root@linux]# more /boot/config-`uname -r` | grep ACL CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT4DEV_FS_POSIX_ACL=y CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_JFS_POSIX_ACL=y CONFIG_FS_POSIX_ACL=y CONFIG_XFS_POSIX_ACL=y CONFIG_GENERIC_ACL=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_NFS_V3_ACL=y CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3_ACL=y CONFIG_NFS_ACL_SUPPORT=m 2.2.- Instalar el paquete software acl. Utilidades de gestin de las listas de control de acceso getfacl y setfacl. [root@linux]# apt-get install acl 2.3.- Editar el fichero /etc/fstab para activar las ACL en las particiones deseadas de manera permanente: /dev/partition /punto/de/montaje ext4 defaults,acl 0 2 Otra opcin sera montar la partcin manualmente. Si quisiramos activarlos nicamente de manera temporal para la sesin en en que nos encontramos ejecutaramos el siguiente comando: [root@linux]# mount -t ext4 /dev/partition -o defaults,acl /punto/de/montaje Por tlimo, deberemos rehacer el montaje para que surtan efectos los cambios realizados en /etc/fstab (slo en el caso de que no hayamos realizado el montaje manualmente mediante mount): [root@linux]# mount o remount /punto/de/montaje 2.4.- Ejemplos de utilizacin de las herramientas de gestin de las listas de control de acceso: getfacl para conocer las ACL de un directorio (con -R de manera recursiva, la de sus subdirectorios), y setfacl para asignar una ACL a un directorio (con -R de manera recursiva a todos sus subdirectorios). Advertir que no es necesario que sea el usuario root el que haga uso de estas herramientas de gestin, sino el mero propietario del archivo o directorio. [usuario@linux]$ getfacl nombre directorio [usuario@linux]$ getfacl -R nombre directorio

ARTURO MARTIN ROMERO IES RIO ARBA Curso 2009/2010 3

Sistemas operativos en red Ciclos formativos de Informtica Arturo Martn Romero En setfacl, la opcin -m nos deja modificar las ACL, la -x las elimina para un usuario, y -b elimina todas las ACL impuestas sin excepcin, dejando nicamente los permisos nativos del sistema. El comando chacl es equivalente a setfacl -m (en el caso de querer modificar las ACL de un directorio, -m, y que adems tenga un efecto recursivo sobre todos sus subdirectorios, -R, se expecificar, -Rm, primero R y luego m; de igual forma con el resto de opciones). [usuario@linux]$ setfacl -m user:nombre_usuario:r-x nombre_directorio|nombre_archivo [usuario@linux]$ setfacl -Rm user:nombre_usuario:r-x nombre_directorio [usuario@linux]$ setfacl -m u:nombre_usuario:r-x nombre_directorio|nombre_archivo [usuario@linux]$ setfacl -Rm group:nombre_grupo:r-x nombre_directorio [usuario@linux]$ setfacl -Rm g:nombre_grupo:r-x nombre_directorio [usuario@linux]$ setfacl -Rm user:nombre_usuario:r-x,user:otro_nombre:rwx,... nombre_direc [usuario@linux]$ setfacl -x user:nombre_usuario nombre_directorio [usuario@linux]$ setfacl -Rx user:nombre_usuario nombre_directorio [usuario@linux]$ setfacl -b nombre_directorio [usuario@linux]$ setfacl -Rb nombre_directorio 2.5.- Para guardar la lista ACL asignadas y restaurarlas posteriormente: [usuario@linux]$ getfacl -R /ruta/directorio > /ruta/get_rep.acl [usuario@linux]$ setfacl --restore=/ruta/get_rep.acl 3.- Por ltimo aprenderemos a asignar cuotas de espacio en disco para que cada usuario pueda hacer uso del espacio existente en las particiones de nuestro disco de manera racionada.
IMPORTANTE!! Para establecer cuotas de espacio en disco en GNU/Linux es necesario instalar el paquete software quota (p.e., urpmi quota). Mediante este software pueden establecerse lmites a nivel de bloque (nmero de KBytes) o inodo (nmero de archivos), o ambos. Al igual que en Windows estas se establecen a nivel de particin de disco (el comando mount sin argumentos nos informa de ellas). Para indicar sobre que particiones se van a establecer las cuotas ser necesario editar el fichero /etc/fstab y agregar los parmetros usrquota y grpquota en su cuarta columna. Despus, ser necesario rehacer el montaje de aquellas particiones afectadas en el fichero fstab, p.e., mount o remount /. Ejecutando ls l raz_paticin deberan aparecer los archivos aquota.user y aquota.group que nos advierten de la habilitacin de cuotas. Algunos de los comandos ms importantes relacionados con cuotas:

3.1.- Instalacin del paquete software RPM quota (posteriormente instalaremos quotatool para gestionar las cuotas de quota de una manera ms sencilla):
[root@linux]# apt-get install quota

3.2.- Editar el fichero /etc/fstab para activar las cuotas de espacio en dispo en las particiones deseadas de manera permanente: /dev/partition /punto/de/montaje ext4 defaults,acl,usrquota,grpquota 0 2 Si quisiramos activarlas nicamente de manera temporal para la sesin en en que nos encontramos ejecutaramos el siguiente comando: [root@linux]# mount -t ext4 /dev/partition -o defaults,acl,usrquota,grpquota /punto/de/montaje 3.3.- Rehacer el montaje (para que surtan efectos los cambios realizados en /etc/fstab, y no
ARTURO MARTIN ROMERO IES RIO ARBA Curso 2009/2010 4

Sistemas operativos en red Ciclos formativos de Informtica Arturo Martn Romero hayamos realizado el montaje manualmente mediante mount): [root@linux]# mount o remount /punto/de/montaje [root@linux]# ls l raz_paticin 3.4.- Ahora la particin o punto de montaje ya esta preparada para soportar cuotas, pero antes de activarlas, deberemos chequear antes el sistema de cuotas: quotacheck, quotaon, quotaoff. [root@linux]# quotacheck augmv chequea los sistemas de archivos que tienen configuradas cuotas. Verifica y repara el control de cuotas (-a, todos los sitemas, -u, por usuario, -g, por grupo, -m, evita su desmontaje, -v, modo verboso). [root@linux]# quotacheck ugmv /punto/de/montaje chequea nicamente la particin o sistema de archivos indicado, /punto/de/montaje. Ahora ya las podremos activar o desactivar segn deseemos (en el caso de que queramos que otra particin soporte cuotas, deberemos modificar nuevamente el fichero /etc/fstab, remontar dichar particin, y volver a chequear el sistema de cuotas, pero antes ser necesario desactivar el sistema de cuotas si ya esta activado para alguna otra particin para que la verificacin sea exitosa): [root@linux]# quotaon -avug activa el sistema de cuotas sobre todos los puntos de montaje que lo soporten, -a, en modo verboso, -v, tanto para cuotas de ususario, -u, como de grupo, -g. [root@linux]# quotaon -ugv /home activa el sistema de cuotas para usuarios y grupos sobre el sistema de archivos o particin indicada. [root@linux]# quotaoff -v /home desactiva el sistema de cuotas sobre el sistema de archivos o particin indicada. 3.5.- A continuacin se mostrar como utilizar las distintas herramientas de gestin de cuotas de que se dispone con la instalacin de quota: edquota, quota y repquota (no obstante, una mejor opcin es hacer uso de la herramienta software quotatool; ver 3.6). [root@linux]# edquota -u nombre_usuario f sistema_ficheros edita las cuotas sobre el sistema de ficheros indicado para el usuario deseado. [root@linux]# edquota -u nombre_usuario edita las cuotas para el usuario indicado sobre todos los sistemas de archivos que tengan habilitado el sistema de cuotas previamente mediante quotaon. [root@linux]# edquota -g nombre_grupo igual que con la opcin -u pero a nivel de grupos de usuarios. [root@linux]# quota s -u nombre_usuario verifica las cuotas de disco establecidas para el usuario indicado. [root@linux]# quota s -g grupo_usuarios verifica las cuotas de disco establecidas para el grupo indicado. [root@linux]# quota verifica las cuotas del usuario que tiene activa la sesin. [root@linux]# repquota s sistema_ficheros reporte global de las cuotas de todos los usuarios. [root@linux]# repquota sg sistema_ficheros reporte global de las cuotas de todos los usuarios y grupos. [root@linux]# repquota sga reporte global de las cuotas de todos los usuarios y grupos sobre todos los sistemas de ficheros que tienen habilitadas las cuotas. [root@linux]# edquota t establece un tiempo de gracia a nivel global. Este empieza a tenerse en cuenta a partir del momento en que un usuario se salta el lmite SOFT. [root@linux]# edquota u nombre_usuario T establece un tiempo de gracia para el usuario
ARTURO MARTIN ROMERO IES RIO ARBA Curso 2009/2010 5

Sistemas operativos en red Ciclos formativos de Informtica Arturo Martn Romero indicado, siendo este obligatoriamente menor al global. [root@linux]# edquota p usuario1 usuario2 usuario3 establece la cuota del usuario usuario1 como prototipo (-p) para el resto de usuarios. Es una forma de replicar cuotas de manera generalizada. [root@linux]# warnquota avisa a los usuarios por mensajera que hayan excedido las cuotas en su nivel suave, SOFT. En /etc/warnquota.conf podemos configurar los mensajes que se enviarn a estos usuarios. 3.6.- Otra forma de gestionar las cuotas es mediante quotatool. Esta nos facilitar muchsimo su gestin:
[root@linux]# apt-get install quotatool

Mediante las opciones de quotatool podremos establecer la cuota deseada: -u | -g indicaremos el nombre del usuario o grupo de usuarios al que deseamos que le afecte la cuota. -b, para indicar cual ser el lmite a establecer en relacin al mximo espacio en disco (bloques) que se podr ocupar. -i, para indicar cual ser el lmite a establecer en relacin al mximo nmero de ficheros (inodos) que se podrn crear. -q, para establecer un lmite blando. Una vez sobrepasado este lmite, se empezar a contabilizar el tiempo o periodo de gracia, durante el cual el usuario podr seguir guardando informacin, o almacenando ficheros, hasta que se alcance el lmite duro. Transcurrido ese tiempo, el usuario ya no podr guardar ms informacin en la particin correspondiente hasta que no reduzca su ocupacin por debajo de la cantidad establecida como lmite blando. -l, para establecer un lmite duro. -t, para establecer un tiempo de gracia.
[root@linux]# quotatool -u|-g nombre_usuario|grupo -b|-i -q limite_blando /punto/de/montaje [root@linux]# quotatool -u|-g nombre_usuario|grupo -b|-i -l limite_duro /punto/de/montaje [root@linux]# quotatool -u|-g -b|-i -t tiempo_gracia /punto/de/montaje [root@linux]# quotatool -u arturo -b -q 500MB /mnt/datos [root@linux]# quotatool -u arturo -b -l 700MB /mnt/datos [root@linux]# quotatool -u arturo -i -q 100000 /mnt/datos [root@linux]# quotatool -u arturo -i -l 100500 /mnt/datos [root@linux]# quotatool -u -b -t 5 days /mnt/datos

ARTURO MARTIN ROMERO IES RIO ARBA Curso 2009/2010 6

Potrebbero piacerti anche