.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2010, Jan Kara .\" A few pieces copyright (c) 1996 Andries Brouwer (aeb@cwi.nl) .\" and copyright 2010 (c) Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH quotactl 2 "10 февраля 2023 г." "Linux man\-pages 6.03" .SH ИМЯ quotactl \- управление дисковыми квотами .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP \fB#include \fP /* Definition of \fBQ_X*\fP and \fBXFS_QUOTA_*\fP constants (or \fB\fP; see NOTES) */ .PP \fBint quotactl(int \fP\fIcmd\fP\fB, const char *_Nullable \fP\fIspecial\fP\fB, int \fP\fIid\fP\fB,\fP \fB caddr_t \fP\fIaddr\fP\fB);\fP .fi .SH ОПИСАНИЕ С помощью системы квот можно задать каждому пользователю, группе или проекту лимит использования дискового пространства. Для пользователя или группы в каждой файловой системе можно указать необязательный (soft) и обязательный (hard) лимиты. Обязательный лимит не может быть превышен. Необязательный лимит превышать можно, но будет выдано соответствующее предостережение. Более того, пользователь может превышать необязательный лимит только в течении льготного срока (по умолчанию,одна неделя); после этого необязательный лимит будет считаться обязательным. .PP .\" 847aac644e92e5624f2c153bab409bf713d5ff9a Управление квотами выполняется с помощью вызова \fBquotactl\fP(). В аргументе \fIcmd\fP задаётся команда, которая должна быть применена для пользовательского или группового идентификатора, указанного в \fIid\fP. Для инициализации значения аргумента \fIcmd\fP используйте макрос \fIQCMD(subcmd, type)\fP. Значение \fItype\fP может быть \fBUSRQUOTA\fP (для пользовательских квот), \fBGRPQUOTA\fP (для групповых квот) или (начиная с Linux 4.1) \fBPRJQUOTA\fP (для проектных квот). Значение \fIsubcmd\fP описано ниже. .PP Аргумент \fIspecial\fP представляет собой указатель на строку, завершающуюся null и содержащую путь к блочному устройству (смонтированному) с файловой системой, на которую накладывается квота. .PP The \fIaddr\fP argument is the address of an optional, command\-specific, data structure that is copied in or out of the system. The interpretation of \fIaddr\fP is given with each operation below. .PP The \fIsubcmd\fP value is one of the following operations: .TP \fBQ_QUOTAON\fP Включает учёт квот в файловой системе. В аргументе \fIid\fP задаётся используемый идентификационный номер формата квот. В настоящее время поддерживается три формата квот: .RS .TP 13 \fBQFMT_VFS_OLD\fP Самая первая версия формата квот. .TP \fBQFMT_VFS_V0\fP The standard VFS v0 quota format, which can handle 32\-bit UIDs and GIDs and quota limits up to 2\[ha]42 bytes and 2\[ha]32 inodes. .TP \fBQFMT_VFS_V1\fP A quota format that can handle 32\-bit UIDs and GIDs and quota limits of 2\[ha]63 \- 1 bytes and 2\[ha]63 \- 1 inodes. .RE .IP The \fIaddr\fP argument points to the pathname of a file containing the quotas for the filesystem. The quota file must exist; it is normally created with the \fBquotacheck\fP(8) program .IP Quota information can be also stored in hidden system inodes for ext4, XFS, and other filesystems if the filesystem is configured so. In this case, there are no visible quota files and there is no need to use \fBquotacheck\fP(8). Quota information is always kept consistent by the filesystem and the \fBQ_QUOTAON\fP operation serves only to enable enforcement of quota limits. The presence of hidden system inodes with quota information is indicated by the \fBDQF_SYS_FILE\fP flag in the \fIdqi_flags\fP field returned by the \fBQ_GETINFO\fP operation. .IP This operation requires privilege (\fBCAP_SYS_ADMIN\fP). .TP \fBQ_QUOTAOFF\fP Выключает учёт квот в файловой системе. Аргументы \fIaddr\fP и \fIid\fP игнорируются. Данная операция требует дополнительных прав (\fBCAP_SYS_ADMIN\fP). .TP \fBQ_GETQUOTA\fP Возвращает данные по лимитам и текущее значение использованного пространства для пользователя или группы с заданным \fIid\fP. Аргумент \fIaddr\fP является указателем на структуру \fIdqblk\fP, определённую в \fI\fP следующим образом: .IP .in +4n .EX /* uint64_t имеет тип unsigned 64\-bit integer; uint32_t имеет тип unsigned 32\-bit integer */ struct dqblk { /* определение, действующее с Linux 2.4.22 */ uint64_t dqb_bhardlimit; /* абсолютный лимит на выделяемые блоки дисковых квот */ uint64_t dqb_bsoftlimit; /* предпочтительный лимит на выделяемые блоки дисковых квот */ uint64_t dqb_curspace; /* занятое в данный момент пространство (в байтах) */ uint64_t dqb_ihardlimit; /* максимальное количество выделенных инод */ uint64_t dqb_isoftlimit; /* предпочтительный лимит на иноды */ uint64_t dqb_curinodes; /* текущее количество выделенных инод */ uint64_t dqb_btime; /* временной лимит по превышению использования диска */ uint64_t dqb_itime; /* временной лимит по превышению файлов */ uint32_t dqb_valid; /* битовая маска констант QIF_* */ }; /* Флаги в dqb_valid указывают, какие поля в структуре dqblk являются рабочими. */ #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) .EE .in .IP Поле \fIdqb_valid\fP представляет собой битовую маску, показывающую какие поля в структуре \fIdqblk\fP являются рабочими. В настоящее время ядро заполняется все поля структуры \fIdqblk\fP и маркирует их как рабочие в поле \fIdqb_valid\fP. Непривилегированные пользователи могут получить данные только по своим квотам; привилегированный пользователь (имеющий мандат \fBCAP_SYS_ADMIN\fP) может получить данные по квотам любого пользователя. .TP \fBQ_GETNEXTQUOTA\fP (начиная с Linux 4.6) .\" commit 926132c0257a5a8d149a6a395cc3405e55420566 Эта операция подобна \fBQ_GETQUOTA\fP, но возвращает информацию о квоте для следующего ID, большего или равного \fIid\fP, у которого установлена квота. .IP Аргумент \fIaddr\fP представляет собой указатель на структуру \fInextdqblk\fP с полями как у \fIdqblk\fP, но имеющей дополнительное поле \fIdqb_id\fP, используемое для возврата ID, для которого возвращается информация по квоте: .IP .in +4n .EX struct nextdqblk { uint64_t dqb_bhardlimit; uint64_t dqb_bsoftlimit; uint64_t dqb_curspace; uint64_t dqb_ihardlimit; uint64_t dqb_isoftlimit; uint64_t dqb_curinodes; uint64_t dqb_btime; uint64_t dqb_itime; uint32_t dqb_valid; uint32_t dqb_id; }; .EE .in .TP \fBQ_SETQUOTA\fP Устанавливает квоты для пользователя или группы с указанным \fIid\fP, используя информацию из структуры \fIdqblk\fP, на которую указывает \fIaddr\fP. Полем \fIdqb_valid\fP в структуре \fIdqblk\fP определяется какие элементы структуры установлены вызывающим. Эта операция заменяет предоставляемые прежде операции работы с квотами \fBQ_SETQLIM\fP и \fBQ_SETUSE\fP. Эта операция требует дополнительных прав (\fBCAP_SYS_ADMIN\fP). .TP \fBQ_GETINFO\fP (начиная с Linux 2.4.22) Возвращает информацию (например, льготное время (grace times)) о quotafile. Аргумент \fIaddr\fP должен содержать указатель на структуру \fIdqinfo\fP. Эта структура определена в \fI\fP следующим образом: .IP .in +4n .EX /* uint64_t имеет тип unsigned 64\-bit integer; uint32_t имеет тип unsigned 32\-bit integer */ struct dqinfo { /* Defined since Linux 2.4.22 */ uint64_t dqi_bgrace; /* Time before block soft limit becomes hard limit */ uint64_t dqi_igrace; /* Time before inode soft limit becomes hard limit */ uint32_t dqi_flags; /* Flags for quotafile (DQF_*) */ uint32_t dqi_valid; }; /* биты из dqi_flags */ /* формат квот QFMT_VFS_OLD */ #define DQF_ROOT_SQUASH (1 << 0) /* включено ограничение для */ /* суперпользователя; до Linux v4.0 это было закрытым определением с именем V1_DQF_RSQUASH */ /* формат квот QFMT_VFS_V0 / QFMT_VFS_V1 */ #define DQF_SYS_FILE (1 << 16) /* квота хранится в системном файле */ /* флаги в dqi_valid, которые показывают какие поля в структуре dqinfo рабочие. */ #define IIF_BGRACE 1 #define IIF_IGRACE 2 #define IIF_FLAGS 4 #define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS) .EE .in .IP Значение поля \fIdqi_valid\fP в структуре \fIdqinfo\fP указывает на рабочие элементы. В настоящее время ядро заполняет все элементы структуры \fIdqinfo\fP и помечает их как рабочие в поле \fIdqi_valid\fP. Аргумент \fIid\fP игнорируется. .TP \fBQ_SETINFO\fP (начиная с Linux 2.4.22) Задаёт информацию о quotafile. Значение аргумента \fIaddr\fP должно быть указателем на структуру \fIdqinfo\fP. Полем \fIdqi_valid\fP в структуре \fIdqinfo\fP определяется, какие элементы структуры установлены вызывающим. Эта операция заменяет операции \fBQ_SETGRACE\fP и \fBQ_SETFLAGS\fP из предоставляемых прежде операций работы с квотами. Аргумент \fIid\fP игнорируется. Эта операция требует дополнительных прав (\fBCAP_SYS_ADMIN\fP). .TP \fBQ_GETFMT\fP (начиная с Linux 2.4.22) Возвращает формат квоты, используемый в указанной файловой системе. В аргументе \fIaddr\fP должен содержаться указатель на 4\-байтовый буфер, в который будет записан номер формата. .TP \fBQ_SYNC\fP Обновляет дисковую копию используемых квот в файловой системе. Если значение \fIspecial\fP равно NULL, то действующие квоты будут синхронизированы на всех файловых системах. Аргументы \fIaddr\fP и \fIid\fP игнорируются. .TP \fBQ_GETSTATS\fP (поддерживалась до Linux 2.4.21) Возвращает статистику и другую общую информацию о подсистеме квот. Аргумент \fIaddr\fP должен содержать указатель на структуру \fIdqstats\fP, в которую нужно сохранить данные. Эта структура определена в \fI\fP. Аргументы \fIspecial\fP и \fIid\fP игнорируются. .IP Эта операция устарела и была удалена в Linux 2.4.22. Информацию можно получить из файлов в \fI/proc/sys/fs/quota/\fP. .PP For XFS filesystems making use of the XFS Quota Manager (XQM), the above operations are bypassed and the following operations are used: .TP \fBQ_XQUOTAON\fP Turn on quotas for an XFS filesystem. XFS provides the ability to turn on/off quota limit enforcement with quota accounting. Therefore, XFS expects \fIaddr\fP to be a pointer to an \fIunsigned int\fP that contains a bitwise combination of the following flags (defined in \fI\fP): .IP .in +4n .EX XFS_QUOTA_UDQ_ACCT /* User quota accounting */ XFS_QUOTA_UDQ_ENFD /* User quota limits enforcement */ XFS_QUOTA_GDQ_ACCT /* Group quota accounting */ XFS_QUOTA_GDQ_ENFD /* Group quota limits enforcement */ XFS_QUOTA_PDQ_ACCT /* Project quota accounting */ XFS_QUOTA_PDQ_ENFD /* Project quota limits enforcement */ .EE .in .IP Для этой операции требуются права (\fBCAP_SYS_ADMIN\fP). Аргумент \fIid\fP игнорируется. .TP \fBQ_XQUOTAOFF\fP Turn off quotas for an XFS filesystem. As with \fBQ_QUOTAON\fP, XFS filesystems expect a pointer to an \fIunsigned int\fP that specifies whether quota accounting and/or limit enforcement need to be turned off (using the same flags as for \fBQ_XQUOTAON\fP operation). This operation requires privilege (\fBCAP_SYS_ADMIN\fP). The \fIid\fP argument is ignored. .TP \fBQ_XGETQUOTA\fP Возвращает данные по лимитам и текущее значение использованного пространства для пользователя \fIid\fP. Аргумент \fIaddr\fP является указателем на структуру \fIfs_disk_quota\fP, определённую в \fI\fP следующим образом: .IP .in +4n .EX /* все части blk в BB (Basic Blocks) размером 512 байт */ #define FS_DQUOT_VERSION 1 /* fs_disk_quota.d_version */ #define XFS_USER_QUOTA (1<<0) /* тип пользовательской квоты */ #define XFS_PROJ_QUOTA (1<<1) /* тип проектной квоты */ #define XFS_GROUP_QUOTA (1<<2) /* тип групповой квоты */ struct fs_disk_quota { int8_t d_version; /* версия данной структуры */ int8_t d_flags; /* XFS_{USER,PROJ,GROUP}_QUOTA */ uint16_t d_fieldmask; /* определитель поля */ uint32_t d_id; /* ID пользователя, группы или проекта */ uint64_t d_blk_hardlimit; /* абсолютный лимит на дисковые блоки */ uint64_t d_blk_softlimit; /* предпочтительный лимит на дисковые блоки */ uint64_t d_ino_hardlimit; /* максимальное кол\-во выделяемых инод */ uint64_t d_ino_softlimit; /* предпочтительный лимит на иноды */ uint64_t d_bcount; /* # кол\-во дисковых блоков, принадлежащих пользователю */ uint64_t d_icount; /* # кол\-во инод, принадлежащих пользователю */ int32_t d_itimer; /* ноль, если лимит на иноды не превышен */ /* если нет, то нам отказывают */ int32_t d_btimer; /* подобное предыдущему, но для дисковых блоков */ uint16_t d_iwarns; /* кол\-во предупреждений в соответствии с кол\-вом инод */ uint16_t d_bwarns; /* кол\-во предупреждений в соответствии с кол\-вом дисковых блоков */ int32_t d_padding2; /* заполнитель, для использования в будущем */ uint64_t d_rtb_hardlimit; /* абсолютный лимит на работу с дисковыми блоками в реальном времени (RT) */ uint64_t d_rtb_softlimit; /* предпочтительный лимит на дисковые блоки в RT */ uint64_t d_rtbcount; /* кол\-во дисковых блоков под реальное время */ int32_t d_rtbtimer; /* подобное предыдущему, но для дисковых блоков RT */ uint16_t d_rtbwarns; /* кол\-во предупреждений в соответствии с дисковыми блоками RT */ int16_t d_padding3; /* заполнитель, для использования в будущем */ char d_padding4[8]; /* ещё заполнитель */ }; .EE .in .IP Непривилегированные пользователи могут получить данные только по своим квотам; привилегированный пользователь (с \fBCAP_SYS_ADMIN\fP) может получить информацию о квотах любого пользователя. .TP \fBQ_XGETNEXTQUOTA\fP (начиная с Linux 4.6) .\" commit 8b37524962b9c54423374717786198f5c0820a28 This operation is the same as \fBQ_XGETQUOTA\fP, but it returns (in the \fIfs_disk_quota\fP structure pointed by \fIaddr\fP) quota information for the next ID greater than or equal to \fIid\fP that has a quota set. Note that since \fIfs_disk_quota\fP already has \fIq_id\fP field, no separate structure type is needed (in contrast with \fBQ_GETQUOTA\fP and \fBQ_GETNEXTQUOTA\fP operations) .TP \fBQ_XSETQLIM\fP Устанавливает дисковую квоту для пользователя с указанным \fIid\fP. В аргументе \fIaddr\fP задаётся указатель на структуру \fIfs_disk_quota\fP. Эта операция требует прав (\fBCAP_SYS_ADMIN\fP). .TP \fBQ_XGETQSTAT\fP Возвращает доступную только в XFS информацию о квоте в структуре \fIfs_quota_stat\fP, на которую указывает \fIaddr\fP. Это полезно для определения количества пространства, использованного для хранения информации о квоте, а также для получения состояния включения/отключения квоты определённой локальной файловой системы XFS. Структура \fIfs_quota_stat\fP определена следующим образом: .IP .in +4n .EX #define FS_QSTAT_VERSION 1 /* fs_quota_stat.qs_version */ struct fs_qfilestat { uint64_t qfs_ino; /* номер иноды */ uint64_t qfs_nblks; /* количество BB блоков размером 512 байт */ uint32_t qfs_nextents; /* количество экстентов */ }; struct fs_quota_stat { int8_t qs_version; /* номер версии для изменений в будущем */ uint16_t qs_flags; /* XFS_QUOTA_{U,P,G}DQ_{ACCT,ENFD} */ int8_t qs_pad; /* не используется */ struct fs_qfilestat qs_uquota; /* информация о хранилище пользовательской квоты */ struct fs_qfilestat qs_gquota; /* информация о хранилище групповой квоты */ uint32_t qs_incoredqs; /* количество dquots в ядре */ int32_t qs_btimelimit; /* лимит для таймера на блоки*/ int32_t qs_itimelimit; /* лимит для таймера на иноды */ int32_t qs_rtbtimelimit;/* лимит для таймера на блоки RT */ uint16_t qs_bwarnlimit; /* лимит на количество предупреждений */ uint16_t qs_iwarnlimit; /* лимит на количество предупреждений */ }; .EE .in .IP Аргумент \fIid\fP игнорируется. .TP \fBQ_XGETQSTATV\fP Returns XFS filesystem\-specific quota information in the \fIfs_quota_statv\fP pointed to by \fIaddr\fP. This version of the operation uses a structure with proper versioning support, along with appropriate layout (all fields are naturally aligned) and padding to avoiding special compat handling; it also provides the ability to get statistics regarding the project quota file. The \fIfs_quota_statv\fP structure itself is defined as follows: .IP .in +4n .EX #define FS_QSTATV_VERSION1 1 /* fs_quota_statv.qs_version */ struct fs_qfilestatv { uint64_t qfs_ino; /* номер иноды */ uint64_t qfs_nblks; /* количество BB блоков размером 512 байт */ uint32_t qfs_nextents; /* количество экстентов */ uint32_t qfs_pad; /* заполнитель для 8\-байтового выравнивания */ }; struct fs_quota_statv { int8_t qs_version; /* версия для изменений в будущем */ uint8_t qs_pad1; /* заполнитель для 16\-битного выравнивания */ uint16_t qs_flags; /* флаги XFS_QUOTA_.* */ uint32_t qs_incoredqs; /* количество dquots incore */ struct fs_qfilestatv qs_uquota; /* информация о пользовательской квоте */ struct fs_qfilestatv qs_gquota; /* информация о групповой квоте */ struct fs_qfilestatv qs_pquota; /* информация о проектной квоте */ int32_t qs_btimelimit; /* лимит по таймеру на блоки */ int32_t qs_itimelimit; /* лимит по таймеру на иноды */ int32_t qs_rtbtimelimit; /* лимит по таймеру на блоки RT */ uint16_t qs_bwarnlimit; /* лимит на кол\-во предупреждений */ uint16_t qs_iwarnlimit; /* лимит на кол\-во предупреждений */ uint64_t qs_pad2[8]; /* для использования в будущем */ }; .EE .in .IP Поле \fIqs_version\fP должно быть заполнено версией структуры, поддерживаемой вызываемым (пока поддерживается только \fIFS_QSTAT_VERSION1\fP). Ядро заполнит структуру согласно предоставленной версии. Аргумент \fIid\fP игнорируется. .TP \fBQ_XQUOTARM\fP (buggy until Linux 3.16) .\" 9da93f9b7cdf8ab28da6b364cdc1fafc8670b4dc Free the disk space taken by disk quotas. The \fIaddr\fP argument should be a pointer to an \fIunsigned int\fP value containing flags (the same as in \fId_flags\fP field of \fIfs_disk_quota\fP structure) which identify what types of quota should be removed. (Note that the quota type passed in the \fIcmd\fP argument is ignored, but should remain valid in order to pass preliminary quotactl syscall handler checks.) .IP Квоты должны быть предварительно выключены. Аргумент \fIid\fP игнорируется. .TP \fBQ_XQUOTASYNC\fP (начиная с Linux 2.6.15; ничего не делает начиная с Linux 3.4) .\" Added in commit ee34807a65aa0c5911dc27682863afca780a003e .\" 4b217ed9e30f94b6e8e5e262020ef0ceab6113af This operation was an XFS quota equivalent to \fBQ_SYNC\fP, but it is no\-op since Linux 3.4, as \fBsync\fP(1) writes quota information to disk now (in addition to the other filesystem metadata that it writes out). The \fIspecial\fP, \fIid\fP and \fIaddr\fP arguments are ignored. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При успешном выполнении \fBquotactl\fP() возвращается 0; при ошибке возвращается \-1, а в \fIerrno\fP содержится код ошибки. .SH ОШИБКИ .TP \fBEACCES\fP Значение \fIcmd\fP равно \fBQ_QUOTAON\fP и файл квот, указанный в \fIaddr\fP, существует, но не является обычным файлом или находится не в файловой системе, указанной в \fIspecial\fP. .TP \fBEBUSY\fP Значение \fIcmd\fP равно \fBQ_QUOTAON\fP, но уже выполняется другой запуск \fBQ_QUOTAON\fP. .TP \fBEFAULT\fP Неверное значение \fIaddr\fP или \fIspecial\fP. .TP \fBEINVAL\fP Неверное значение \fIcmd\fP или \fItype\fP. .TP \fBEINVAL\fP Значение \fIcmd\fP равно \fBQ_QUOTAON\fP, но указанный файл квот повреждён. .TP \fBEINVAL\fP (начиная с Linux 5.5) .\" 3dd4d40b420846dd35869ccc8f8627feef2cff32 \fIcmd\fP is \fBQ_XQUOTARM\fP, but \fIaddr\fP does not point to valid quota types. .TP \fBENOENT\fP Файл, указанный в \fIspecial\fP или \fIaddr\fP, не существует. .TP \fBENOSYS\fP Ядро собрано с выключенным параметром \fBCONFIG_QUOTA\fP. .TP \fBENOTBLK\fP Значение \fIspecial\fP не указывает на блочное устройство. .TP \fBEPERM\fP Вызывающий не имеет необходимых прав (\fBCAP_SYS_ADMIN\fP) для выполнения указанной операции. .TP \fBERANGE\fP Значение \fIcmd\fP равно \fBQ_SETQUOTA\fP, но заданный лимит вне диапазона допустимого форматом квот. .TP \fBESRCH\fP Не найдена дисковая квота для заданного пользователя. Квоты выключены в файловой системе. .TP \fBESRCH\fP Значение \fIcmd\fP равно \fBQ_QUOTAON\fP, но заданный формат квот не найден. .TP \fBESRCH\fP Значение \fIcmd\fP равно \fBQ_GETNEXTQUOTA\fP или \fBQ_XGETNEXTQUOTA\fP, но нет ID, который больше или равен \fIid\fP с активной квотой. .SH ЗАМЕЧАНИЯ Вместо \fI\fP может быть использован \fI\fP, но следует учесть, что есть несколько несоответствий названий: .IP \[bu] 3 Флаги включения квот (формата \fBXFS_QUOTA_[UGP]DQ_{ACCT,ENFD}\fP) определены без начального «X» в виде \fBFS_QUOTA_[UGP]DQ_{ACCT,ENFD}\fP. .IP \[bu] Это же верно и для флагов типов квот \fBXFS_{USER,GROUP,PROJ}_QUOTA\fP, которые определены как \fBFS_{USER,GROUP,PROJ}_QUOTA\fP. .IP \[bu] В заголовочном файле \fIdqblk_xfs.h\fP определены свои константы \fBXQM_USRQUOTA\fP, \fBXQM_GRPQUOTA\fP и \fBXQM_PRJQUOTA\fP для доступных типов квот, но их значения совпадают с константами без префикса \fBXQM_\fP. .SH "СМ. ТАКЖЕ" \fBquota\fP(1), \fBgetrlimit\fP(2), \fBquotacheck\fP(8), \fBquotaon\fP(8) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Artyom Kunyov , Azamat Hackimov , Konstantin Shvaykovskiy и Yuri Kozlov . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .