Cómo establecer cuotas del sistema de archivos (disco) en Ubuntu

La cuota del sistema de archivos es una característica incorporada estándar que se encuentra en el kernel de Linux. Las cuotas determinan la cantidad de espacio que debe tener un archivo para admitir las actividades del usuario. Las cuotas de disco también limitan la cantidad de archivos que un usuario puede crear en el sistema.

Los sistemas de archivos que admiten el sistema de cuotas incluyen xfs, ext2, ext4 y ext3, por mencionar algunos. La asignación de cuotas es específica del sistema de archivos y de cada usuario. Este artículo contiene todo lo que necesita saber sobre cómo trabajar con el sistema de archivos de cuotas en un entorno Ubuntu 18.04 multiusuario .

Que necesitas

La suposición aquí es que está utilizando el sistema Ubuntu 18.04 con un usuario ( tecmint) con derechos de sudo. Las ideas compartidas aquí pueden funcionar en cualquier distribución de Linux siempre que utilice la técnica de implementación correcta.

Paso 1: Instalar Quota en Ubuntu

Para que las cuotas estén listas y sean utilizables, instale la herramienta de línea de comandos de cuotas con el comando apt, pero antes de eso, debe actualizar los paquetes de software del sistema.

$ sudo apt update

Ahora use el siguiente comando para instalar el paquete de cuotas en Ubuntu .

$ sudo apt install quota

Instalar Cuota en UbuntuInstalar Cuota en Ubuntu

Presione Yy luego ENTER para que comience el proceso de instalación.

Confirme la versión de instalación ejecutando el siguiente comando. Su número de versión puede diferir de lo que ve a continuación.

$ quota --version

Verificar la versión de la cuota en UbuntuVerificar la versión de la cuota en Ubuntu

Paso 2: Instalación del módulo para el kernel de cuotas

Aquellos que ejecutan un sistema virtual basado en la nube, la instalación predeterminada de Ubuntu pueden faltar los módulos del kernel que admiten el uso de cuotas. Debe confirmar con la herramienta de búsqueda y asegurarse de que los dos módulos, quota_v1 y quota _v2 , estén dentro del directorio / lib / modules .

$ find /lib/modules/`uname -r` -type f -name '*quota_v*.ko*'

Este debería ser el resultado del comando anterior.

Verifique los módulos de kernel de cuotasVerifique los módulos de kernel de cuotas

No se preocupe por las versiones del kernel siempre que los dos módulos estén presentes. Si no lo encuentra, use el siguiente comando para instalar los módulos del kernel de cuotas como se muestra.

$ sudo apt install linux-image-extra-virtual

Instalar módulos de kernel de cuotasInstalar módulos de kernel de cuotas

Obtendrá los módulos correctos que necesita para la implementación de cuotas.

Paso 3: Actualización de las opciones de montaje del sistema de archivos

Para que las cuotas estén activas en un sistema específico, debe montarse con opciones de cuotas relacionadas. Puede hacerlo actualizando la entrada del sistema de archivos que se encuentra en el archivo / etc / fstab .

$ sudo nano /etc/fstab

Debería estar preparado para editar el archivo de forma adecuada. La diferencia entre un archivo fstab y uno de escritorio es la diferencia en cómo el /sistema de archivos raíz o representa todo el espacio en disco. Reemplace la línea (/)que apunta al sistema raíz usando las líneas siguientes.

LABEL=cloudimg-rootfs   /        ext4   usrquota,grpquota        0 0

Las líneas cambiarán para permitir el acceso a userquota y grpquota . Puede dejar uno que no forme parte de la configuración final. Si el fstab tenía algunas opciones, agregue las nuevas opciones al final de la línea. Mientras realiza la adición, separe los elementos nuevos con una coma, pero sin espacios entre ellos.

Vuelva a montar el sistema de archivos para que los cambios surtan efecto.

$ sudo mount -o remount /

NOTA : confirme que no existen espacios entre las opciones en / etc / fstab para evitar tales errores.

mount: /etc/fstab: parse error

La verificación del uso de nuevas opciones al montar el sistema de archivos en el archivo / proc / mounts se realiza a través de grep . El comando muestra la entrada del sistema de archivos raíz en el archivo.

$ sudo cat /proc/mounts | grep ' / '

Verifique la entrada del sistema de archivos raíz en FstabVerifique la entrada del sistema de archivos raíz en Fstab

Desde la salida, puede ver las dos opciones que configuramos. Es hora de activar el sistema de cuotas.

Paso 4: Habilitación de cuotas de disco en Ubuntu

Primero, debe ejecutar el comando quotacheck .

$ sudo quotacheck -ugm /

El comando crea dos archivos, un usuario de cuota y un grupo de cuota que tienen información sobre el límite y el uso del sistema de archivos. Estos archivos deben estar presentes antes de comenzar a usar la cuota.

Aquí hay una definición de los parámetros:

  • -u: simboliza que se creará un archivo de cuota basado en el usuario.
  • -g: indica que se creará un archivo de cuotas basado en grupos.
  • -m: disables remounting of the file system as a read-only while at the same time gives accurate results in an environment where the user keeps saving files. The m La opción no es obligatoria durante la instalación.

Cuando no es necesario habilitar el uso de cuotas según el usuario o el grupo, no es necesario ejecutar la opción quotacheck . Confirme esto enumerando el directorio raíz con el comando ls.

$ ls /
Salida de muestra
aquota.group  bin   dev  home        initrd.img.old  lib64       media  opt   root  sbin  srv  tmp  var      vmlinuz.old
aquota.user   boot  etc  initrd.img  lib             lost+found  mnt    proc  run   snap  sys  usr  vmlinuz

Si no se incluyen los parámetros uy gen el comando quotacheck , &ltstrong&gtfaltarán&lt/strong&gt los archivos correspondientes.

Ahora estamos listos para activar la cuota en el (/)sistema de archivos raíz con el siguiente comando.

$ sudo quotaon -v /

Paso 5: configurar cuotas para un solo usuario

Podemos usar los comandos edquota y setquota para configurarlos para usuarios o grupos.

Usando edquota

Los comandos edquota editan cuotas, por ejemplo, podemos editar una cuota perteneciente a un usuario de &ltstrong&gttecmint&lt/strong&gt usando:

$ sudo edquota -u tecmint

El uso de la -uopción especifica que la cuota pertenece a un usuario. Utilice la -gopción si necesita editar una cuota que pertenece a un grupo. El comando abrirá un archivo usando su elección de editor de texto.

Verificar la cuota de usuario en el discoVerificar la cuota de usuario en el disco

La salida enumera el nombre de usuario, uid, el sistema de archivos con cuotas activas y el uso de bloques e inodos. Una cuota basada en inodos limita la cantidad de archivos y directorios que los usuarios pueden crear independientemente del tamaño que utilicen en el disco. La mayoría de los administradores prefieren la cuota basada en bloques que controla el espacio en disco.

NOTA : el uso de bloques no muestra cómo puede cambiar dependiendo de diferentes factores, como la herramienta de línea de comandos que los informa. Dentro de las cuotas de contextos en Ubuntu, podemos asumir que un solo bloque es lo mismo que un kilobyte de espacio en disco.

Usando la línea de comando anterior, el usuario usará 2032 bloques, que es lo mismo que 2032 KB de espacio en / dev / sda1 . El valor 0 desactiva tanto los límites suaves como los estrictos.

Cada conjunto de cuotas permite establecer el límite suave y estricto. Un usuario que supera el límite flexible puede superar su cuota, pero no se le impide utilizar más espacios o inodos. En tal caso, el usuario tiene siete días para canjear su espacio de límite flexible, de lo contrario, será difícil guardar o crear archivos.

Un límite estricto significa que la creación de nuevos bloques o inodos se detiene en el momento en que alcanza el límite. Los usuarios informarán haber visto advertencias o errores mientras realizan tareas regulares.

Podemos actualizar la cuota de bloque de tecmint para tener un límite flexible de 100 MB y 110 &ltstrong&gtMB&lt/strong&gt para el límite estricto .

