Le système des quotas permet de limiter l'espace disque alloué à un utilisateur ou un groupe d'utilisateurs. Pour le mettre en place, il faut disposer d'un noyau activant sa prise en charge (option de compilation CONFIG_QUOTA
) — ce qui est le cas des noyaux Debian. Les logiciels de gestion des quotas se trouvent dans le paquet Debian quota.
Pour activer les quotas sur un système de fichiers, il faut mentionner, dans le fichier /etc/fstab
, les options usrquota
et grpquota
, respectivement pour des quotas utilisateurs ou de groupes. Redémarrer l'ordinateur permet ensuite de mettre à jour les quotas en l'absence d'activité disque (condition nécessaire à une bonne comptabilisation de l'espace disque déjà consommé).
La commande edquota utilisateur
(ou edquota -g groupe
) permet de changer les limites tout en consultant la consommation actuelle.
Le système de quotas permet de définir quatre limites :
Deux limites (soft et hard, respectivement douce et dure) concernent le nombre de blocs consommés. Si le système de fichiers a été créé avec une taille de bloc de 1 kilo-octet, un bloc contient 1 024 octets du même fichier. Les blocs non saturés induisent donc des pertes d'espace disque. Un quota de 100 blocs, qui permet théoriquement de stocker 102 400 octets, sera pourtant saturé par 100 fichiers de 500 octets, ne représentant que 50 000 octets au total.
Deux limites (soft et hard) concernent le nombre d'inodes employés. Chaque fichier consomme au moins un inode pour stocker les informations le concernant (droits, propriétaires, date de dernier accès, etc.). Il s'agit donc d'une limite sur le nombre de fichiers de l'utilisateur.
Une limite soft peut être franchie temporairement ; l'utilisateur sera simplement averti de son dépassement de quota par le programme warnquota
, habituellement invoqué par cron
. Une limite hard ne peut jamais être franchie : le système refusera toute opération provoquant un dépassement du quota dur.
On peut définir, par la commande edquota -t
, une « période de grâce » maximale autorisée pour un dépassement de limite soft. Ce délai écoulé, la limite soft se comportera comme une limite hard et l'utilisateur devra donc repasser sous elle pour pouvoir à nouveau écrire quoi que ce soit sur le disque.