Mise en place des quotas

Mise en place des quotas

Note : Les quotas UNIX peuvent s'appliquer sur des utilisateurs et/ou des groupes d'utilisateurs. Ils limitent le nombre de fichiers et/ou la taille cumulée de ces fichiers. Ils s'appliquent sur des systèmes de fichiers (à partir d'un point de montage) et non pas sur la totalité de l'arborescence. Les quotas sont constitués d'une limite douce (qui peut être dépassée pendant une période de grâce de 7 jours) et d'une limite dure qui ne peut pas être dépassée. A L'issue de la période de grâce l'état courant devient une limite dure.

Formatez /home en ext4

Si la partition /home est formatée en mode xfs (à vérifier avec mount ), nous devons la passer en ext4 avec les étapes ci-dessous :

En root
# sauvegarde de /home
rsync -av /home/ /tmp/home.backup/

# repérer la partition de /home
mount | fgrep /home

# repérer et copier dans une variable l'UUID de la partition /home
cat /etc/fstab | fgrep /home
UUID_HOME="...."

# démontage
umount /home

# formatter en ext4 (en gardant l'UUID)
mkfs.ext4 -L home -U $UUID_HOME fichier_spécial

# changer, dans le fichier /etc/fstab, xfs en ext4
sed -i -e '/home/s/xfs/ext4/' /etc/fstab

# recharger la configuration en lien avec /etc/fstab
systemctl daemon-reload

# remonter
mount /home

# vérifier que nous sommes en ext4
mount | fgrep /home

# récupération de /home
rsync -av /tmp/home.backup/ /home/ 

# supprimer la sauvegarde
rm -rf /tmp/home.backup/

Préparer les quotas

La mise en place est constituée de quelques étapes :

  1. Nous allons poser des quotas sur la partition des comptes utilisateurs (/home).
  2. Modifiez (ou ajoutez) la ligne en question dans le fichier /etc/fstab pour ajouter les deux options usrquota et grpquota. L'exemple ci-dessous est donné à titre d'illustration :
    .....   /home   ext4   defaults,usrquota,grpquota   1 2
    
  3. Pour profiter de ces options, nous allons remonter /home :
    systemctl daemon-reload
    
    Vérifiez ensuitre avec mount que les options de quota sont bien actives pour /home.
  4. Le mécanisme des quotas est basé sur des fichiers situés à la racine du système de fichiers et qui contiennent les statistiques d'utilisation pour chaque utilisateur et chaque groupe. Pour préparer ces fichiers nous allons utiliser la commande quotacheck  :
    dnf install quota
    quotacheck  -c -u -g -m -v -a
    
    Les options : -c : création, -ug : quotas groupe et utilisateur, -m : même si le périphérique est utilisé, -a : pous tous les points de montage listés dans /etc/fstab et soumis à quota. Cette commande est susceptible de prendre beaucoup de temps si le disque est important. Elle peut également être utilisée périodiquement pour actualiser les fichiers de quotas.
  5. A l'issue, nous obtenons deux fichiers :
    ls -l /home/aquota.*
    
  6. Nous pouvons maintenant activer le mécanisme des quotas avec la commande quotaon  :
    quotaon -a
    
  7. Vérifiez que les quotas fonctionnent chez les utilisateurs avec la commande quota -v .
  8. En tant qu'utilisateur etud, créez des fichiers et ré-utilisez la commande quota  :
    su - etud <<FIN
    dd if=/dev/zero of=/home/etud/MonFichier1 bs=1M count=100
    dd if=/dev/zero of=/home/etud/MonFichier2 bs=1M count=100
    quota -v
    exit
    FIN
    
  9. Pour terminer, vous pouvez obtenir un état des quotas de chaque utilisateur avec repquota  :
    repquota -a
    

Fixer les quotas

Nous pouvons maintenant fixer un quota avec la commande setquota  :

setquota -u user block-soft block-hard inode-soft inode-hard /home

Explications :

  • block-soft limite douce sur le nombre de blocs utilisés (peut être dépassée pendant la période de grâce : 7 jours)
  • block-hard limite dure sur le nombre de blocs utilisés (ne peut pas être dépassée)
  • inode-soft limite douce sur le nombre de fichiers (peut être dépassée pendant la période de grâce : 7 jours)
  • inode-hard limite dure sur le nombre de fichiers (ne peut pas être dépassée)
Travail à faire : Testez les limites douces et dures d'un utilisateur et explorez les possibilités de la commande setquota .

Utilitaires

  • Vous pouvez également fixer le quota d'un utilisateur de manière interactive en utilisant la commande edquota . Cette commande ouvre un éditeur de texte dans lequel vous pouvez modifier les limites douces et dures de l'utilisateur.
    edquota user
    
  • Vous pouvez également copier les limites d'un utilisateur à un autre avec :
    edquota -p user-source user-destination