Gestion des quotas

Voici dans ses grandes lignes les phases du démarrage du système jusqu'à une session de travail, et le mécanisme (appelé System V) de lancement ordonné des processus et en particulier les services.

Rappels : montage des systèmes de fichiers

  • Quels que soient leur type (vfat, ext2, swap, iso ..) et leur support (partitions du disque dur ou amovibles (cd, disquettes ...) ou accessibles par le réseau (NFS, Samba ..), le procédé de montage intégre les fichiers dans un répertoire (leur point de montage) de l'arborescence générale du système.
  • Les commandes mount/umount exécutent le montage/démontage des systèmes de fichiers, conformément aux directives contenues dans /etc/fstab. En particulier, cette table de montage précise si le système de fichiers doit etre monté lors de l'initialisation ou à la demande, par root ou n'importe quel utilisateur.
  • Se reporter à cette annexe pour revoir la signification de ses différents champs.

Principe et mise en oeuvre des quotas

  1. Il s'agit de limiter l'espace disque et/ou le nombre de fichiers alloués aux utilisateur ou aux groupes, sur un système de fichiers désigné, donc sur une partition.
    Le but recherché est le plus souvent de contraindre à une meilleure gestion des rép.personnels. Quand un utilisateur dépasse la taille maximale fixée, il est averti et dispose d'un délai pour "faire le ménage" ...
  2. Plus précisément, cela se quantifie en donnant 2 nombres, les limites
    • "soft" : il s'agit d'une tolérance, cette limite peut etre franchie (pendant 7 jours par défaut)
    • "hard" : franchie par un utilisateur ou un groupe, celui-ci ne peut plus écrire sur le disque, tant qu'elle est dépassée
  3. Vérifier d'abord que le paquetage est bien installé : rpm -q quota
  4. Activer la prise en charge des quotas pour un système de fichiers, en ajoutant sur la ligne adéquate de /etc/fstab, le mot-clé usrquota dans la liste des options
    On suppose dans la suite que la partition /dev/hda6 est affecté au répertoire /home. Pour activer la surveillance des répertoires personnels, on doit effectuer cette déclaration dans le fichier /etc/fstab, en ajoutant l'option usrquota (et/ou groupquota) sur la ligne qui configure le montage de /home :
    /dev/hda6  /home  ext2 defaults,usrquota 1 2
  5. Initialiser les tables de quotas
    # quotacheck /dev/hda6
    On peut vérifier que le fichier quota.user a été créé dans /home. Il renferme la table des quotas.
    Et générer un rapport de surveillance par repquota -a
  6. Attribuer des limites aux utilisateurs "à surveiller" La commande edquota fait passer en mode édition dans vi
    # edquota -u toto
    Quotas for user toto:
    /dev/hda6 : blocks in use: 148, limits (soft = 0 , hard = 0)
    inodes in use: 37, limits (soft = 0 , hard = 0)
    Il suffit de modifier les valeurs des limites soft et hard.
  7. Avec Linuxconf
    1. aller dans le menu "accéder aux disques locaux", sélectionner la partition à surveiller
    2. cocher [x] "quota utilisateur activé"
      Vérifier l'ajout de userquota dans les options de la ligne concernée dans /etc/fstab
  8. Pour attribuer les memes quotas à tous un ensemble d'utilisateurs, il n'est heureusement pas question de les traiter un par un avec edquota -u
    L'option -p de edquota permet de proposer un utilisateur comme modèle à tous les autres.
    La ligne de commande suivante est souvent adoptée :
    # edquota -p toto `awk -F: '$3 >500 {print $1}' /etc/passwd `

Les commandes

Commande signification
quotaon/quotaoff partition|-a active/désactive les quotas sur la|toutes partition(s)
repquota -a affiche un rapport complet par utilisateur et par groupe
quota -v toto état des quotas pour l'utilisateur
quotacheck Met à jour les tables de quotas. Lancé à chaque démarrage du système
edquota -u toto Edition sous vi des limites
edquota -p toto liste Impose les quotas de toto aux membres de la liste
edquota -t Edition sous vi de la durée de la "grace"

Manipulations

  1. Vérifier que vous disposez d'une partition dédiée à /home
  2. Mettre en oeuvre la vérification des quotas sur cette partition
  3. Créer un utilisateur standard toto (avec les options par défaut)
  4. Quelle est la taille de son répertoire personnel ?
    du -h /home/toto
  5. Configurez et activez les quotas sur cette partition
  6. Surveiller toto en lui fixant des limites d'espace disque 100 Ko et 300 Ko
  7. Que vous indique alors le rapport fourni par repquota ?
  8. toto n'en tenant pas compte, recopie dans son répertoire perso la doc d'apache à /usr/share/doc/apache/
    Que se passe t-il ? Conclusions ?
  9. toto fait le ménage dans son rép. personnel. Peut-il de nouveau en disposer ?
  10. Si root désactive la surveillance par quotaoff -a, que peut faire toto ?
  11. Comparez les commandes repquota -a et du -h /home/toto. Suffit-il de réactiver par quotaon -a ? Testez !
  12. Créer quelques nouveaux utilisateurs et leur imposer les memes quotas qu'à toto