Establecer límite de cuota de usuarioEstablecer límite de cuota de usuario

Después de editar, cierre el archivo y verifique la nueva configuración del límite de cuota de usuario usando el comando de cuota .

$ sudo quota -vs tecmint

Verificar el límite de la cuota de usuarioVerificar el límite de la cuota de usuario

NOTA : para que sus usuarios tengan la oportunidad de analizar sus cuotas sin invocar el comando sudo , deben tener acceso para leer archivos de cuotas durante la fase de creación en el paso cuatro. Una forma sencilla de hacerlo es crear un grupo de usuarios y otorgar acceso al grupo para que pueda agregar usuarios.

Usando setquota

setquota actualiza la información de la cuota usando un solo comando sin ninguna configuración interactiva. El comando requiere el nombre de usuario y la configuración de los límites suaves y estrictos que usarán el bloque y el inodo. También deberá declarar el sistema de archivos que utilizará la cuota.

$ sudo setquota -u tecmint 200M 220M 0 0 /

El comando duplica los límites de cuota basados ​​en bloques a 200 megabytes y 220 megabytes. Los dos 0 0indican que los límites rígidos y flexibles no están establecidos, es un requisito incluso cuando no hay necesidad de establecer cuotas basadas en inodos.

Como de costumbre, use el comando de cuota para verificar su progreso.

$ sudo quota -vs tecmint

Verificar el límite de la cuota de usuarioVerificar el límite de la cuota de usuario

Paso 6: generación de informes de cuotas

Al generar un informe de cuotas, debe indicar el uso de todos los usuarios. Se utiliza el comando &ltstrong&gtrepquota&lt/strong&gt .

$ sudo repquota -s /

Generar informes de cuotasGenerar informes de cuotas

El resultado anterior es un informe sobre el /sistema de archivos raíz. El -sindica a repquota que dé resultados en formato legible por humanos.

El bloque de tiempo de gracia por defecto es 7 días . La columna de gracia alerta al usuario sobre la cantidad de días antes de la denegación de acceso al disco de recursos.

Paso 7: Establecer los períodos de gracia de la configuración

El período de gracia es el momento en que un usuario obtiene permiso para trabajar más allá del tiempo predeterminado.

$ sudo setquota -t 864000 864000 /

El comando indica al bloque y al inodo que tengan un período de gracia de 864000 segundos, un equivalente a 10 días. La configuración afectará a todos los usuarios, por lo tanto, los valores deben establecerse incluso cuando no se utilicen bloques e inodos. El valor de tiempo debe estar en segundos.

Confirme los cambios y vea si surtieron efecto usando el comando:

$ sudo repquota -s /

Mensajes de errores comunes

quotaon: cannot find //aquota.group on /dev/vda1 [/]
quotaon: cannot find //aquota.user on /dev/vda1 [/]

El error anterior es común si intenta activar las cuotas usando el comando qoutaon antes de intentar verificar el estado de una cuota usando el comando quotacheck .

quotaon: using //aquota.group on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.
quotaon: using //aquota.user on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.

Este error le dice al administrador que el kernel no es compatible o que podría tener la versión incorrecta en la máquina (tenemos quota_v1 y quota_v2 ). Para Ubuntu , estos errores son comunes en un servidor virtual basado en la nube.

Corrija el error instalando el paquete Linux-image-extra-virtual usando el comando apt.

quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //quota.user: No such file or directory

El error es notable cuando el usuario actual no tiene permiso para leer archivos de cuotas. Como administrador, solo necesita realizar los cambios de permiso correctos o usar sudo cuando necesite acceder a archivos en un sistema de cuotas o archivo.

Conclusión

En la parte superior del artículo, comenzamos con las herramientas de línea de comandos de cuotas y la verificación de la versión del kernel, y fuimos más allá para explicar cómo configurar una cuota basada en bloques para un solo usuario y cómo generar un informe sobre una cuota del sistema de archivos. uso.

El artículo también cubre errores comunes y cómo evitarlos usando un paquete adicional o verificando la versión del kernel en su sistema.

Ubuntu

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux