Cuando tenemos dentro de un sistema muchos usuarios es frecuente que algunos sobrepasen el espacio de disco duro que hemos destinado para ellos, esto implica que debemos restringir el espacio máximo ocupado en disco para cada usuario, esto es, crear quotas, que impedirá que cualquier usuario dentro del sistema sobrepase el límite que se imponga para cada uno.

Preparación del Sistema

Para poder utilizar la quotas dentro del sistema el kernel que tengamos debe soportarlas, para eso habilitaremos el modulo llamado quota_v2 esto hará que nuestro sistema soporte la quotas dentro de él.

orion:~# modprobe quota_v2

Y seguido de esto instalaremos algunos paquetes para la adminitración de las quotas:

orion:~# apt-get install quota quotatool

Habilitar particiones

Ahora debemos definir cuales particiones del sistema queremos que soporten quotas, estas pueden ser por grupo o por usuario, si se realizan por grupo todos los usuarios del sistema que pertenescan a este grupo compartiran la misma quota, es decir, se sumará el espacio usado por los usuarios dentro del mismo grupo y cuando el grupo alcance el límite ninguno dentro del grupo podrá escribir más en el disco, mientras si es por usuario cada usuario tiene una quota personal.

Modificaremos el archivo /etc/fstab y colocaremos en las opciones de montaje usrquota o grpquota esto habilitará en esta partición las quotas para usuario y para grupo respectivamente.

proc            /proc           proc    defaults                              0       0 
/dev/hdb1       /               ext3    errors=remount-ro,usrquota,grpquota   0       1
/dev/hda5       /usr            ext3    defaults                              0       2
/dev/hda6       /home           ext3    defaults,usrquota                     0       2
/dev/hdc2       /var/mail       ext3    defaults,usrquota                     0       2
/dev/hda7       /compartido     ext3    defaults,grpquota                     0       2

y luego volveremos a montar las particiones:

orion:~# mount -o remount /home
orion:~# mount -o remount /var/mail
orion:~# mount -o remount /compartido

Luego se deben crear los archivos aquota.user quota.user para quotas por usuarios y aquota.group quota.group para quotas por grupos dentro de cada partición, es alli donde el sistema almacenará la información de las quotas.

orion:~# quotacheck -acug

y posteriormente periodicamente para verificar el estado de las quotas se realiza con

orion:~# quotacheck -avug

Activando Quotas

Para activar y desactivar las cuotas dentro de sistema se utiliza quotaon y quotaoff

orion:~# quotaon /home
orion:~# quotaon /var/mail
orion:~# quotaon /compartido

Definir Quotas para un usuario

Para definir las quotas se puede hacer primero por el tamaño o también se puede hacer por el número de archivos creados, esto permite tener un manejo más granular de las particiones. Para definir las quotas del usuario gusang se utiliza edquota

orion:~# edquota -u gusang

Disk quotas for user gusang (uid 1702):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/hdb1                         1          0          0          1        0        0
  /dev/hda6                         0          0          0          0        0        0
  /dev/hdc2                         0      17000      20000          1        0        0

La columna de soft hace referencia al límite para realizar un aviso e informar que pronto llegará al limite permitido definido por la columna de hard. El primer soft y hard que se encuentran se refiere a que el usuario puede colocar en /dev/hdc2 un total de 20MB aproximadamente de información pero cuando llegue a los 17MB el sistema le avisa que pronto llegará al límite; y el segundo soft y hard se refieren al número máximo de archivos que podrá colocar en la partición. Nota:Las columnas de soft y hard que tengan '0' se refiere que alli no se encuentra una quota definida.

Copiar quotas de otro usuario

Es posible que querramos copiar la quota de un usuario a otro para un esquema homogeneo dentro del sistema, y que muchos otros usuarios tengan la misma quota dentro del sistema. Por ejemplo, para hacer que 300 usuarios tengan el mismo esquema, se podría emplear un script de shell para acelerar el proceso..

la forma de utilizar es edquota -p usuarioplantilla -u usuario

orion:~# edquota -p gusang -u guest

Mostrar Quotas

Para poder visuarlizar las quotas definidas para un usuario dentro del sistema:

orion:~# quota -u gusang
Disk quotas for group gusang (gid 1001):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hdc2   27824   17000   20000             532       0       0

Para realizar una lista de todas las quotas del sistema utilize repquota. esto generará un reporte con todos los usuarios y las quotas que tiene ellos dentro del sistema

orion:~# repquota -a

Algunos Enlaces


CategoriaAyudas CategoriaDebian

ManejoDeQuotas (last edited 2009-07-15 15:27:29 by localhost)