Comment définir des quotas de système de fichiers (disque) sur Ubuntu

Comment définir des quotas de système de fichiers (disque) sur Ubuntu

Quota de système de fichiers est une fonction intégrée standard trouvée dans le noyau Linux. Quotas déterminer la quantité d'espace qu'un fichier devrait avoir pour prendre en charge les activités des utilisateurs. Les quotas de disque limitent également le nombre de fichiers qu'un utilisateur peut créer sur le système.

Les systèmes de fichiers qui prennent en charge le système de quota incluent XFS, Ext2, Ext4 et Ext3 pour en mentionner quelques-uns. L'attribution des quotas est spécifique au système de fichiers et à chaque utilisateur. Cet article porte tout ce que vous devez savoir pour travailler avec le système de fichiers de quota dans un utilisateur multi-utilisateurs Ubuntu 18.04 environnement.

De quoi as-tu besoin

L'hypothèse ici est que vous utilisez Ubuntu 18.04 système avec un utilisateur (Tecmint) Étant donné les droits sudo. Les idées partagées ici peuvent fonctionner sur toutes les distros Linux tant que vous utilisez la bonne technique de mise en œuvre.

Étape 1: Installation du quota dans Ubuntu

Pour que les quotas soient prêts et utilisables, installez l'outil de ligne de commande du quota à l'aide de la commande APT, mais avant cela, vous devez mettre à jour les packages logiciels système.

$ sudo apt mise à jour 

Utilisez maintenant la commande suivante pour installer quota forfait Ubuntu.

$ sudo apt Installer quota 
Installez le quota dans Ubuntu

Presse Y, et puis ENTRER Pour que le processus d'installation commence.

Confirmez la version d'installation en exécutant la commande ci-dessous. Votre numéro de version peut différer de ce que vous voyez ci-dessous.

$ quota --version 
Vérifiez la version de quota dans Ubuntu

Étape 2: Installation du module pour le noyau de quota

Ceux qui exécutent un système virtuel basé sur le cloud, la valeur par défaut Ubuntu L'installation peut manquer les modules de noyau qui prennent en charge l'utilisation du quota. Vous devez confirmer l'utilisation de l'outil Find et vous assurer que les deux modules, quota_v1, et quota _v2, sont à l'intérieur du / lib / modules annuaire.

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

Cela devrait être le résultat de la commande ci-dessus.

Vérifier les modules de noyau quota

Ne vous inquiétez pas des versions du noyau tant que les deux modules sont présents. Si vous n'êtes pas trouvé, utilisez la commande suivante pour installer des modules de noyau de quota comme indiqué.

$ sudo apt install linux-image-extra-virtual 
Installer des modules de noyau de quota

Vous obtiendrez les bons modules dont vous avez besoin pour la mise en œuvre du quota.

Étape 3: Mise à jour des options de montage du système de fichiers

Pour que les quotas soient actifs sur un système spécifique, il doit être monté avec des options de quota connexes. Vous pouvez le faire en mettant à jour la saisie du système de fichiers trouvé dans le / etc / fstab déposer.

$ sudo nano / etc / fstab 

Vous devriez être prêt à modifier le fichier de manière appropriée. La différence entre un fichier fstab et un bureau est la différence dans la façon dont le / / ou le système de fichiers racine représente l'ensemble de l'espace disque. Remplacer la ligne (/) Cela pointe vers le système racinaire en utilisant les lignes ci-dessous.

Label = CloudImg-ROOTFS / EXT4 USRQUOTA, Grpquota 0 0 

Les lignes changent pour permettre userquota et grpquota être accessible. Vous pouvez en laisser un qui ne fait pas partie de la configuration finale. Si le FSTAB avait quelques options, ajoutez les nouvelles options à la fin de la ligne. Pendant que vous faites l'appel.

Remontez le système de fichiers pour que les modifications prennent effet.

$ sudo mont -o remount / 

NOTE: confirmer qu'aucun espace n'existe entre les options du / etc / fstab Pour éviter de telles erreurs.

Mount: / etc / fstab: Erreur d'analyse 

La vérification de l'utilisation de nouvelles options lors du montage du système de fichiers dans le / proc / monte le fichier est effectué via grep. La commande affiche la saisie du système de fichiers racine dans le fichier.

$ sudo chat / proc / monte | grep '/' 
Vérifiez l'entrée du système de fichiers racine dans FSTAB

