Administración de cuotas en Linux

En GNU/Linux se administran las cuotas con el comando edquota, donde le asignamos espacio a los diferentes usuarios en un archivo de configuración. Pero para llegar a este punto, necesitamos decirle al sistema que queremos que una determinada partición funcione con cuotas de disco.

1. Editar el /etc/fstab

Editamos (como root) el fichero de /etc/fstab, que es donde están todos las particiones y discos disponibles.

# vi /etc/fstab

Luego, añadimos en la columna options y en su correspondiente fila, las opciones usrquota y grpquota. Suponer que queremos habilitar la partición /home para la administración de quotas.

/dev/hda6  /home  ext3  defaults,usequota,grpquota 1 2

Ahora tenemos 2 posibilidades:
  • Reiniciar.
  • Ejecutar: mount -o remount /home

2. Crear la base de datos de cuotas

Ahora, necesitamos crear unos archivos especiales que contiene la base de datos de cuotas de los usuarios. Para hacer esto, ejecutamos el comando quotacheck

# quotacheck -a /dev/hda6

Tras ejecutar este comando, se crea en la partición seleccionada 2 ficheros: aquota.user y aquota.group. Éstas son las bases de datos que hablamos antes.


3. Habilitar/deshabilitar cuotas

Podemos habilitarla cuotas con el comando quotaon y deshabilitarlas con el comando quotaoff. Por ejemplo

# quotaon -uvg /home
/dev/sda6 [/home]: group quotas turned on
/dev/sda6 [/home]: user quotas turned on

De la misma forma, usamos el comando quotaoff.

4. Asignar cuotas a los usuarios

Vamos a lo más importante, asignarle un espacio en disco. Es una tarea muy sencilla y se hace con el comando edquota. Este comando edita un fichero de configuración donde le asignaremos el espacio que queramos. Aquí hay que tener en cuenta 2 cosas. Límite suave (soft), y límite duro (hard). El límite duro e estricto, le negará al usuario la capacidad de exceder esta cuota, mientras que si excede el un límite suave o flexible, el sistema le dará una advertencia.

Ejemplo: asignar 20MB a un usuario user1

# edquota -u user1

Se nos abre un editor, nano, vim (el predeterminado del sistema).

Disk quotas for user user1 (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft$
  /dev/sda6                       100      20000      20000         22        0$


De la misma forma, también podemos asignar cuota de disco a grupos con la opción -g.

# edquota -g Grupo


Hay una opción interesante para replicar la cuota de disco de un usuario, y así no tener que ir uno por uno configurando su cuota. Es la opción -p. Por ejemplo, queremos que los usuarios user2, user3 y user4 tengan la misma configuración que user1.

# edquota -p user1 user2 user3 user4


5. Ver resumen de cuotas

Se pueden ver los resultados con el comando repquota (ejecutarlo como root). Éste genera un resumen del uso en disco de todos los usuarios y grupos.

# repquota -s /home

La opción -s es --human-readable y nos sale más legible (en MB, GB, etc).

Otro comando es quota -u user, para ver la cuota de un usuario en concreto.

6. Referencias:

1 comentarios:

Anónimo dijo...

Me gusto, esta interesante

Publicar un comentario en la entrada