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 0Para 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

