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

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

La cuota del sistema de archivos. es una función estándar incorporada 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.

Lo que necesita

La suposición aquí es que está utilizando Sistema Ubuntu 18.04. con un usuario ( tecmint). con derechos 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 quota usando el comando apt, pero antes de eso necesitas actualizar los paquetes de software del sistema.

$ sudo apt update

Ahora usa el siguiente comando para instalar el paquete quota. en Ubuntu.

$ sudo apt install quota  Instalar Cuota en Ubuntu  Instalar Cuota en Ubuntu Instalar Cuota en Ubuntu freestar.config.enabled _slots.push

Presione Y, y 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 versión de cuota en Ubuntu Verificar versión de cuota en Ubuntu Verificar la versión de la cuota en Ubuntu

Paso 2: Instalar el módulo para el kernel de la cuota

Aquellos que ejecutan un sistema virtual basado en la nube, la instalación predeterminada de Ubuntu. puede ser faltan los módulos del kernel que admiten el uso de cuotas. Debes confirmar con la herramienta de búsqueda y asegurarte 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.

 Verificar módulos de kernel de cuota  Comprobar módulos de kernel de cuota Comprobar módulos de kernel de cuota

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 cuota como se muestra.

$ sudo apt install linux-image-extra-virtual  Instalar módulos de kernel de cuotas  Instalar módulos de kernel de cuota Instalar 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 listo para editar el archivo apropiadamente. La diferencia entre un archivo fstab y uno de escritorio es la diferencia en cómo el sistema de archivos raíz representa todo el espacio en disco. Reemplaza 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 la userquota y grpquota. para que sea accesible. 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. A medida que 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 existan espacios entre las opciones en /etc/fstab. para evitar tales errores.

mount:/etc/fstab: error de análisis

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 ‘/’  Comprobar raíz Entrada del sistema de archivos en Fstab  Verificar la entrada del sistema de archivos raíz en Fstab Verificar la entrada del sistema de archivos raíz en Fstab

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

Paso 4: Habilitar las 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 un archivo de cuota basado en el usuario será creado.
  • -g: indica que se creará un archivo de cuota basado en grupos.
  • -m: deshabilita el remontaje del sistema de archivos como de solo lectura mientras que al mismo tiempo proporciona resultados precisos en un entorno en el que el usuario sigue guardando archivos. La opción m. no es obligatoria durante la configuració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 usando 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

No se han incluido los parámetros u y g en el comando quotacheck. el faltarán 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 configurarlas para usuarios o grupos.

Usando edquota

Los comandos edquota. editan cuotas, por ejemplo, podemos editar una cuota perteneciente al usuario tecmint. usando:

$ sudo edquota-u tecmint

Usando la opción-u especifica th en la cuota pertenece a un usuario. Utilice la opción-g si necesita editar una cuota que pertenece a un grupo. El comando abrirá un archivo con el editor de texto que elija.

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

La salida muestra 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 2032KB de espacio en /dev/sda1. El valor 0. desactiva tanto los límites suaves como los estrictos.

Cada conjunto de cuotas permite configurar 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 blando, de lo contrario, será difícil guardar o crear archivos.

Un límite estricto significa que la creación de nuevos bloques o inodos detiene el momento llegaste al límite. Los usuarios informarán que ven advertencias o errores mientras realizan tareas habituales.

Podemos actualizar la cuota de bloque de tecmint para tener un límite flexible de 100 MB. y 110 MB. para el límite estricto.

 Establecer cuota de usuario Límite  Establecer límite de cuota de usuario Establecer límite de cuota de usuario

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

$ sudo quota-vs tecmint  Verificar límite de cuota de usuario Comprobar límite de cuota de usuario Comprobar límite de 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 duri ng 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.

El uso de setquota

setquota. actualiza la información de la cuota con 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 0 indican que los límites rígidos y blandos no están establecidos, es un requisito incluso cuando no hay necesidad de establecer cuotas basadas en inodo.

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

$ sudo quota-vs tecmint Verificar límite de cuota de usuario  Verify User Quota Limit Verify User Quota Limit

Paso 6: Generando informes de cuotas

Al generar un informe de cuotas, debe indicar el uso de todos los usuarios. Se utiliza el comando repquota.

$ sudo repquota-s/ Generar cuota Informes  Generar informes de cuotas Generar informes de cuotas

El resultado anterior es un informe sobre el sistema de archivos/root. La-s indica a repquota. que proporcione resultados en un formato legible por humanos.

El tiempo de gracia del bloque predeterminado 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: Establezca los períodos de gracia de configuración

El período de gracia es ese tiempo el 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 entraron en vigencia usando el comando:

$ sudo repquota-s/

Mensajes de errores comunes

quotaon: no se puede encontrar//aquota.group en/dev/vda1 [/] quotaon: no se puede encontrar//aquota.user en/dev/vda1 [/]

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

quotaon: usando//aquota.group en/dev/vda1 [/] : No existe tal cuota de proceso: El formato de cuota no es compatible con el kernel. quotaon: usando//aquota.user en/dev/vda1 [/]: No existe tal proceso quotaon: El formato de cuota no es compatible con el kernel.

Este error le dice al administrador que el kernel no es compatible o que podría tener una 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: No se puede abrir el archivo de cuota//aquota.user: Permiso denegado quota: No se puede abrir el archivo de cuota//aquota.user: Permiso denegado la cuota: No se puede abrir el archivo de cuota//quota.user: No existe tal archivo o directorio

El error es notable cuando el usuario actual no tiene permiso para leer archivos de cuotas. Como administrador, solo necesita realizar los cambios de permisos 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 quota. herramientas de línea de comandos y la verificación de la versión del kernel y fue más allá para explicar cómo configurar una cuota basada en bloques para un solo usuario y cómo generar un informe sobre el uso de la cuota del sistema de archivos.

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.