Источник см. подробнее "Disk quota".
Для того чтобы разрешить ограничения на дисковое пространство на необходимой файловой системе, следует отредактировать файл /etc/fstab
, добавив к указанной системе опции для ограничения дискового пространства (как для пользователей, так и для групп).
Отредактированный файл /etc/fstab может иметь вид:
# /etc/fstab
#
/dev/hda1 / ext2 defaults
/dev/hda2 none swap sw
/dev/hda3 /usr ext2 defaults
/dev/hdb1 /usr/users ext2 defaults,usrquota,grpquota
/dev/hdb2 /usr/src ext2 defaults,usrquota
none /proc proc defaults
Зарезервированное слово "usrquota" в поле опций включает ограничение дискового пространства (quotas) для пользователей (userquota) на данном устройстве.
Зарезервированное слово "grpquota" включает ограничение дискового пространства для групп (groupquota) на данном устройстве.
Для применения изменений следует перемонтировать раздел:
mount -vo remount /home
Где:
quotacheck -cum /home
Чтобы также создать групповой индекс, необходимо указать дополнительно параметр -g
.
Включение дисковых квот для нужной файловой системы:
quotaon -v /home
Отключение дисковых квот для файловой системы:
quotaoff -v /home
Чтобы узнать, сколько блоков по 1 килобайту приходится на раздел, следует использовать
# df
.
Онлайн конвертер байтов в килобайты здесь...
Команда
# setquota
можно использовать в качестве альтернативы# edquota
Квоты настраиваются с помощью edquota
(как пользователь root), который будет открыт в настроенном по умолчанию текстовом редакторе:
edquota user
Вывод:
Disk quotas for user user (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sda3 24 0 0 6 0 0
edquota user1
Вывод:
Disk quotas for user ftpuser1 (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sda3 24 1000000 1048576 6 0 0
В этом случае, если ftpuser1 использует более 976 МБ пространства, будет выдано предупреждение.
Если достигнут жесткий предел в 1 ГБ, пользователь не сможет больше записывать данные.
Для того чтобы дать пользователям время на сокращение количества используемых файлов можно установить период отсрочки (grace period), в этом случае указывается разрешенное время, в течение которого пользователь/группа может превышать свой мягкий лимит, но находится под жестким лимитом.
edquota -t
Вывод:
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/sda3 7days 7days
Льготный период может быть установлен в секундах, минутах, часах, днях, неделях или месяцах.
Только root может использовать команду quota для проверки используемых ограничений любого пользователя и команду
repquota
для проверки используемого пространства и ограничений для всех пользователей на данной файловой системе.
Вывод всех настроенных квот:
repquota -a
Вывод квоты на определенный раздел:
repquota /home
Вывод квот, которые применены к определенному пользователю/группе:
quota -u user # Квота пользователя user
quota -g group # Квота группы group
Чтобы скопировать настройки квот пользователя user1 для user2, ввести:
edquota -p user1 user2
Чтобы скопировать настройки квот группы user1 для user2, ввести:
edquota -g -p group1 group2
Чтобы скопировать настройки квот пользователя user1 для всех пользователей, ввести:
edquota -p user1 $(awk -F: '$3 > 999 {print $1}' /etc/passwd) # Квота применится к пользователям с UID больше 999
Для предупреждения можно использовать команду:
warnquota
Конфигурационный файл: /etc/warnquota.conf
Для предоставления дополнительной информации об использовании текущей квоты можно воспользоваться командой:
quotastats
Вывод:
Number of dquot lookups: 101289
Number of dquot drops: 101271
Number of still active inodes with quota : 18
Number of dquot reads: 93
Number of dquot writes: 2077
Number of quotafile syncs: 134518740
Number of dquot cache hits: 7391
Number of allocated dquots: 90
Number of free dquots: 2036
Number of in use dquot entries (user/group): -1946