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 :
two limits (called “soft” and “hard”) refer to the number of blocks consumed. If the filesystem was created with a block-size of 1 kibibyte, the 1024 available bytes of each block can only be assigned to one file. Unsaturated blocks thus induce losses of disk space. A quota of 100 blocks, which theoretically allows storage of 102,400 bytes, will, however, be saturated with just 100 files of 500 bytes each, only representing 50,000 bytes in total.
two limits (“soft” and “hard”) refer to the number of inodes used. Each file occupies at least one inode to store information about it (permissions, owner, timestamp of last access, etc.). It is thus a limit on the number of user files.
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.