Cuotas de disco por usuarios y grupos específicos – Parte 2

En el post anterior («Cuotas de disco por usuarios y grupos – Parte 1«) explicamos cómo obtener el UUID de un dispositivo de almacenamiento formateado con ext4 y la manera de editar /etc/fstab para montarlo con las opciones usrquota y grpquota. En esta oportunidad veremos cómo establecer las cuotas de disco por usuarios y grupos específicos.

Cómo calcular las cuotas de disco por usuarios y grupos específicos

Para otorgarle al usuario alumno una cuota de 10 MB (irreal, por cierto, pero bastará para nuestras demostraciones), utilizaremos el comando

[pastacode lang=»bash» manual=»edquota%20-u%20alumno» message=»» highlight=»» provider=»manual»/]

A continuación se abrirá el archivo de configuración de cuotas para el usuario alumno, donde deberemos colocar los siguientes valores (ver Fig. 1):

/dev/mapper/vg00-vol_backups 0            9000       10000    0          15       25
Estableciendo cuotas de uso de disco por usuarios y grupos
Figura 1: Estableciendo cuotas de uso de disco por usuarios y grupos

Veamos el significado de cada campo:

  • Filesystem indica el dispositivo en cuestión.
  • blocks representa la cantidad de bloques de 1024 bytes (1k) utilizados en el sistema de archivos por el usuario alumno.
  • soft es el límite inferior de bloques del que el usuario puede disponer antes de recibir una advertencia. Si luego de 7 días (período de gracia por defecto) de haber recibido la misma no se ha liberado espacio, el límite soft se convierte en hard (ver abajo).
  • hard es el límite superior de uso del dispositivo. Por encima de este valor no se puede continuar escribiendo en el mismo hasta liberar espacio.
  • inodes es la cantidad de nodos-i (que representan la cantidad de archivos propiedad del usuario alumno) actualmente utilizados.
  • soft límite inferior de nodos-i.
  • hard límite superior de nodos-i.

Desmontemos el dispositivo, volvamos a montarlo, y habilitemos las cuotas de usuario en el punto de montaje:

[pastacode lang=»bash» manual=»umount%20%2Fhome%2Fbackups%0Amount%20%2Fhome%2Fbackups%0Aquotaon%20-vu%20%2Fhome%2Fbackups» message=»» highlight=»» provider=»manual»/]

Veamos en la Fig. 2 qué sucede si el usuario alumno intenta guardar un archivo de 15 MB en /home/backups (punto de montaje de /dev/mapper/vg00-vol_backups):

[pastacode lang=»bash» manual=»dd%20if%3D%2Fdev%2Fzero%20of%3D%2Fhome%2Fbackups%2Fprueba.iso%20bs%3D15M%20count%3D1″ message=»» highlight=»» provider=»manual»/]

Intento de crear un archivo con tamaño mayor al permitido por la cuota de usuario
Figura 2: Intento de crear un archivo con tamaño mayor al permitido por la cuota de usuario

Como podemos ver, el archivo quedó truncado en el límite hard establecido para el usuario alumno en /home/backups.

Para establecer el límite para grupos se procede de la misma manera, únicamente que utilizaremos

[pastacode lang=»bash» manual=»edquota%20-g%20alumno%20%23%20Editar%20las%20cuotas%20del%20grupo%0Aquotaon%20-vg%20%2Fhome%2Fprojects%20%23%20Para%20habilitar%20las%20cuotas» message=»» highlight=»» provider=»manual»/]

Por último, para cambiar el período de gracia se debe utilizar

[pastacode lang=»bash» manual=»edquota%20-t» message=»» highlight=»» provider=»manual»/]

y cambiar el valor y la denominación del intervalo de tiempo por el deseado. El valor por defecto (7days) puede reemplazarse por una cantidad X y las palabras claves seconds, minutes, hours, days, weeks, o months (segundos, minutos, horas, días, semanas, o meses, respectivamente). De esta manera, 2weeks cambia el período de gracia a 2 semanas.

Espero que les sirva. ¡Hasta la próxima!

Deja una respuesta