<h2>But de ce document</h2>
<p class="spip">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.</p>

<h2>Installer les paquets et changer le système de fichiers</h2>
<p class="spip">Installer les paquets nécessaires sous root :</p>

<p class="spip"><code class='spip_code' dir='ltr'># aptitude install quota quotatool</code></p>

<p class="spip">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.</p>

<p class="spip">Vous pouvez bien entendu faire une sauvegarde préalable du fichier fstab concerné :</p>

<p class="spip"><code class='spip_code' dir='ltr'># cp /etc/fstab /etc/fstab-backup</code></p>

<p class="spip">Ouvrir le fichier du système de fichier :</p>

<p class="spip"><code class='spip_code' dir='ltr'># vim /etc/fstab</code></p>

<p class="spip">La ligne concernée avant le changement :</p>

<blockquote class="spip">
<p class="spip">/dev/sda4       /home           ext3    defaults        0       2</p>
</blockquote>
<p class="spip">et après le changement :</p>

<blockquote class="spip">
<p class="spip">/dev/sda4       /home           ext3    defaults,usrquota,grpquota        0       2</p>
</blockquote>
<h2>Structure à mettre en place pour l’utilisation des quotas : </h2>
<p class="spip">Créer les fichiers nécessaires au fonctionnement des quotas avec la commande « touch »</p>

<p class="spip"><code class='spip_code' dir='ltr'># touch /home/aquota.user /home/aquota.group</code></p>

<p class="spip"><strong class="spip">Attention :</strong>ne pas oublier de <strong class="spip">modifier les droits</strong> sur ces fichiers ! Ils doivent comporter les droits en écriture et lecture pour root uniquement.</p>

<p class="spip"><code class='spip_code' dir='ltr'># chmod 600 /home/aquota.*</code></p>

<p class="spip">Remonter le ou les systèmes de fichiers concernés pour prendre en compte l’utilisation de quotas pour ce système de fichiers.</p>

<p class="spip"><code class='spip_code' dir='ltr'># mount -o remount /home</code></p>

<p class="spip">La commande quotacheck permet de scanner le système de fichier</p>

<p class="spip"><code class='spip_code' dir='ltr'># quotacheck -auvgm</code></p>

<p class="spip">Pour activer les quotas, exécuter cette commande</p>

<p class="spip"><code class='spip_code' dir='ltr'># quotaon -avug </code></p>

<p class="spip">et l’on obtient :</p>

<blockquote class="spip">
<p class="spip">/dev/sda4 [/home] : quotas group activés</p>

<p class="spip">/dev/sda4 [/home] : quotas user activés</p>
</blockquote>
<h2>Fixation des quotas des utilisateurs </h2>
<p class="spip">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 :</p>

<p class="spip"><code class='spip_code' dir='ltr'># update-alternatives --config editor</code></p>

<p class="spip">et là je choisis vim comme editeur par défaut.</p>

<p class="spip">Je peux maintenant ouvrir « edquota » avec vim :</p>

<p class="spip"><code class='spip_code' dir='ltr'># edquota -u eric</code></p>

<blockquote class="spip">
<p class="spip">Quotas disque pour user eric (uid 1003) :</p>

<p class="spip">Système de fichiers           blocs       souple     stricte   inodes    souple   stricte</p>

<p class="spip">/dev/sda4                   725000     800000    1000000       3240        0        0</p>
</blockquote>
<p class="spip">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.</p>

<p class="spip">Je peux définir des quotas pour les autres utilisateurs de la même façon. D’autres options sont aussi disponibles. 
<br /></p>
<li> -g group définit les quotas pour un ou plusieurs groupes 
<br /><li> -t définit les délais
<h2>Voir l’utilisation des quotas</h2>
<p class="spip">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)</p>

<p class="spip"><code class='spip_code' dir='ltr'># repquota -avu</code></p>

<blockquote class="spip">
<p class="spip">*** Rapport pour les quotas user sur le périphérique /dev/sda4</p>

<p class="spip">Période de sursis bloc : 7days ; période de sursis inode : 7days</p>

<p class="spip">Limites bloc               Limites fichier</p>

<p class="spip">Utilisateur     utilisé souple stricte sursis utilisé souple stricte sursis</p>

<hr>
<p class="spip">eric      &mdash; 1716936 1750000 1800000           5698     0     0
Statistiques :
Total des blocs : 7
Blocs de données : 1
Entrées : 4
Moyenne d’utilisation : 4,000000</p>
</blockquote>
<p class="spip">Explications des options utilisées et autres options disponibles : 
<br /></p>
<li> <strong class="spip">-v</strong> : mode verbeux, affiche des infos supplémentaires 
<br /><li> <strong class="spip">-u</strong> : affiche des informations sur les quotas utilisateurs 
<br /><li> <strong class="spip">-g</strong> : affiche des informations sur les quotas groupes 
<br /><li> <strong class="spip">-a</strong> : affiche des informations sur tous les systèmes de fichiers disposant de quotas
<h2>Information pour les utilisateurs</h2>
<p class="spip">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.</p>

<h2>Pour aller plus loin, les tutos qui m’ont aidé (merci Patrice) : </h2>
<br /><li> <a href="http://www.lea-linux.org/documentations/index.php/Admin-admin_fs-quotas" class="spip_out">http://www.lea-linux.org/documentations/index.php/Admin-admin_fs-quotas</a>
<br /><li> <a href="http://traduc.org/docs/HOWTO/vf/Quota.html" class="spip_out">http://traduc.org/docs/HOWTO/vf/Quota.html</a> (tuto de 1997 mais toujours valable !)
<br /><li> <a href="http://jadria.fr/configurer-la-gestion-des-quotas-sur-un-serveur-dedie-linux/" class="spip_out">http://jadria.fr/configurer-la-gestion-des-quotas-sur-un-serveur-dedie-linux/</a>
<h2>Historique des modifications</h2>
<table class="spip">
<tbody>
<tr class="row_even"><td>Version</td><td>Date</td><td>Commentaire</td></tr>
<tr class="row_odd"><td>0.2</td><td>01/02/09</td><td>Création par Claude BOBEY</td></tr>
</tbody>
</table>