À partir de la sortie, vous pouvez voir les deux options que nous avons configurées. Il est temps d'allumer le système de quota.

Étape 4: activer les quotas de disque sur Ubuntu

Tout d'abord, vous devez exécuter le quotard commande.

$ sudo quotacheck -ugm / 

La commande crée deux fichiers un utilisateur de quota et un groupe de quota qui ont des informations sur la limite et l'utilisation du système de fichiers. Ces fichiers doivent être présents avant de commencer à utiliser le quota.

Voici une définition des paramètres:

  • -u: symbolise un fichier de quota basé sur l'utilisateur sera créé.
  • -g: indique qu'un fichier de quota basé sur un groupe sera créé.
  • -M: désactive le remontage du système de fichiers en lecture seule tout en donne des résultats précis dans un environnement où l'utilisateur continue d'enregistrer des fichiers. Le m L'option n'est pas obligatoire pendant la configuration.

Lorsqu'il n'est pas nécessaire d'activer l'utilisation de quotas en fonction de l'utilisateur ou du groupe, il n'est pas nécessaire d'exécuter le quotard option. Confirmer cela en répertoriant le répertoire racine à l'aide de la commande LS.

$ ls / 
Échantillon de sortie
aquota.groupe Bin Dev Home initrd.IMG.Old Lib64 Media Opt Root Sbin Srv tmp var vmLinUz.vieux aquota.utilisateur démarrer etc. initrd.img lib perdu + trouvé mnt proc run run snap sys usr vmlinuz 

Ne pas inclure le u et g paramètres dans le Commande quotacheck, Les fichiers correspondants seront manquants.

Maintenant, nous sommes prêts à allumer le quota sur la racine (/) Système de fichiers avec la commande suivante.

$ sudo quotaon -v / 

Étape 5: Configurer des quotas pour un seul utilisateur

Nous pouvons utiliser le Edquota et setquota Commandes pour les définir pour les utilisateurs ou les groupes.

Utilisation d'Edquota

Le Commandes Edquota modifier des quotas, par exemple, nous pouvons modifier un quota appartenant à Tecmint Utilisateur utilisant:

$ sudo edquota -u tecmint 

En utilisant le -u L'option spécifie que le quota appartient à un utilisateur. Utilisez le -g Option si vous avez besoin de modifier un quota qui appartient à un groupe. La commande ouvrira un fichier en utilisant votre choix d'éditeur de texte.

Vérifiez le quota utilisateur sur le disque

La sortie répertorie le nom d'utilisateur, l'UID, le système de fichiers avec des quotas actifs et l'utilisation de blocs et d'inodes. Un quota sur Inodes limite le nombre de fichiers et d'annuaires que les utilisateurs peuvent créer quelle que soit la taille qu'ils utilisent sur le disque. La plupart des administrateurs préfèrent le en bloc Quota qui contrôle l'espace disque.

NOTE: L'utilisation de blocs ne montre pas comment elle peut changer en fonction de différents facteurs tels que l'outil de ligne de commande qui les signale. Dans les quotas de contexte sur Ubuntu, nous pouvons supposer qu'un seul bloc est le même qu'un kilobyte d'espace disque.

En utilisant la ligne de commande ci-dessus, l'utilisateur utilisera 2032 blocs, ce qui est le même que 2032 Ko d'espace sur le / dev / sda1. Le 0 la valeur désactive les limites douces et dures.

Chaque ensemble de quotas permet de configurer la limite douce et dure. Un utilisateur qui va au-dessus de la limite souple peut être au-dessus de son quota, mais qui n'est pas interdit d'utiliser plus d'espaces ou d'inodes. L'utilisateur dans un tel cas a sept jours pour échanger son espace de limite de douce.

Une limite dure signifie que la création de nouveaux blocs ou inodes cesse du moment où vous atteignez la limite. Les utilisateurs rapporteront des avertissements ou des erreurs tout en effectuant des tâches régulières.

Nous pouvons mettre à jour le quota de blocs de Tecmint pour avoir une limite souple de 100 Mo et 110 Mo pour la limite dure.

Définir la limite de quota utilisateur

Après l'édition, fermez le fichier et vérifiez les nouveaux paramètres de limite de quota utilisateur à l'aide du commande de quota.

$ sudo quota -vs tecmint 
Vérifier la limite des quotas utilisateur

