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
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»/]
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!