Как стать автором
Обновить

OS X: настраиваем дисковые квоты локальным пользователям

Время на прочтение2 мин
Количество просмотров6K

Введение

Файловая система (ФС) HFS+ на OS X поддерживает квотирование пользователей и групп по ID на уровне томов. Соответствующие файлы .quota.user и .quota.group располагаются в корневом каталоге. В каждом из них содержится заголовок, идущая следом хэш-таблица с определением лимитов, а так же потребляемые значения на ID пользователя или группы.

Включаем дисковые квоты

Для того, чтобы включить поддержку квотирования в корневом каталоге необходимо создать файл .quota.ops.user или .quota.ops.group.
  1. Получаем в терминале root-привилегии:
    sudo su
  2. Создаем пустой файл опций:
    touch /.quota.ops.user
  3. После этого станет возможно запустить команду:
    repquoata -a
    и поименно оценить текущее потребление диска пользователями. Если команда не запускается, наберите:
    checkquota -a
    Чтобы отфильтровать служебных пользователей, можно воспользоваться grep'ом:
    repquota -a|grep -v -E "^\_"
  4. Включаем квотирование командой quotaon (выключить обратно можно при помощи quotaoff):
    quotaon /
    Параметр указывает на точку монтированная файловой системы. В данном примере на компьютере только один корневой раздел. В случае, если необходимо установить квоты на несколько томов, повторите команду для каждой из примонтированных ФС.
С этого момента дисковые квоты включены и настает пора заняться настройкой правил лимитирования.

Устанавливаем лимиты потребления

Квоты настроены, установим лимиты потребления нашим пользователям. Настройку квот произведем на примере пользователя «blondie». Отредактировать пользовательские квоты можно при помощи команды edquota. Полное описание опций можно отыскать в man edquota, мы же воспользуемся ключом -u (user):
edquota -u blondie
Для правки откроется редактор vi (a вставить; ESC, :wq, ENTER сохранить и выйти). В нашем примере результат выглядит так:
Quotas for user blondie:
/: 1K blocks in use: 85963652, limits (soft = 0, hard = 0)
        inodes in use: 35294, limits (soft = 0, hard = 0)
Лимиты можно выставить в режимах «hard» и «soft». «Hard» лимит обойти нельзя. Как только пользователь достигает границы лимита, он получает сообщение о недоступности дискового пространства. «Soft» лимит можно обойти на время. Пользователям разрешается превысить свой «soft» лимит на период отсрочки (grace period). Как только это время подходит к концу, «soft» лимит замещается на «hard». Для смены периода отсрочки можно воспользоваться командой edquota -t. По умолчанию в OS X данный период равен одной неделе.
Зададим нашему пользователю 100G (hard) и 30G (soft) лимиты на дисковое пространство без ограничений на количество файлов:
Quotas for user blondie:
/: 1K blocks in use: 85963652, limits (soft = 31457280, hard = 104857600)
        inodes in use: 35294, limits (soft = 0, hard = 0)
Хозяйке на заметку
Иноды (inodes) это файлы в файловой системе. Каждый файл получает свой инод (в т.ч. символические ссылки).

Уловки

Установленный лимит на количество используемых файлов легко обходится с помощью дисковых образов (DMG). Образ диска занимает на файловой системе всего один инод, не важно сколько файлов он содержит или до какогоразмера вырастает. Лимит на файлы м.б. полезен для служебных пользователей, чтобы какой-нибудь демон не забил случайно файловую систему логами или дампами ядра.

Полезные ссылки

  1. HFS+ Disk Quotas / www.secure-computing.net
  2. Creating and using disk quotas / hints.macworld.com
Теги:
Хабы:
Всего голосов 6: ↑5 и ↓1+4
Комментарии3

Публикации

Истории

Работа

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань