<!--
     The FreeBSD Documentation Project
     The FreeBSD French Documentation Project

     $FreeBSD$
     Original revision: n.nn
-->

    <chapter
      id="quotas">
      <title>Quotas d'utilisation des disques</title>
      
      <para><emphasis>Contribution de &a.mpp;.<!-- <br> -->26 F&eacute;vrier
	  1996</emphasis></para>
      &trans.a.haby;
      
      <para>Les quotas sont une option du syst&egrave;me d'exploitation qui vous
        permet de limiter la quantit&eacute; d'espace disque et/ou le nombre
        de fichiers auxquels ont droit un utilisateur ou tous les
        utilisateurs du m&ecirc;me groupe, sur un syst&egrave;me de fichiers donn&eacute;.
        On les utilise la plupart du temps sur les syst&egrave;mes en temps
        partag&eacute; sur lequel il est souhaitable de limiter la quantit&eacute; de
        ressources allou&eacute;e &agrave; un utilisateur ou &agrave; un groupe. Cela &eacute;vite
        qu'un seul utilisateur consomme tout l'espace disque.</para> 
      
      
      <sect1>
	<title>Configurer votre syst&egrave;me pour pouvoir utiliser les
          quotas d'utilisation des disques</title>
	
	<para>Avant d'essayer de mettre en place des quotas disque, il faut
          vous assurez que votre noyau est configur&eacute; pour cela. Pour ce faire,
          vous devez ajouter la ligne suivante au fichier de configuration de
          votre noyau:</para> 

	  <programlisting>
options QUOTA
	  </programlisting>

	<para>Cette option n'est pas activ&eacute;e par d&eacute;faut dans le fichier noyau
	  <filename>GENERIC</filename> de base, vous devez donc configurer,
          compiler et installer un noyau sur-mesure pour utiliser les quotas
          disque. Reportez-vous s'il vous pla&icirc;t au chapitre
	  <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link>
	  pour plus d'informations sur la configuration du noyau.</para>
	
	<para>Vous devrez ensuite mettre en service les quotas dans votre
          fichier <filename>/etc/sysconfig</filename>. Pour cela, remplacez
	  la ligne:
	  
	  <programlisting>
quotas=NO
	  </programlisting>par:
	  
	  <programlisting>
quotas=YES
	  </programlisting></para>
	
	<para>Si vous utilisez FreeBSD 2.2.2 ou ult&eacute;rieur, ce fichier
          de configuration s'appelle <filename>/etc/rc.conf</filename> et le
          nom de la variable a &eacute;t&eacute; modifi&eacute; en:
	  
	  <programlisting>
check_quotas=YES
	  </programlisting></para>
	
	<para>Vous devez enfin &eacute;diter le fichier 
          <filename>/etc/fstab</filename> pour mettre en service les quotas
          syst&egrave;me de fichiers par syst&egrave;me de fichiers. C'est l&agrave; que vous
          dites si vous voulez des quotas d'utilisation des disques par
          utilisateur, par groupe ou les deux, pour chaque syst&egrave;me de
          fichiers.</para>
	
	<para>Pour mettre en service des quotas par utilisateur, ajoutez
          l'option <literal>userquota</literal> &agrave; la zone d'options de
          l'entr&eacute;e de <filename>/etc/fstab</filename> pour le syst&egrave;me de
          fichiers sur lequel vous voulez des quotas. Par exemple:</para>

	  <programlisting>
/dev/sd1s2g   /home    ufs rw,userquota 1 2
	  </programlisting>
	
	<para>De m&ecirc;me, pour d&eacute;finir des quotas par groupe, utilisez l'option
	  <literal>groupquota</literal> au lieu du mot-cl&eacute;
          <literal>userquota</literal>. Pour avoir &agrave; la fois des quotas par
          utilisateur et par groupe, modifiez cette entr&eacute;e de la fa&ccedil;on
          suivante:</para>

	  <programlisting>
