Sous Linux, vous pouvez configurer le quota de disque en utilisant l'une des méthodes suivantes :
- Allocation de quota de disque de base du système de fichiers
- Allocation de quota de disque basée sur l'utilisateur ou le groupe
En ce qui concerne le quota basé sur l'utilisateur ou le groupe, voici trois facteurs importants à prendre en compte :
- Limite stricte :par exemple, si vous spécifiez 2 Go comme limite stricte, l'utilisateur ne pourra pas créer de nouveaux fichiers après 2 Go
- Limite souple :par exemple, si vous spécifiez 1 Go comme limite souple, l'utilisateur recevra un message d'avertissement "quota de disque dépassé" une fois qu'il aura atteint la limite de 1 Go. Mais, ils pourront toujours créer de nouveaux fichiers jusqu'à ce qu'ils atteignent la limite stricte
- Période de grâce :par exemple, si vous spécifiez 10 jours comme période de grâce, une fois que l'utilisateur a atteint sa limite stricte, il dispose de 10 jours supplémentaires pour créer de nouveaux fichiers. Au cours de cette période, ils doivent essayer de revenir à la limite de quota.
1. Activer la vérification des quotas sur le système de fichiers
Tout d'abord, vous devez spécifier les systèmes de fichiers autorisés pour la vérification des quotas.
Modifiez le /etc/fstab et ajoutez les mots clés usrquota et grpquota au système de fichiers correspondant que vous souhaitez surveiller.
L'exemple suivant indique que la vérification des quotas d'utilisateurs et de groupes est activée sur /home filesystem
# cat /etc/fstab LABEL=/home /home ext2 defaults,usrquota,grpquota 1 2
Redémarrez le serveur après la modification ci-dessus.
2. Vérification initiale des quotas sur le système de fichiers Linux à l'aide de quotacheck
Une fois que vous avez activé la vérification des quotas de disque sur le système de fichiers, collectez initialement toutes les informations de quota comme indiqué ci-dessous.
# 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.
Dans la commande ci-dessus :
- a :Vérifier tous les systèmes de fichiers avec quota
- v :mode détaillé
- u :Vérifier le quota de disque utilisateur
- g :Vérifier le quota de disque du groupe
La commande ci-dessus créera un fichier aquota pour l'utilisateur et le groupe sous le répertoire du système de fichiers, comme indiqué ci-dessous.
# 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. Attribuez un quota de disque à un utilisateur à l'aide de la commande edquota
Utilisez la commande edquota comme indiqué ci-dessous pour modifier les informations de quota pour un utilisateur spécifique.
Par exemple, pour modifier le quota de disque pour l'utilisateur "ramesh", utilisez la commande edquota, qui ouvrira les valeurs limites logicielles et strictes dans un éditeur, comme indiqué ci-dessous.
# edquota ramesh Disk quotas for user ramesh (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sda3 1419352 0 0 1686 0 0
Une fois que la commande edquota ouvre les paramètres de quota pour l'utilisateur spécifique dans un éditeur, vous pouvez définir les limites suivantes :
- limite souple et stricte pour la taille du quota de disque pour l'utilisateur particulier.
- limite souple et stricte pour le nombre total d'inodes autorisés pour un utilisateur particulier.
4. Signaler l'utilisation du quota de disque pour les utilisateurs et le groupe à l'aide de repquota
Utilisez la commande repquota comme indiqué ci-dessous pour signaler l'utilisation du quota de disque pour les utilisateurs et les groupes.
# 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. Ajouter un contrôle de quota à la tâche cron quotidienne
Ajoutez le contrôle de quota à la tâche cron quotidienne. Créez un fichier quotacheck comme indiqué ci-dessous sous le répertoire /etc/cron.daily, qui exécutera la commande quotacheck tous les jours. Cela enverra la sortie de la commande quotacheck à l'adresse e-mail racine.
# cat /etc/cron.daily/quotacheck quotacheck -avug