NOTE: donner à vos utilisateurs l'occasion d'analyser leurs quotas sans invoquer le commande sudo, Ils doivent avoir accès aux fichiers de quota de lecture pendant la phase de création à l'étape quatre. Un moyen facile de le faire est de créer un groupe d'un utilisateur et de donner un accès au groupe afin que vous puissiez y ajouter des utilisateurs.

Utilisation de setquota

setquota met à jour les informations du quota à l'aide d'une seule commande sans aucune configuration interactive. La commande nécessite le nom d'utilisateur et la définition des limites souples et dures que le bloc et l'inode utiliseront. Vous devrez également déclarer le système de fichiers que le quota utilisera.

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

La commande double les limites du quota basées sur le bloc à 200 mégaoctets et 220 mégaoctets. Les deux 0 0 Indiquent que les limites dures et douces ne sont pas définies, c'est une exigence même lorsqu'il n'y a pas besoin de définir des quotas basés.

Comme d'habitude, utilisez la commande du quota pour vérifier vos progrès.

$ sudo quota -vs tecmint 
Vérifiez la limite des quotas utilisateur

Étape 6: générer des rapports de quotas

Génération d'un rapport de quota, il doit indiquer l'utilisation de tous les utilisateurs. La commande repquota est utilisé.

$ sudo repquota -s / 
Générer des rapports de quotas

La sortie ci-dessus est un rapport sur le / / système de fichiers racine. Le -s instructions repquota pour donner des résultats au format lisible par l'homme.

Le temps de grâce de bloc par défaut est 7 jours. La colonne Grace alerte l'utilisateur sur le nombre de jours avant le déni d'accès au disque de ressources.

Étape 7: Définissez les périodes de grâce de configuration

La période de grâce est que le temps qu'un utilisateur obtient la permission de travailler au-delà du calendrier par défaut.

$ sudo setquota -T 864000 864000 / 

La commande demande au bloc et à Inode d'avoir une période de grâce de 864000 seconde un équivalent de dix jours. Le paramètre affectera tous les utilisateurs, par conséquent, les valeurs doivent être définies même lorsqu'il n'y aura pas d'utilisation des blocs et des inodes. La valeur temporelle doit être en quelques secondes.

Confirmez les modifications et voyez si elle a pris effet en utilisant la commande:

$ sudo repquota -s / 

Messages d'erreurs communes

Quotaon: Impossible de trouver // aquota.groupe sur / dev / vda1 [/] quotaon: impossible de trouver // aquota.utilisateur on / dev / vda1 [/] 

L'erreur ci-dessus est courante si vous essayez d'allumer des quotas en utilisant la commande qoutaon Avant une tentative de vérifier l'état d'un quota en utilisant la commande quotard.

Quotaon: Utilisation // aquota.Groupe On / dev / vda1 [/]: pas de tel processus Quotaon: format de quota non pris en charge dans le noyau. Quotaon: Utilisation // aquota.Utilisateur sur / dev / vda1 [/]: pas de tel processus Quotaon: format de quota non pris en charge dans le noyau. 

Cette erreur indique à l'administrateur que le noyau ne prend pas en charge ou que vous pourriez avoir la mauvaise version sur la machine (nous avons quota_v1 et quota_v2). Pour Ubuntu, Ces erreurs sont courantes sur un serveur virtuel basé sur le cloud.

Correction de l'erreur en installant le Linux-image-extra-virtuel Package en utilisant la commande APT.

Quota: Impossible d'ouvrir le quotafile // aquota.Utilisateur: autorisation refusée quota: Impossible d'ouvrir le quotafile // aquota.Utilisateur: autorisation refusée Quota: Impossible d'ouvrir le quotafile // quota.Utilisateur: aucun fichier ou répertoire de ce type 

L'erreur est notable lorsque l'utilisateur actuel n'a pas la permission de lire les fichiers de quota. En tant qu'administrateur, il vous suffit d'apporter les modifications d'autorisation correctes ou d'utiliser Sudo lorsque vous devez accéder à des fichiers dans un système de quota ou un fichier.

Conclusion

En haut de l'article, nous avons commencé avec quota Les outils de ligne de commande et la vérification de la version du noyau et sont allés plus loin pour expliquer comment configurer un quota basé sur un bloc pour un seul utilisateur et comment générer un rapport sur une utilisation du quota de système de fichiers.

L'article couvre également les erreurs courantes et comment les éviter en utilisant un package supplémentaire ou vérifiant la version du noyau sur votre système.