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

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

Cuota del sistema de archivos es una característica incorporada estándar que se encuentra en Linux Kernel. Cuotas determinar la cantidad de espacio que un archivo debe tener para admitir actividades de usuario. Las cuotas de disco también limitan el número 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 para mencionar algunos. La asignación de cuotas es específica para el sistema de archivos y para cada usuario. Este artículo lleva todo lo que necesita saber sobre trabajar con el sistema de archivos de cuota en un usuario múltiple Ubuntu 18.04 ambiente.

Que necesitas

La suposición aquí es que estás usando Ubuntu 18.04 sistema con un usuario (Tecmint) Dados de los derechos de sudo. Las ideas compartidas aquí pueden funcionar en cualquier distribución de Linux siempre que use la técnica de implementación correcta.

Paso 1: Instalación de la cuota en Ubuntu

Para que las cuotas sean listas y utilizables, instale la herramienta de línea de comandos de cuota utilizando el comando APT, pero antes de eso debe actualizar los paquetes de software del sistema.

$ sudo apt actualización 

Ahora use el siguiente comando para instalar cuota empaquetarse Ubuntu.

$ sudo apt instalación cuota 
Instalar cuota en Ubuntu

Prensa Y, y luego INGRESAR para que el proceso de instalación inicie.

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

$ cuota --versión 
Verifique la versión de la cuota en Ubuntu

Paso 2: Instalación del módulo para el núcleo de la cuota

Aquellos que ejecutan un sistema virtual basado en la nube, el valor predeterminado Ubuntu La instalación puede faltar a los módulos del núcleo que admiten el uso de la cuota. Debe confirmar usar la herramienta Find y asegurarse de que los dos módulos, Cuota_v1, y Cuota _v2, están dentro del /lib/módulos directorio.

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

Este debería ser el resultado del comando anterior.

Verifique los módulos del núcleo de la cuota

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

$ sudo apt install linux-image-Extra- Virtual 
Instalar módulos de núcleo de cuota

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

Paso 3: Actualización de 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 hacer esto actualizando la entrada del sistema de archivos que se encuentra en el /etc/fstab archivo.

$ sudo nano /etc /fstab 

Debería estar listo para editar el archivo adecuadamente. La diferencia entre un archivo FSTAB y un de escritorio es la diferencia en cómo / o el sistema de archivos raíz representa todo el espacio de disco. Reemplazar la línea (/) Eso apunta al sistema de raíz usando las líneas a continuación.

Label = CloudImg-Rootfs / Ext4 Usrquota, Grpquota 0 0 

Las líneas cambiarán para permitir el Userquota y Grpquota para ser accesible. Puede dejar uno que no sea 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 agregación, separe los nuevos elementos con una coma pero sin espacio entre ellos.

Retroceda el sistema de archivos para que los cambios entren en vigencia.

$ sudo monte -o remount / 

NOTA: confirmar no existen espacios entre las opciones en el /etc/fstab Para evitar tales errores.

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

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

$ sudo gato /proc /monturas | Grep ' /' 
Verifique la entrada del sistema de archivos raíz en FSTAB

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

Paso 4: Habilitar cuotas de disco en Ubuntu

Primero, debes ejecutar el cuotón dominio.

$ sudo cuoacheck -ugm / 

El comando crea dos archivos un usuario de cuota y un grupo de cuotas 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 se creará un archivo de cuota basado en el usuario.
  • -gramo: indica que se creará un archivo de cuota basado en grupos.
  • -M: Desactiva la respuesta del sistema de archivos como solo lectura, mientras que al mismo tiempo ofrece resultados precisos en un entorno donde el usuario sigue guardando archivos. El metro La opción no es obligatoria durante la configuración.

Cuando no es necesario habilitar el uso de cuotas basadas en el usuario o el grupo, no es necesario ejecutar el cuotón opción. Confirme esto en enumerar el directorio raíz utilizando el comando ls.

$ ls / 
Salida de muestra
aguja.grupo bin dev Home initrd.img.Old lib64 medios opt root sbin srv tmp var vmlinuz.viejo aguja.usuario arranque, etc. initrd.img lib 

No incluir el u y gramo parámetros en el comando de cutacheck, faltarán los archivos correspondientes.

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

$ sudo cuotaon -v / 

Paso 5: Configurar cuotas para un solo usuario

