Эта операция выполняется, при помощи команды edqouta (man edquota).
Перед этим я обычно запускаю команду qoutacheck с параметрами -avug, чтобы файловая система точно знала, что и кем используется. Впрочем, это не обязательный шаг, а просто привычка.
Например. У меня в системе есть пользователь bob. Команда "edqouta -u bob" запускает текстовый редактор (определенный в переменной окружения $EDITOR) для редактирования квот пользователя bob для каждого раздела, на котором включено квотирование:
Quotas for user bob: /dev/hda2: blocks in use: 2594, limits (soft = 5000, hard = 6500) inodes in use: 356, limits (soft = 1000, hard = 1500) |
"blocks in use" это общее количество блоков (килобайт), используемых пользователем на этом разделе.
"inodes in use" это общее количество файлов, принадлежащих пользователю.
В моей системе есть группа games. "edquota -g games", снова запускает текстовый редактор для редактирования квот группы games:
Quotas for group games: /dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000) inodes in use: 1454, limits (soft = 3000, hard = 4000) |
Для быстрой установки квот, скажем для 100 пользователей, на те же значения, что и для пользователя bob, я должен определить ему квоты, а затем запустить:
edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd` |
если вы используете оболочку csh и идентификаторы пользователей (UID), то последние начинаются с 500.
В добавок к edqouta вы еще должны ознакомиться с тремя понятиями: мягкие ограничения, жесткие ограничения и льготный период.
Мягкие ограничения определяют максимальный объем диска для пользователя на каждом разделе. В комбинации со льготным периодом, они определяют границу, после которой пользователь начинает получать предупреждения.
Жесткие ограничения работают только тогда, когда установлен льготный период. Они определяют абсолютный лимит использования диска, который пользователь не может превысить.
Льготный период (grace period) - это количество времени после превышения мягких ограничений, в течении которого пользователю позволено использовать дисковое пространство, если оно не превышает жесткий лимит. Он определяется в секундах (seconds), минутах (minutes), часах (hours), днях (days), неделях (weeks) или месяцах (months). Проверить его можно при помощи команды "edquota -t":
Time units may be: days, hours, minutes, or seconds Grace period before enforcing soft limits for users: /dev/hda2: block grace period: 0 days, file grace period: 0 days |
Можете изменить число дней на любое разумное значение. Лично я использую 7 дней (или 1 неделю).