Библиотека сайта rus-linux.net
Quota mini-HOWTO
Версия 0.0, 8 августа 1997
Введение: This document is copylefted by Albert M.C. Tam (bertie@scn.org). Permission to use, copy, distribute this document for non-commerical purposes is hereby granted, provided that the author's / editor's name and this notice appear in all copies and/or supporting documents; that this document is not modified.
Надеюсь, что этот документ будет вам полезен, но БЕЗО ВСЯКИХ ГАРАНТИЙ, явных и не явных. Даже если в тексте присутствует убеждение в точности представленной информации, авторы/редакторы/сопроводители не несут НИКАКОЙ ОТВЕТСТВЕННОСТИ за ошибки или повреждения, полученными в результате ее использования. Этот документ описывает настройку квот для файловой системы Linux, определение квот для пользователей и групп, а также использование различных команд, связанных с квотированием. Предполагается, что у пользователя есть ядро 2.x (RedHat 4.1). Пользователям же старых ядер, чтобы использовать квотирование, необходимо обновить ядро. Если вы найдете ошибки или заметите пропущенную информацию, можете спокойно послать письмо с комментариями по адресу bertie@scn.org. Я оценю это.
- Содержание
- 1. Что такое квотирование?
- 2. Текущее состояние квот в Linux
- 3. Основные требования
- 3.1. Ядро
- 3.2. Программное обеспечение
- 4. Установка - Часть I: Настройка
- 5. Установка - Часть II: Определение квот для пользователей и групп
- 6. Команды
- 6.1. Quotacheck
- 6.2. Repquota
- 6.3. Quotaon и Quotaoff
- 7. Авторские права
1. Что такое квотирование?
Квотирование позволяет ограничить два аспекта использования диска: количество файлов, которыми владеет пользователь или группа пользователей; и количество блоков диска, которые может использовать пользователь или группа пользователей. Квотирование определяется, как для каждого пользователя, так и для каждой файловой системы. Если у вас несколько разделов, то квоты нужно определить для каждого раздела, в котором пользователь намеревается создавать файлы.
2. Текущее состояние квот в Linux
Я слышал, что поддержка квотирования встроена в ядро, начиная с версии 1.3.8x, и теперь это часть ядра 2.0.x. Если ваша система не поддерживает квотирование, я настоятельно рекомендую обновить ядро.
В настоящее время, квотирование работает только на файловой системе ext2.
3. Основные требования
3.1. Ядро
http://sunsite.unc.edu/pub/Linux/kernel/v2.0
3.2. Программное обеспечение
ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz.
4. Установка - Часть I: Настройка
4.1. Настройка ядра
Quota support (CONFIG_QUOTA) [n] y
4.2. Установка программного обеспечения
ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz
4.3. Включение квотирования во время загрузки
# Проверка квот и затем включение квотирования. if [ -x /usr/sbin/quotacheck ] then echo "Checking quotas. This may take some time." echo "Проверка квот. Подождите минуту..." /usr/sbin/quotacheck -avug echo " Ok." fi if [ -x /usr/sbin/quotaon ] then echo "Turning on quota." echo "Включаем квоты." /usr/sbin/quotaon -avug fi
Золотое правило: всегда включайте квотирование после того, как файловые системы перечисленные в /etc/fstab, установлены, иначе квотирование не будет работать. Я рекомендую включать квотирование в конце скрипта загрузки системы, или, если хотите, сразу после установки файловых систем.
4.4. Изменение /etc/fstab
/dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults 1 1
/dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults,usrquota 1 1
/dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults,grpquota 1 1
/dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults,usrquota,grpquota 1 1
4.5. Создание "quota.user" и "quota.group"
Доступ к файлам записи квот quota.user и quota.group должен иметь только пользователь с правами root
touch /partition/quota.user touch /partition/quota.group chmod 600 /partition/quota.user chmod 600 /partition/quota.group
4.6. Перезагрузка
Теперь перезагрузите систему.
Запомните, что теперь для установления квотирования на каталоги вам потребуется произвести шаги 4, 5, и 6.
5. Установка - Часть II: Определение квот для пользователей и групп
Эта операция выполняется, при помощи команды edqouta (man edquota).
Перед этим я обычно запускаю команду qoutacheck с параметрами -avug, чтобы файловая система точно знала, что и кем используется. Впрочем, это не обязательный шаг, а просто привычка.
5.1. Определение квот для конкретного пользователя
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" это общее количество файлов, принадлежащих пользователю.
5.2. Определение квот для конкретной группы
Quotas for group games: /dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000) inodes in use: 1454, limits (soft = 3000, hard = 4000)
5.3. Установка одинаковых квот для множества пользователей
edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`
если вы используете оболочку csh и идентификаторы пользователей (UID), то последние начинаются с 500.
В добавок к edqouta вы еще должны ознакомиться с тремя понятиями: мягкие ограничения, жесткие ограничения и льготный период.
5.4. Мягкие ограничения
Мягкие ограничения определяют максимальный объем диска для пользователя на каждом разделе. В комбинации со льготным периодом, они определяют границу, после которой пользователь начинает получать предупреждения.
5.5. Жесткие ограничения
Жесткие ограничения работают только тогда, когда установлен льготный период. Они определяют абсолютный лимит использования диска, который пользователь не может превысить.
5.6. Льготный период
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 неделю).
6. Команды
6.1. Quotacheck
Quotacheck используется для сканирования дискового пространства и обновления файла "quota.user". Я рекомендую запускать его во время загрузки системы или периодически через cron (скажем, каждую неделю).
6.2. Repquota
# repquota -a Block limits File limits User used soft hard grace used soft hard grace root -- 175419 0 0 14679 0 0 bin -- 18000 0 0 735 0 0 uucp -- 729 0 0 23 0 0 man -- 57 0 0 10 0 0 user1 -- 13046 15360 19200 806 1500 2250 user2 -- 2838 5120 6400 377 1000 1500
6.3. Quotaon и Quotaoff
Quotaon используется для включения подсчета квот; quotaoff для выключения. На самом деле, оба файла похожи между собой и запускаются во время запуска, и выключения системы соответственно.
7. Авторские права
Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но
при этом сохранить авторские права и быть уведомленными о всех планах
распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь
к координатору проекта Linux HOWTO по электронной почте:
<linux-howto@metalab.unc.edu>
или к координатору русского
перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу
<linux-howto@asplinux.ru>