-
Mettre en place des quotas sous Debian
Lorsque vous avez plusieurs utilisateurs / groupes sur votre système et que vous ne voulez pas que ceux-ci utilisent tout l'espace disque, vous pouvez mettre en place des quotas....
Tutoriel réalisé sur Debian Wheezy 7.8 avec quota 4.00-4+deb7u1 et quotatool 1.4.12-1
La mise en place de quotas va permettre d'attribuer à des utilisateurs / groupes une quantité d'espace disque.
Cette quantité pourra être définie avec 3 types de crières :
- Limite soft : indique la quantité maximale qu'un utilisateur / groupe peut utiliser sur un système de fichiers.
Dès que la limite est atteinte, des messages informant que le quota attribué a été dépassé sont envoyés.
Si après le délai défini par Grace Period, le quota est toujours en dépassement, alors l'utilisateur / groupe ne pourra plus écrire sur le système de fichiers (limite hard).
- Limite hard : Indique la quantité qui ne pourra jamais être dépassée.
Si l'utilisateur / groupe tente de dépasser cette limite, des messages d'avertissement seront envoyés et ceux-ci ne pourront plus écrire sur le système de fichiers.
- Grace Period : Limite de temps avant que la limite soft ne devienne limite hard.
Les unités de temps pouvant être utilisées sont "sec(onds),min(utes), hour(s), day(s), week(s), and month(s)"
Pour configurer les quotas, nous avons besoin des paquets quota et quotatool.
sudo apt-get install quota quotatool
( cliquer sur l'image pour l'agrandir )
Pour le tutoriel, j'ai crée les utilisateurs actarus et alcor.
( cliquer sur l'image pour l'agrandir )
Je souhaite mettre mes quotas sur /home,
J'ajoute donc les options usrquota ( quotas utilisateurs ) et grpquota ( quotas groupes ) sur la ligne correspondant à ma partition /home dans le fichier /etc/fstab.
( cliquer sur l'image pour l'agrandir )
Il faut ensuite Initialiser la base des quotas avec la commande :
sudo quotacheck -ugm /home
-u : vérifie uniquement les quotas utilisateurs listés dans /etc/mtab.
-g : vérifie uniquement les quotas groupes listés dans /etc/mtab.
-m : ne essayez pas de remonter le système de fichiers.
On vérifie que les fichiers aquota.group et aquota.user ont bien été crées.
ls -l /home | grep aquota
On active les quotas avec la commande :
sudo quotaon -ugv /home
-u : les quotas utilisateurs seront activés
-g : les quotas groupes seront activés
-v : mode verbeux, affiche l'état des quotas.
Enfin, on vérifie l'état des quotas avec la commande :
sudo quotaon -pa
-p : affiche l'état des quotas
-a : indique que l'option usrquota et/ou grpquota sera activée si celle-ci est indiquée dans /etc/fstab.
( cliquer sur l'image pour l'agrandir )
Pour attribuer un quota à un utilisateur, nous allons utiliser la commande quotatool.
Je mets une limite soft de 500MB et une limite hard de 600MB à l'utilisateur actarus.
Je mets une limite soft de 1GB et une limite hard de 2GB à l'utilisateur alcor.
sudo quotatool -u <nom_utilisateur> -bq <quota< -l <quota> /home
PS : Pour mettre un quota sur un groupe, il faudra utiliser la commande :
sudo quotatool -g <nom_groupe> -bq <quota< -l <quota> /home
Je visualise le status des quotas avec la commande repquota.
sudo repquota -avu
-a : affiche des informations sur tous les systèmes de fichiers disposant de quotas.
-v : mode verbeux, affiche des infos supplémentaires.
-u : affiche des informations sur les quotas utilisateurs.
PS : pour visualiser les quotas groupes en plus des quotas utilisateurs, utilisez la commande :
sudo repquota -avug
Vous pourrez voir les différentes informations relatives aux quotas utilisateurs.
Block limits va se référer a des blocs de données ( la valeur par défaut est 1 bloc = 1k ).
File limits va se référer au nombre de fichiers, ou inodes utilisés.
Vous pouvez voir pour actarus les 512000 Ko et 614400 Ko correspondant aux 500 Mo et 600 Mo.
Vous pouvez voir pour alcor les 1048576 Ko et 2097152 Ko correspondant aux 1 Go et 2 Go.
( cliquer sur l'image pour l'agrandir )
Si vous souhaitez modifier le délai de grâce pour tous les utilisateurs, utilisez la commande :
sudo edquota -t
Mettez ensuite les sec(onds),min(utes), hour(s), day(s), week(s), and month(s) que vous souhaitez.
PS : pour modifier la Grace Period pour tous les groupes, utilisez la commande :
sudo edquota -gt
( cliquer sur l'image pour l'agrandir )
Avec l'utilisateur actarus, je vais créer des données dans mon répertoire personnel avec la commande dd .
Vous pouvez voir que l'avertissement sda6: warning, user block quota exceeded s'affiche.
Cet avertissement indique que la limite souple a été dépassée.
En visualisant le status des quotas, vous pouvez voir que le signe + est apparu indiquant que la limite souple a été dépassée et 7 days indique le nombre de jours que nous avons pour revenir en dessous de la limite souple.
( cliquer sur l'image pour l'agrandir )
Je ne prends pas en compte l'avertissement, et je crée un nouveau fichier.
Vous pouvez voir que le message sda6: write failed, user block limit reached s'affiche.
Cet avertissement indique que la limite dure a été dépassée et qu'il n'est plus possible d'écrire pour actarus.
( cliquer sur l'image pour l'agrandir )
Ici, je crée des données le 24 mars et je recois l’avertissement du dépassement de la limite souple.
Une fois le délai de grâce dépassé ( 7jours ), il n'est plus possible d'écrire pour actarus
( cliquer sur l'image pour l'agrandir )
Conclusion :
Ceci n'est qu'une configuration simple et maintenant vous en savez maintenant un peu plus sur la mise en place des quotas...
N'hésitez pas à me faire part de vos remarques / commentaires.
Tags : quotas, limit, utilisateur, group, commande
-
Commentaires
2dianfod1Dimanche 26 Juillet 2015 à 18:014markMercredi 24 Août 2016 à 03:53
Ajouter un commentaire
Merci blog de peau....