Quota utilisateurs

De Diablotins.org.


Mise en place de quotas pour les utilisateurs et leurs groupes
Image:brush.png
FreeBSD propose un mécanisme de quotas pour ses utilisateurs.



Installer

C'est une option du noyau:

  options QUOTA

Cette option est validée au démarrage par un script RC, «/etc/rc.d/quota»:
Précisez donc l'entrée suivante dans /etc/rc.conf:

  enable_quotas="YES"

Une autre option va valider les tests d'intégrité au démarrage,

  check_quotas="YES"


Ensuite, modifiez /etc/fstab, pour ajouter l'option «userquota» ou «groupquota» sur les entrées de vos partitions:

  /dev/[volume user] /home ufs rw,userquota 1 2
  /dev/da1s2g /home ufs rw,userquota,groupquota 1 2

Par défaut, les données de quotas sont rangées à la racine «/» dans les fichiers “quota.user” et “quota.group
Vous pouvez les modifiez comme ceci:

  /dev/[volume user] /home ufs rw,userquota=var/run/My.userQuotas 1 2

Mais il est déconseillé de le faire, certaines commandes ne fonctionneraient peut-être plus.


A la suite d'un démarrage sur votre nouveau noyau, le script RC va créer les premiers quotas utilisateurs et groupes d'utilisateurs sur les partitions concernées.


Dans le cas le plus optimiste vous n'aurez à lancer ni quotacheck(8), ni quotaon(8) quotaoff(8).
Mais je vous encourage à en lire le manuel avec attention.

Utiliser

Vérifiez que les quotas sont actifs avec quota(1):

  # quota -vh   
  Filesystem   usage   quota   limit   grace   files   quota   limit   grace
         /usr 232944K* 10000K      0B  7days     892    1000       0

Vous devrez recevoir une entrée par système de fichiers soumis aux quotas.

Vous pouvez maintenant définir les quotas avec edquota(8) , qui va ouvrir un éditeur, par défaut «vi»:

  # edquota -u nolwenn
  Quotas for user nolwenn:
 /usr: kbytes in use: 8976, limits (soft = 10000, hard = 250000)
       inodes in use: 658, limits (soft = 1000, hard = 2000)

ou, pour modifier les «délais d'expiration» (grâce):

  # edquota -t -u nolwenn
 Time units may be: days, hours, minutes, or seconds
 Grace period before enforcing soft limits for users:
 /usr: block grace period: 7 days, file grace period: 3 days

pour valider les nouvelles limtes, re-démarrez le système de quota, avec le couple quotaon/quotaoff(8):

# quotaoff -u  /usr && quotaon -u /usr


Dès lors que la limite “soft” est dépassée, vous aurez cet avertissement:

/usr: warning, user disk quota exceeded

et, dès que la limite “hard” est atteinte:

/usr: write failed, user disk limit reached

Aller plus loin

Outils personnels
Projets :