Introduction :
Pour reglementer l'utilisation de l'espace disque mis a disposition des utilisateurs, la mise en place de quotas permet a la fois de controler d'une certaine facon comment travail les utilisateurs (et eviter certains abus) mais egalement de ne pas saturer sans raison les disques qui peuvent provoquer des anomalies.
Principe :
Il s'agit de limiter l'espace disque et/ou le nombre de fichiers alloués aux utilisateur ou aux groupes, sur un système de fichiers désigné, donc sur une partition.
Il existe deux type de restrictions :
"soft" : il s'agit d'une tolérance, cette limite peut etre franchie (pendant 7 jours par défaut)
"hard" : franchie par un utilisateur ou un groupe, celui-ci ne peut plus écrire sur le disque.
Mise en oeuvre :
Installation : telechargement et installation du package requis si cela n'est pas fait, puis verification : (le package à été selectionné à l'installation)
[root@progress root]# rpm -q quota
quota-3.06-9 |
Pour activer la prise en charge des quotas, il faut modifier le fichier /etc/fstab et ajouter le mot-clé usrquota dans la liste des options.
Contenu du fichier (avant la mise en place des quotas) :
LABEL=/ / ext3 defaults 1 1
LABEL=/data /data ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda2 swap swap defaults 0 0 |
Contenu du fichier (apres) :
LABEL=/ / ext3 defaults,usrquota,grpquota 1 1
LABEL=/data /data ext3 defaults,usrquota,grpquota 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda2 swap swap defaults 0 0 |
Nous avons donc activé les quotas sur la partition / (root) correspondant a la patition hda1 et /data qui correspond a la partition hda3 du disque IDE.
Une fois cela fait il faut alors creer les fichiers aquota.user dans le dossier ou les quotas seront actifs :
[root@progress data]# ll
drwxrwxrwx 2 root root 16384 avr 27 12:36 lost+found
[root@progress data]# touch aquota.user
[root@progress data]# ll
-rw-r--r-- 1 root root 0 mai 5 13:29 aquota.user
drwxrwxrwx 2 root root 16384 avr 27 12:36 lost+found
[root@progress data]# |
Une fois que le fichier a été modifié, il faut remonter la partition avec une option pour qu'il prenne les modifications faites en cours.
[root@progress /]# mount -o remount /data |
Tout est maintenant pret, il faut alors initialiser la table de quotas.
[root@progress data]# quotacheck /data |
Maintenant, activons les quotas pour l'utilisateur "mesquotas" créé avec son HomeDir dans le repertoire /data/mesquotas
[root@progress data]# quotaon -a
[root@progress data]# edquota -u mesquotas |
Disk quotas for user mesquotas (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/hda3 48 3000 4000 12 15 20 |
Les quotas sont maintenant actifs, ont peut afficher un rapport avec la commande repquota -a
[root@progress root]# repquota -a
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
mesquotas -- 48 3000 4000 12 15 20
|
Nous allons donc aller chercher des fichiers pour tester que les quotas sont bien efficaces
[root@progress root]# repquota -a
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
mesquotas -+ 2912 3000 4000 20 15 20 6days
|
On vois qu'on utilise 2912 Block sur 3000, mais qu'on a atteint le maximum de fichier autorisés.
[mesquotas@progress mesquotas]$ cp MYLZPNP.DLL MYLZPNP.DLL.BACKUP
cp: ne peut créer le fichier régulier `lol/MYLZPNP.DLL': Débordement du quota d'espace disque |
on voit bien lors d'une copie de fichiers que meme si il reste de l'espace autorisé, on ne peut plus creer de nouveaux fichier. Il y a malgré tout un message qui previens que le seul "Soft" d'alerte est dépassé, mais que l'ont peut ecrire encore sur le disque.
[mesquotas@progress mesquotas]$ cp 900_11402.zip 900_11402.zip.old
ide0(3,3): warning, user block quota exceeded.
|
En supprimant quelques fichiers, on voit donc que l'ont peut a nouveaux creer des fichiers :
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
mesquotas +- 3068 3000 4000 7days 15 15 20
|
Pour verifier que le seuil "hard" ne peut etre dépassé, essayont de copier le package cups :
[mesquotas@progress mesquotas]$ cp cups-1.1.17-13.3.0.3.i386.rpm cups-1.1.17-13.3.0.3.i386.rpm.old
ide0(3,3): warning, user file quota exceeded.
ide0(3,3): write failed, user block limit reached.
cp: écriture de `cups-1.1.17-13.3.0.3.i386.rpm.old': Débordement du quota d'espace disque |
|