Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       quotactl - Manipuler les quotas de disque

SYNOPSIS

       #include <sys/quota.h>
       #include <xfs/xqm.h>

       int quotactl(int cmd, const char *special, int id, caddr_t addr);

DESCRIPTION

       Le  systeme  de  quotas  permet  de  fixer  une  limite sur la quantite
       d'espace disque utilise sur un systeme de fichiers, qui peut etre  mise
       par  utilisateur  ou par groupe. Pour chaque utilisateur ou groupe, une
       limite souple et une limite imperative peuvent etre fixees  sur  chaque
       systeme de fichiers. La limite imperative ne peut pas etre depassee. La
       limite  souple  peut  etre  depassee,  mais  des  avertissements   s'en
       suivront. De plus, l'utilisateur ne peut pas depasser une limite souple
       pendant plus d'une semaine (par defaut) d'affilee. Une fois la  semaine
       ecoulee, la limite souple devient une limite imperative.

       L'appel  quotactl()  manipule  ces  quotas.  L'argument cmd indique une
       commande  a  appliquer  a  l'identifiant  d'utilisateur  ou  de  groupe
       specifie  dans  id.  Pour initialiser l'argument cmd, utilisez la macro
       QCMD(subcmd,type). La valeur type vaut soit USRQUOTA (pour  les  quotas
       d'utilisateur), soit GRPQUOTA (pour les quotas de groupe). La valeur de
       subcmd est decrite plus bas.

       L'argument special est  un  pointeur  vers  une  chaine  de  caracteres
       (terminee  par  le  caractere  nul) contenant le chemin du peripherique
       special en mode bloc pour le systeme de fichiers a manipuler.

       L'argument addr est l'adresse d'une structure de  donnees  optionnelle,
       specifique  a  la  commande,  qui  est copiee sur ou depuis le systeme.
       L'interpretation d'addr est donnee avec chaque commande ci-dessous.

       La valeur de subcmd prend une de ces valeurs :

       Q_QUOTAON
               Activer les quotas pour un systeme de fichiers.  L'argument  id
               est  le numero d'identification du format de quotas a utiliser.
               Il existe actuellement trois formats possibles de quotas :

               QFMT_VFS_OLD Le format original de quotas.

               QFMT_VFS_V0  Le standard VFS v0  format  de  quotas,  qui  peut
                            manipuler  des  identifiants  d'utilisateur  et de
                            groupe sur 32  bits,  et  des  limites  de  quotas
                            jusqu'a 2^42 octets et 2^32 inodes.

               QFMT_VFS_V1  Un   format  de  quotas  qui  peut  manipuler  des
                            identifiants d'utilisateur et  de  groupe  sur  32
                            bits, et des limites de quotas jusqu'a 2^64 octets
                            et 2^64 inodes.

               L'argument addr pointe sur le chemin d'un fichier contenant les
               quotas  du  systeme  de  fichiers.  Le  fichier  de quotas doit
               exister ;  il  est  habituellement   cree   par   la   commande
               quotacheck(8).   Cette   operation   necessite   le   privilege
               CAP_SYS_ADMIN.

       Q_QUOTAOFF
               Desactiver  les  quotas  pour  un  systeme  de  fichiers.   Les
               arguments addr et id sont ignores. Cette operation necessite le
               privilege CAP_SYS_ADMIN.

       Q_GETQUOTA
               Obtenir les limites  actuelles  et  l'utilisation  courante  de
               l'espace  disque pour l'utilisateur ou le groupe id. L'argument
               addr est un pointeur  sur  une  structure  dqblk  definie  dans
               <sys/quota.h> comme ceci :

                   /* uint64_t est un entier non signe 64 bits
                      uint32_t est un entier non signe 32 bits */

                   struct dqblk {          /* Definition depuis Linux 2.4.22 */
                       uint64_t dqb_bhardlimit;   /* limite imperative sur le
                                                     nombre de blocs disques */
                       uint64_t dqb_bsoftlimit;   /* limite douce sur le nombre
                                                     de blocs disques */
                       uint64_t dqb_curspace;     /* nombre de blocs actuel dans
                                                     le quota */
                       uint64_t dqb_ihardlimit;   /* nombre maximal d'inodes
                                                     alloues */
                       uint64_t dqb_isoftlimit;   /* limite douce d'inodes */
                       uint64_t dqb_curinodes;    /* nombre d'inodes actuellement
                                                     alloues */
                       uint64_t dqb_btime;        /* limite de temps pour utilisation
                                                     abusive du disque */
                       uint64_t dqb_itime;        /* limite de temps pour utilisation
                                                     des fichiers */
                       uint32_t dqb_valid;        /* masque de bit des constantes
                                                     QIF_* */
                   };

                   /* Attributs de dqb_valid qui indiquent quels champs
                      de la structure dqblk sont valables. */

                   #define QIF_BLIMITS   1
                   #define QIF_SPACE     2
                   #define QIF_ILIMITS   4
                   #define QIF_INODES    8
                   #define QIF_BTIME     16
                   #define QIF_ITIME     32
                   #define QIF_LIMITS    (QIF_BLIMITS | QIF_ILIMITS)
                   #define QIF_USAGE     (QIF_SPACE | QIF_INODES)
                   #define QIF_TIMES     (QIF_BTIME | QIF_ITIME)
                   #define QIF_ALL       (QIF_LIMITS | QIF_USAGE | QIF_TIMES)

               Le  champ  dqb_valid est un masque de bit qui permet d'indiquer
               quelles entrees de la structure sont valables. Actuellement, le
               noyau  remplit  toutes les entrees de la structure dqblk et les
               marque comme valables dans le champ dqb_valid. Les utilisateurs
               non privilegies ne peuvent connaitre que leurs propres quotas ;
               un utilisateur avec le privilege CAP_SYS_ADMIN  peut  connaitre
               les quotas de tous les utilisateurs.

       Q_SETQUOTA
               Definir  les  informations  de  quotas pour l'utilisateur ou le
               groupe id,  en  utilisant  les  informations  fournies  par  la
               structure dqblk dont l'adresse est contenue dans addr. Le champ
               dqb_valid de la structure dqblk indique quelles entrees  de  la
               structure  ont  ete  definies  par  l'appelant. Cette operation
               remplace les operations Q_SETQLIM et  Q_SETUSE  de  l'interface
               anterieure  de  quotas.  Cette operation necessite le privilege
               CAP_SYS_ADMIN.

       Q_GETINFO
               Obtenir les limites  actuelles  et  l'utilisation  courante  de
               l'espace  disque.  L'argument  addr  est  un  pointeur  sur une
               structure dqblk (definie dans <sys/quota.h>).

                   /* uint64_t est un entier non signe 64 bits
                      uint32_t est un entier non signe 32 bits */

                   struct dqinfo {          /* Definie depuis le noyau 2.4.22 */
                       uint64_t dqi_bgrace; /* Temps avant qu'une limite douce sur
                                               les blocs ne devienne imperative */

                       uint64_t dqi_igrace;    /* Temps avant qu'une limite douce sur
                                                  les inodes ne devienne imperative */
                       uint32_t dqi_flags;     /* Attributs pour le fichier de quotas
                                                  (DQF_*) */
                       uint32_t dqi_valid;
                   };

                   /* Bits pour dqi_flags */

                   /* Format de quota QFMT_VFS_OLD */

                   #define V1_DQF_RSQUASH   1   /* Activer << root squash >> */

                   /* Les autres formats de quotas n'ont pas de bits dqi_flags definis */

                   /* Attributs de dqi_valid qui indiquent quels champs
                      de la structure dqinfo sont valables. */

                   # define IIF_BGRACE 1
                   # define IIF_IGRACE 2
                   # define IIF_FLAGS  4
                   # define IIF_ALL    (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS)

               Le champ dqi_valid de la structure dqinfo indique  les  entrees
               de   la   structure   qui   sont  valables.  Le  noyau  remplit
               actuellement toutes les entrees de la structure dqinfo  et  les
               marque comme etant valables dans le champ dqi_valid. L'argument
               id est ignore.

       Q_SETINFO
               Definir  les  informations  au  sujet  du  fichier  de  quotas.
               L'argument  addr  devrait  etre  un pointeur vers une structure
               dqinfo. Le champ  dqi_valid  de  la  structure  dqinfo  indique
               quelles   entrees   de   la  structure  ont  ete  definies  par
               l'appelant. Cette operation remplace les operations  Q_SETGRACE
               et  Q_SETFLAGS  de l'interface anterieure de quotas. L'argument
               id  est  ignore.  Cette  operation   necessite   le   privilege
               CAP_SYS_ADMIN.

       Q_GETFMT
               Obtenir  le format de quotas utilise sur le systeme de fichiers
               specifie. L'argument addr est un pointeur sur un  tampon  de  4
               octets qui contient le numero du format.

       Q_SYNC  Met  a jour la copie sur disque de l'utilisation des quotas sur
               un systeme de fichiers. Si special vaut NULL,  alors  tous  les
               systemes de fichiers avec des quotas actives sont synchronises.
               Les arguments addr et id sont ignores.

       Q_GETSTATS
               Recupere des statistiques et d'autres  informations  generiques
               sur  le  sous-systeme  de  quotas. L'argument addr doit etre un
               pointeur sur une structure dqstats dans  laquelle  les  donnees
               seront    stockees.    Cette   structure   est   definie   dans
               <sys/quota.h>. Les arguments special et id sont ignores.  Cette
               operation  est  obsolete  et n'est plus acceptee par les noyaux
               recents ;  elle   est   remplacee   par   les   fichiers   dans
               /proc/sys/fs/quota/, qui contiennent les informations.

       Pour  des  systemes  de  fichiers  XFS qui utilisent le gestionnaire de
       quotas XFS (XFS Quota Manager, ou XQM), les commandes ci-dessus doivent
       etre remplacees par les commandes suivantes :

       Q_XQUOTAON
               Activer  les  quotas sur un systeme de fichiers XFS. XFS permet
               d'activer et desactiver le renforcement  des  limites  avec  la
               gestion  des quotas. Par consequent, XFS attend qu'addr soit un
               pointeur sur un unsigned int qui contient  soit  les  attributs
               XFS_QUOTA_UDQ_ACCT  et/ou  XFS_QUOTA_UDQ_ENFD  (pour les quotas
               d'utilisateur), ou XFS_QUOTA_GDQ_ACCT et/ou  XFS_QUOTA_GDQ_ENFD
               (pour  les  quotas  de  groupe), comme defini dans <xfs/xqm.h>.
               Cette operation necessite le privilege CAP_SYS_ADMIN.

       Q_XQUOTAOFF
               Desactiver les quotas pour un systeme de  fichiers  XFS.  Comme
               pour  Q_QUOTAON,  le  systeme de fichier XFS attend un pointeur
               vers un unsigned int qui specifie si  le  decompte  des  quotas
               et/ou  le  renforcement  des limites doit etre desactive. Cette
               operation necessite le privilege CAP_SYS_ADMIN.

       Q_XGETQUOTA
               Obtenir les limites  actuelles  et  l'utilisation  courante  de
               l'espace  disque  pour l'utilisateur id. L'argument addr est un
               pointeur  sur  une  structure   fs_disk_quota   (definie   dans
               <xfs/xqm.h>).  Les  utilisateurs  non  privilegies  ne  peuvent
               connaitre que leurs propres quotas ;  un  utilisateur  avec  le
               privilege  CAP_SYS_ADMIN  peut connaitre les quotas de tous les
               utilisateurs.

       Q_XSETQLIM
               Definir les  informations  de  quotas  pour  l'utilisateur  id.
               L'argument   addr  contient  un  pointeur  vers  une  structure
               fs_disk_quota  (definie  dans  <xfs/xqm.h>).  Cette   operation
               necessite le privilege CAP_SYS_ADMIN.

       Q_XGETQSTAT
               Renvoie  une structure fs_quota_stat contenant des informations
               de quotas specifiques au systeme  de  fichiers  XFS.  Ceci  est
               utile pour savoir combien d'espace est utilise pour stocker les
               informations sur les quotas, ainsi que  pour  connaitre  l'etat
               active  ou  non  des  quotas d'un systeme de fichiers local XFS
               specifique.

       Q_XQUOTARM
               Libere l'espace disque pris par les quotas sur le  disque.  Les
               quotas doivent avoir ete desactives au prealable.

       Il  n'existe  pas  de  commande  equivalente  a Q_SYNC pour XFS puisque
       sync(1)  ecrit les informations de quotas sur le disque  (en  plus  des
       autres  meta-donnees  du  systeme  de  fichiers  qui sont ecrits sur le
       disque).

VALEURS RENVOY'EES

       L'appel renvoie zero s'il reussit, ou -1 s'il echoue auquel  cas  errno
       contient le code d'erreur.

ERREURS

       EFAULT addr ou special n'est pas valable.

       EINVAL cmd ou type n'est pas valable.

       ENOENT Le fichier specifie par special ou addr n'existe pas.

       ENOSYS Le noyau a ete compile sans l'option CONFIG_QUOTA.

       ENOTBLK
              special n'est pas un peripherique bloc.

       EPERM  L'appelant    ne    possede    pas   le   privilege   necessaire
              (CAP_SYS_ADMIN)  pour l'operation demandee.

       ESRCH  Aucun quota de disque n'est impose pour l'utilisateur  specifie.
              Les quotas n'ont pas ete actives sur ce systeme de fichiers.

       Si cmd vaut Q_SETQUOTA, quotactl() peut aussi definir errno ainsi :

       ERANGE Les  limites  specifiees sont en dehors de l'intervalle autorise
              for le format de quotas.

       Si cmd vaut Q_QUOTAON, quotactl() peut aussi definir errno ainsi :

       EACCES Le fichier de quotas pointe par addr existe, mais n'est  pas  un
              fichier  normal ; ou alors, le fichier de quotas pointe par addr
              existe, mais n'est pas dans le systeme de  fichiers  pointe  par
              special.

       EBUSY  Tentative  de  Q_QUOTAON,  mais  un  autre  Q_QUOTAON a deja ete
              realise.

       EINVAL Le fichier de quotas est corrompu.

       ESRCH  Le format de quotas specifie n'a pas ete trouve.

VOIR AUSSI

       quota(1), getrlimit(2), quotacheck(8), quotaon(8)

COLOPHON

       Cette page fait partie de  la  publication  3.27  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone        au        sein        du       projet       perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe Blaess  <URL:http://www.blaess.fr/christophe/>  (1996-2003),
       Alain   Portal  <URL:http://manpagesfr.free.fr/>  (2003-2006).   Julien
       Cristau et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez  signaler  toute  erreur   de   traduction   en   ecrivant   a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.