Skip to Content

Mettre en place des quotas d’espace disque disponible pour les utilisateurs

But de ce document

Ce document a pour but de mettre en place des quotas pour les utilisateurs multiples d’un disque dur. La démarche est testée sous Debian testing. Elle s’inspire de tutos divers cités à la fin de ce document. Cette démarche est valable pour la mise en place de quotas sur un serveur et pour d’autres distributions.

Installer les paquets et changer le système de fichiers

Installer les paquets nécessaires sous root :

# aptitude install quota quotatool

De même, sous root, nous allons changer le système de fichiers concerné pour y mettre les options de quota. Dans notre cas, le dossier est notre /home.

Vous pouvez bien entendu faire une sauvegarde préalable du fichier fstab concerné :

# cp /etc/fstab /etc/fstab-backup

Ouvrir le fichier du système de fichier :

# vim /etc/fstab

La ligne concernée avant le changement :

/dev/sda4 /home ext3 defaults 0 2

et après le changement :

/dev/sda4 /home ext3 defaults,usrquota,grpquota 0 2

Structure à mettre en place pour l’utilisation des quotas :

Créer les fichiers nécessaires au fonctionnement des quotas avec la commande « touch »

# touch /home/aquota.user /home/aquota.group

Attention :ne pas oublier de modifier les droits sur ces fichiers ! Ils doivent comporter les droits en écriture et lecture pour root uniquement.

# chmod 600 /home/aquota.*

Remonter le ou les systèmes de fichiers concernés pour prendre en compte l’utilisation de quotas pour ce système de fichiers.

# mount -o remount /home

La commande quotacheck permet de scanner le système de fichier

# quotacheck -auvgm

Pour activer les quotas, exécuter cette commande

# quotaon -avug

et l’on obtient :

/dev/sda4 [/home] : quotas group activés

/dev/sda4 [/home] : quotas user activés

Fixation des quotas des utilisateurs

Pour cela une commande fait le travail « edquota ». Je découvre à son utilisation qu’elle m’ouvre le fichier demandé avec l’éditeur « nano » alors que j’utilise « vim » habituellement. Je change donc d’éditeur avant de faire les manipulations :

# update-alternatives --config editor

et là je choisis vim comme editeur par défaut.

Je peux maintenant ouvrir « edquota » avec vim :

# edquota -u eric

Quotas disque pour user eric (uid 1003) :

Système de fichiers blocs souple stricte inodes souple stricte

/dev/sda4 725000 800000 1000000 3240 0 0

Dans cet exemple, nous remarquons que j’ai fixé à 800Mo le quotas souple et à 1Go le quota strict. L’utilisateur Eric sera prévenu dès l’utilisation de la limité souple l’utilisation de son quota.

Je peux définir des quotas pour les autres utilisateurs de la même façon. D’autres options sont aussi disponibles.

  •  -g group définit les quotas pour un ou plusieurs groupes
  •  -t définit les délais

    Voir l’utilisation des quotas

    Pour l’administrateur, Il est assez simple en ligne de commande d’avoir un rapport d’utilisation avec la commande « repquota » : (Je n’ai conservé que le profil eric dans le rapport)

    # repquota -avu

    *** Rapport pour les quotas user sur le périphérique /dev/sda4

    Période de sursis bloc : 7days ; période de sursis inode : 7days

    Limites bloc Limites fichier

    Utilisateur utilisé souple stricte sursis utilisé souple stricte sursis


    eric — 1716936 1750000 1800000 5698 0 0
    Statistiques :
    Total des blocs : 7
    Blocs de données : 1
    Entrées : 4
    Moyenne d’utilisation : 4,000000

    Explications des options utilisées et autres options disponibles :

  •  -v : mode verbeux, affiche des infos supplémentaires
  •  -u : affiche des informations sur les quotas utilisateurs
  •  -g : affiche des informations sur les quotas groupes
  •  -a : affiche des informations sur tous les systèmes de fichiers disposant de quotas

    Information pour les utilisateurs

    L’information sur le quota alloué va arriver quand l’utilisateur va s’en approcher. Il aura un signal au moment de copier un fichier qui dépasse la limité allouée.

    Pour aller plus loin, les tutos qui m’ont aidé (merci Patrice) :

  •  http://www.lea-linux.org/documentations/index.php/Admin-admin_fs-quotas
  •  http://traduc.org/docs/HOWTO/vf/Quota.html (tuto de 1997 mais toujours valable !)
  •  http://jadria.fr/configurer-la-gestion-des-quotas-sur-un-serveur-dedie-linux/
  • Historique des modifications

    Version Date Commentaire
    0.2 01/02/09 Création par Claude BOBEY

    Commentaires

    Mettre en place des quotas d’espace disque disponible pour les u

    Bonsoir Tony,
    J’ai fait un ajout dans le tuto pour la consultation de l’utilisation des quotas. pour l’avertissement, ils sont avertis quand il arrivent à la limite de leur possibilité.

    Mettre en place des quotas d’espace disque disponible pour les u

    Bonsoir Claude,

    Bravo pour le tuto, je vois que tu tapes dans le bien technique maintenant.

    Une petite faute :
     > mise ’ne’ place de quotas -> mise ’en’ place de quotas

    Sinon, je ne vois pas dans ta configuration comment l’utilisateur sera averti.
     > Tu as fait un test ?