Установка дисковых квот для пользователей FreeBSD
Дисковая квота – возможность операционной системы ограничивать используемое дисковое простанство для пользователей и групп. По умолчанию поддержки квот нет в ядре, поэтому ее нужно включить в ядро:
options QUOTA
Откомпилируем и установим новое ядро, об этом написано выше. Далее необходимо добавить в /etc/rc.conf следующую строчку:
enable_quotas=”YES”
При загрузке системы целостность квот проверяется программой quotacheck(8). Она проверяет “точное соответствие данным в базе данных квот данным в файловой системе”, это может замедлять загрузку. Проверку эту можно отключить – в /etc/rc.conf прописать:
check_quotas=”NO”
Для включения пользовательских и групповых квот на уровне файловой системы редактируем /etc/fstab. В нем выбираем раздел для подключения квот и добавляем к четвертому полю через запятую userquota и groupquota для квотирования пользователей и групп соответственно.
/dev/da0s1f /usr ufs rw,userquota,groupquota 1 2
Здесь пятое поле означает “частоту” создания файла дампа, шестое – указывает порядок проверки файловых систем программой fsk. После перезагрузки в разделе, на которые были установлены квоты автоматически создаются файлы quota.user и quota.group (в данном случае в /usr). Проверяем работают ли квоты:
#quota -v
Disk quotas for user root (uid 0):
Filesystem usage quota limit grace files quota limit grace
/usr 4648274 0 0 544215 0 0
Отсюда видно, что квоты включены. Теперь используем программу edquota(8). Можно ограничивать размещение ресурсов по объему дискового пространства (квотирование блоков), по количеству файлов (квотирование inode) и их комбинации. Ограничения бывают жесткие и мягкие. Жесткое ограничение не может быть превышено, в отличии от мягкого. Мягкие ограничения могут быть превышены в течении определенного периода времени, который по умолчанию равен неделе. Если мягкое ограничение превышено в течении этого периода, то мягкое ограничение становится жестким. Если пользователь вернется обратно к меньшей отметке, чем мягкое ограничение, то период отсрочки будет сброшен.
Далее устанавлием квоты с помощью edquota(8):
# edquota -u ftp
Quotas for user ftp:
/usr: kbytes in use: 0, limits (soft = 0, hard = 0)
inodes in use: 0, limits (soft = 0, hard = 0)
В первой строке – ограничение по блокам, значения в килобайтах: soft – мягкое, hard – жесткое ограниение. Вторая строка – ограничение inode (количество фалов). Ставим, что нам надо, выходим из редактора и смотрим свои квоты:
# quota -v
Disk quotas for user ftp (uid 1071):
Filesystem usage quota limit grace files quota limit grace
/usr 9984 0 10000 1 0 0
Filesysstem – раздел, на котором установлена квота;
usage – размер, занятый данными пользователя;
quota – мягкое ограгичение (в данном случае 0);
limit – жесткое ограничение (в данном случае 10000 кб);
grase – при превышении мягкого лимита – количество дней, оставшихся до возвращения к отметке мягкого лимита;
files – количество файлов пользователя;
следующие поля quota, limit и grase относятся к ограничению на количество файлов.
Источник информации:
1. http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/quotas.html
© mick, 2007.