/dev/sd1s2g    /home    ufs rw,userquota,groupquota 1 2
	  </programlisting>
	
	<para>Par d&eacute;faut, les fichiers o&ugrave; sont d&eacute;finis les quotas se trouvent
          dans le r&eacute;pertoire racine du syst&egrave;me de fichiers et s'appellent
	  <filename>quota.user</filename> et
	  <filename>quota.group</filename>, pour les quotas par utilisateur
          et, respectivement, par groupe. Consultez 
          <command>man fstab</command> pour plus d'informations. Bien que les
          pages de manuel disent que vous pouvez mettre ces fichiers ailleurs,
          ce n'est pas recommand&eacute; parce qu'il semble que les divers utilitaires
          qui g&egrave;rent les quotas ne prennent pas tous cela correctement en 
          compte.</para>
	
	<para>Vous devez maintenant red&eacute;marrer votre syst&egrave;me avec le nouveau
          noyau. La proc&eacute;dure <filename>/etc/rc</filename> ex&eacute;cutera 
          automatiquement les commandes n&eacute;cessaires &agrave; la cr&eacute;ation des fichiers
          de quotas initiaux pour tous ceux que vous avez instaur&eacute;s dans
	  <filename>/etc/fstab</filename>, vous n'avez donc pas besoin de
          cr&eacute;er &agrave; la main des fichiers de quotas vides.</para>
	
	<para>Vous ne devriez normalement pas avoir &agrave; ex&eacute;cuter les commandes
	  <command>quotacheck</command>, <command>quotaon</command>, 
          ou <command>quotaoff</command>. Vous pouvez cependant lire les pages
          de manuel qui s'y rapportent, simplement pour savoir ce qu'elles
          font.</para>
	
      </sect1>
      
      <sect1>
	<title>D&eacute;finir les quotas</title>
	
	<para>Maintenant que votre syst&egrave;me est configur&eacute; pour mettre en place
           des quotas, v&eacute;rifiez que cela marche bien. Cela ce fait facilement
           en ex&eacute;cutant:</para>

	  <informalexample>
	    <screen>&prompt.root; <userinput>quota -v</userinput></screen>
	  </informalexample>
	
	<para>Vous devriez obtenir une ligne de r&eacute;sum&eacute; d'utilisation du
	  disque avec les quotas actuellement d&eacute;finis pour chaque syst&egrave;me de
          fichiers sur lesquels il y a des quotas.</para>
	
	<para>Vous pouvez maintenant d&eacute;finir ces quotas avec la commande
	  <command>edquota</command>.</para>
	
	<para>Il y a diff&eacute;rentes option pour instaurer les quotas d'espace
          disque allou&eacute;s &agrave; un utilisateur ou &agrave; un groupe et le nombre de
          fichiers qu'ils ont le droit de cr&eacute;er. Il peuvent &ecirc;tre bas&eacute;s sur
          l'espace disque (quotas en nombre de blocs) ou le nombre de fichiers
          (quotas en nombre d'entr&eacute;es dans le 
          r&eacute;pertoire&nbsp;-&nbsp;&ldquo;inode&rdquo;) ou les deux. Ces options
          peuvent encore &ecirc;tre subdivis&eacute;es en deux cat&eacute;gories: limitations
          strictes ou souples.</para>
	
	<para>Les limites strictes ne peuvent jamais &ecirc;tre d&eacute;pass&eacute;es. D&egrave;s qu'un
          utilisateur atteint sa limite stricte, il ne peut plus rien allouer
          sur le syst&egrave;me de fichiers en question. Si par exemple, il n'a
          droit qu'&agrave; 500 blocs sur un syst&egrave;me de fichiers et en utilise d&eacute;j&agrave;
          490, il ne peut plus en allouer que 10. S'il voulait en allouer 11,
          il n'y arriverait pas.</para>
	
	<para>Les limites souples peuvent elles &ecirc;tre d&eacute;pass&eacute;es pour une p&eacute;riode
          de temps restreinte. C'est ce que l'on appelle le d&eacute;lai de gr&acirc;ce, qui
          est d'une semaine par d&eacute;faut. Si un utilisateur d&eacute;passe sa limite
          souple au del&agrave; du d&eacute;lai de gr&acirc;ce, cette limite devient stricte, et
          il ne peut plus rien allouer. Lorsqu'il redescend en dessous de
          la limite stricte, le d&eacute;lai de gr&acirc;ce lui est r&eacute;accord&eacute;.</para>
	
	<para>Voici un exemple de ce que vous pouvez voir en utilisant
          la commande <command>edquota</command>. Quand vous invoquez la
	  commande <command>edquota</command>, vous vous retrouvez sous
	  l'&eacute;diteur d&eacute;fini par la variable d'environnement
          <envar>EDITOR</envar>, ou sous <command>vi</command>
	  si la variable d'environnement <envar>EDITOR</envar> n'est pas
          positionn&eacute;e, ce qui vous permet d'&eacute;diter les quotas.</para>

	  <informalexample>
	    <screen>&prompt.root; <userinput>edquota -u test</userinput></screen>
	  </informalexample>

	  <programlisting>