Podemos usar el Edquota y setquota comandos para configurarlos para usuarios o grupos.

Usando Edquota

El Comandos de Edquota Las cuotas de edición, por ejemplo, podemos editar una cuota perteneciente a tecmenta usuario usando:

$ sudo edquota -u tecmint 

Utilizando el -u La opción especifica que la cuota pertenece a un usuario. Utilizar el -gramo opción Si necesita editar una cuota que pertenece a un grupo. El comando abrirá un archivo utilizando su elección de editor de texto.

Verifique 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 inodes. Una cuota basada en inodes limita el número de archivos y directorios que los usuarios pueden crear independientemente del tamaño que use en el disco. La mayoría de los administradores prefieren el basado en bloques Cuota que controla el espacio del 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 informan. Dentro de las cuotas de contextos en Ubuntu, podemos suponer que un solo bloque es el 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 el /dev/sda1. El 0 El valor deshabilita los límites blandos y duros.

Cada conjunto de cuotas permite configurar el límite suave y duro. Un usuario que va por encima del límite suave puede superar su cuota, pero no prohibido usar más espacios o inodos. El usuario en tal caso tiene siete días para canjear su espacio de límite suave, no hacer eso hace que sea difícil guardar o crear archivos.

Un límite duro 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 a ver advertencias o errores mientras realizan tareas regulares.

Podemos actualizar la cuota de bloque de TecMint para tener un límite suave de 100 MB y 110 MB para el límite duro.

Establezca el límite de cuota de usuario

Después de la edición, cierre el archivo y verifique la configuración del límite de cuotas del nuevo usuario utilizando el comando de cuota.

$ sudo cuota -vs tecmint 
Verifique el límite de cuota de usuario

NOTA: dar a sus usuarios la oportunidad de analizar sus cuotas sin invocar el comando sudo, Deben tener acceso a los archivos de cuotas de lectura durante la fase de creación en el paso cuatro. Una manera fácil de hacerlo es crear un grupo de usuario y darle acceso al grupo para que pueda agregar usuarios a él.

Usando setquota

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

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

El comando duplica los límites de cuotas basados ​​en el bloque a 200 megabytes y 220 megabytes. Los dos 0 0 indicar que los límites duros 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 de cuota para verificar su progreso.

$ sudo cuota -vs tecmint 
Verificar el límite de cuota de usuario

Paso 6: Generación de informes de cuotas

Generando un informe de cuotas, debe indicar el uso de todos los usuarios. El comando Repquota se usa.

$ sudo repquota -s / 
Generar informes de cuotas

La salida anterior es un informe sobre el / sistema de archivos raíz. El -s instrucciones Repquota Para dar resultados en formato legible por humanos.

El tiempo de gracia de bloque predeterminado es 7 días. La columna Grace alerta al usuario sobre el número de días antes de la negación del acceso al disco de recursos.

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

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

$ sudo setquota -t 864000 864000 / 

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

Confirme los cambios y vea si entró en vigencia usando el comando:

$ sudo repquota -s / 

Mensajes de errores comunes

Quotaon: no se puede encontrar // Aquota.Grupo en/dev/vda1 [/] cuota: No se puede encontrar // Aquota.usuario on/dev/vda1 [/] 

El error anterior es común si intenta activar las cuotas usando el comando Qoutaon Antes de un intento de verificar el estado de una cuota usando el comando cuotón.

Cuota: Usar // Aquota.grupo on/dev/vda1 [/]: no hay tal cuota de proceso: formato de cuota no es compatible con el núcleo. Cuota: Usar // Aquota.Usuario en/dev/vda1 [/]: no hay tal cuota de proceso: formato de cuota no es compatible con el núcleo. 

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

Corrige el error instalando el Linux-Image-Extra-Virtual Paquete usando el comando apt.

Cuota: No se puede abrir CuTAfile // Aquota.Usuario: Permiso Denegado Cuota: No se puede abrir CuTAfile // Aquota.Usuario: Permiso Cuota denegada: No se puede abrir CuTAfile // Cuota.Usuario: no hay dicho archivo o directorio 

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

Conclusión

En la parte superior del artículo, comenzamos con cuota Herramientas de línea de comandos y la verificación de la versión del núcleo 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 un uso de cuotas del sistema de archivos.

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