Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
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> >>.