En Linux, puedes configurar la cuota de disco usando uno de los siguientes métodos:
- Asignación de cuotas de disco basadas en el sistema de archivos
- Asignación de cuotas de disco basadas en usuarios o grupos
En la asignación de cuotas basada en usuario o grupo, los siguientes son tres factores importantes a considerar:
- Límite estricto: por ejemplo, si especificas 2 GB como límite estricto, el usuario no podrá crear nuevos archivos después de 2 GB
- Límite flexible: por ejemplo, si especificas 1 GB como límite flexible, el usuario recibirá un mensaje de advertencia “cuota de disco excedida”, una vez que alcance el límite de 1 GB. Pero, aún podrán crear nuevos archivos hasta que alcancen el límite total.
- Período de gracia: por ejemplo, si especificas 10 días como un período de gracia, después de que el usuario alcance su límite estricto, se le darán 10 días adicionales para crear nuevos archivos. En ese período de tiempo, deberían intentar volver al límite de la cuota.
1. Habilitar el control de cuotas en el sistema de archivos.
Primero, debes especificar qué sistema de archivos se permite para la verificación de cuotas.
Tienes que modificar el archivo /etc/fstab, y agregar la palabra clave usrquota y grpquota al sistema de archivos correspondiente que deseas monitorear.
El siguiente ejemplo indica que tanto la verificación de cuotas de usuario como de grupo está habilitada en /home filesystem
1 2 |
# cat /etc/fstab LABEL=/home /home ext2 defaults,usrquota,grpquota 1 2 |
Debes reiniciar el servidor después realizar el cambio anterior.
2. Comprobación de la cuota inicial en el sistema de archivos de Linux usando quotacheck
Una vez que hayas habilitado la verificación de cuotas de disco en el sistema de archivos, recopila toda la información de las cuotas inicialmente como se muestra a continuación.
1 2 3 4 5 |
# quotacheck -avug quotacheck: Scanning /dev/sda3 [/home] done quotacheck: Checked 5182 directories and 31566 files quotacheck: Old file not found. quotacheck: Old file not found. |
En el comando anterior:
- a: Verifica todos los sistemas de archivos habilitados para cuotas
- v: modo detallado
- u: Comprueba la cuota de disco del usuario
- g: comprueba la cuota de disco del grupo
El comando anterior creará un archivo aquota para el usuario y el grupo en el directorio del sistema de archivos como se muestra a continuación.
1 2 3 4 |
# ls -l /home/ -rw------- 1 root root 11264 Jun 21 14:49 aquota.user -rw------- 1 root root 11264 Jun 21 14:49 aquota.group |
3. Asignar cuota de disco a un usuario usando el comando edquota
Usa el comando edquota como se muestra a continuación, para editar la información de la cuota para un usuario específico.
Por ejemplo, para cambiar la cuota de disco para el usuario ‘cesar’, usa el comando edquota, que abrirá los valores de límite estricto y flexible en un editor como se muestra a continuación.
1 2 3 4 5 |
# edquota cesar Disk quotas for user cesar (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sda3 1419352 0 0 1686 0 0 |
Una vez que el comando edquota abre la configuración de cuota para el usuario específico en un editor, puedes establecer los siguientes límites:
- Límite flexible y estricto para el tamaño de la cuota de disco para el usuario en particular.
- Límite flexible y estricto para el número total de inodos permitidos para el usuario en particular.
4. Reportar el uso de cuotas de disco para usuarios y grupos usando repquota
Utiliza el comando repquota como se muestra a continuación para informar el uso de la cuota de disco para los usuarios y grupos.
1 2 3 4 5 6 7 8 9 10 |
# repquota /home *** Report for user quotas on device /dev/sda3 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 566488 0 0 5401 0 0 nobody -- 1448 0 0 30 0 0 ramesh -- 1419352 0 0 1686 0 0 john -- 26604 0 0 172 0 0 |
5. Agregar quotacheck al cron job diario
Agregar quotacheck al cron job diario. Debes crear un archivo de comprobación de como se muestra debajo en el directorio /etc/cron.daily, que ejecutará el comando quotacheck todos los días. Esto enviará la salida del comando quotacheck a la dirección de correo electrónico del usuario root.
1 2 |
# cat /etc/cron.daily/quotacheck quotacheck -avug |