Quotas for user test:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
        inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
        inodes in use: 0, limits (soft = 50, hard = 60)
	  </programlisting>

	<para>Il y aura normalement deux lignes pour chaque syst&egrave;me de fichiers
          sur lequel il y a des quotas: une pour les quotas de blocs, l'autre
          pour les quotas d'entr&eacute;es de r&eacute;pertoire. Modifiez simplement les
          valeurs que vous voulez mettre &agrave; jour. Par exemple, pour augmenter
          la limite de blocs accord&eacute;e &agrave; cet utilisateur de 50 pour la limite
          souple et 75 pour la limite stricte &agrave; 500 pour la limite souple et
          600 pour la limite stricte, modifiez:

	  <programlisting>
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
	  </programlisting> en:

	  <programlisting>
/usr: blocks in use: 65, limits (soft = 500, hard = 600)
	  </programlisting></para>

	<para>Ces nouveaux quotas seront en service d&egrave;s que vous quitterez
	  l'&eacute;diteur.</para>
	
	<para>Il est parfois souhaitable de d&eacute;finir des quotas pour une plage
          d'UIDs (identifiants utilisateur). Cela peut &ecirc;tre r&eacute;alis&eacute; par
          l'option <option>-p</option> de la commande 
          <command>edquota</command>. D&eacute;finissez d'abord les quotas voulus pour
          un seul utilisateur, puis ex&eacute;cutez <command>edquota -p
	    utilisateur_prototype premier_uid-dernier_uid</command>. 
          Par exemple, si les quotas voulus sont ceux de l'utilisateur
	  <username>test</username>, la commande qui suit applique les
          m&ecirc;mes quotas aux &ldquo;uids&rdquo; de 10.000 &agrave; 19.999:</para>

	  <informalexample>
	    <screen>&prompt.root; <userinput>edquota -p test 10000-19999</userinput></screen>
	  </informalexample>
	
	<para>Cette possibilit&eacute; de d&eacute;finir des quotas pour une plage
          d'&ldquo;uids&rdquo; a &eacute;t&eacute; ajout&eacute;e apr&egrave;s la version 2.1. Si
          vous voulez en b&eacute;n&eacute;ficiez sur un syst&egrave;me 2.1, vous devez
          r&eacute;cup&eacute;rer un version plus r&eacute;cente de 
          <command>edquota</command>.</para>
	
	<para>Voyez <command>man edquota</command> pour des informations plus
	  d&eacute;taill&eacute;es.</para>
	
      </sect1>
      
      <sect1>
	<title>Consulter les quotas et l'utilisation des disques</title>
	
	<para>Vous pouvez utiliser l'une des commandes
          <command>quota</command> ou <command>repquota</command> pour
          consulter les quotas et l'utilisation des disques.
	  La commande <command>quota</command> peut &ecirc;tre employ&eacute;e pour
          conna&icirc;tre les quotas et l'utilisation des disques pour un
          utilisateur et un groupe. Seul le super-utilisateur peut
          consulter les quotas et l'usage des disques des autres
          utilisateurs ou d'un groupe auquel il n'appartient pas. 
          La commande <command>repquota</command> permet d'avoir un
          r&eacute;sum&eacute; des quotas et de l'utilisation des disques pour les
          syst&egrave;mes des fichiers sur lesquels il y a des quotas.</para>
	
	<para>Voici un exemple de r&eacute;sultat obtenu avec la commande
          <command>quota -v</command> pour un utilisateur pour lequel on
          a d&eacute;fini des quotas sur deux syst&egrave;mes de fichiers.</para>
	
	
	  <programlisting>
Disk quotas for user test (uid 1002):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
           /usr      65*     50      75   5days       7      50      60
       /usr/var       0      50      75               0      50      60
	  </programlisting>

	<para>Dans cet exemple, l'utilisateur occupe 15 blocs de plus que la 
          limite de 50 blocs qui lui est allou&eacute;e sur le syst&egrave;me de fichiers 
          <filename>/usr</filename> et dispose d'un d&eacute;lai de gr&acirc;ce de 5 jours.
	  Remarquez l'ast&eacute;risque <literal>*</literal> qui indique que la limite
          est d&eacute;pass&eacute;e.</para>
	
	<para>Les syst&egrave;mes de fichiers sur lequel l'utilisateur n'occupe pas
          de place n'apparaissent normalement pas dans les sorties de la
          commande <command>quota</command>, m&ecirc;me s'il a des quotas
          sur ces syst&egrave;mes de fichiers. L'option <option>-v</option> elle
          les liste, comme <filename>/usr/var</filename> dans l'exemple
	  ci-dessus.</para>
	
      </sect1>
      
      <sect1>
	<title>* Quotas avec NFS</title>
	
	<para>Cette section est encore en cours de r&eacute;daction.</para>
	
      </sect1>
    </chapter>
<!--    
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-shorttag: nil
     sgml-always-quote-attributes: t 
     sgml-minimize-attributes: max
     sgml-parent-document: ("../handbook.sgml" "part" "chapter")
     End: 
-->       
