Оглавление

Дисковые квоты

Дисковые квоты позволяют ограничить дисковое пространство или количество файлов использкемых пользователем (или членом группы). Квоты распределяются на уровне файловой системы и поддерживаются ядром.

Настройка в Linux

Пакет quota tools, как правило нуждается в установке, он содержит утилиты командной строки.
Сначала нужно активировать дисковые квоты в файле fstab и перемонтировать раздел. Если раздел заблокирован открытыми файлами, нужно перезагрузить систему и добавить опцию монтирования usrquota в файл fstab.

/dev/sda2     /home    reiserfs     rw,acl,user_xattr,usrquota 1 1
# mount -o remount /home
# mount                              # Проверьте, активна-ли usrquota, иначе перезагрузитесь.
Инициализация файла quota.user с помощью quotacheck.
# quotacheck -vum /home
# chmod 644 /home/aquota.user        # Позволить пользователю просматривать свои квоты.
Активировать квоты с помощью скрипта (например: /etc/init.d/quotad в SuSE) или quotaon:
quotaon -vu /home
Проверить активацию:
quota -v

Настройка FreeBSD

Инстркменты квотирования во FreeBSD являются часть базовой системы, однако в ядро должно быть включено option quota. Если это не так, добавте необходимую опцию и перекомпилируйте ядро.
options QUOTA
Как и в Linux, нужно добавить в fstab соответствующую опцию userquota:
/dev/ad0s1d    /home    ufs     rw,noatime,userquota    2  2
# mount /home                        # Перемонтировать раздел
Включение квот в файле в /etc/rc.conf.
# grep quotas /etc/rc.conf
enable_quotas="YES"                  # Активировать квоты при запуске системы (или NO).
check_quotas="YES"                   # Проверять квоты при старте (или NO).
# /etc/rc.d/quota start

Ограничения квот

По-умолчанию квоты не ограничены (установлены в 0). Установить лимиты для пользовательских квот можно с помощью edquota. Так-же лимиты можно дублировать на других пользователей. Размер блока по-умочанию, 1 kб. Время действия можно установить с помощью edquota -t. Например:
# edquota -u colin

Linux

Disk quotas for user colin (uid 1007):
  Filesystem         blocks       soft       hard     inodes     soft     hard
  /dev/sda8            108       1000       2000          1        0        0

FreeBSD

Quotas for user colin:
/home: kbytes in use: 504184, limits (soft = 700000, hard = 800000)
   inodes in use: 1792, limits (soft = 0, hard = 0)

For many users

Команда edquota -p используется для дублирования квот на других пользователей. Например:
# edquota -p refuser `awk -F: '$3 > 499 {print $1}' /etc/passwd`
# edquota -p refuser user1 user2     # Дублируем на 2 пользователей

Checks

Пользователи могут проверить свои квоты командой quota (файл quota.user должен быть доступен для чтения). Пользователь root может проверять любые квоты.
# quota -u colin                     # Проверить квоты пользователя.
# repquota /home                     # Полный отчет по разделу для всех пользователей.

Оглавление