Дисковые квоты
Дисковые квоты позволяют ограничить дисковое пространство или количество файлов использкемых пользователем ( или членом группы ). Квоты распределяются на уровне файловой системы и поддерживаются ядром.
Пакет quota tools, как правило нуждается в установке, он содержит утилиты командной строки.
Сначала нужно активировать дисковые квоты в файле fstab и перемонтировать раздел. Если раздел заблокирован открытыми файлами, нужно перезагрузить систему и добавить опцию монтирования usrquota в файл fstab.
Дисковые квоты в Linux
/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)
Изменение дисковых квот для нескольких пользователей
Команда edquota -p используется для дублирования квот на других пользователей. Например:
# edquota -p refuser `awk -F: '$3 > 499 {print $1}' /etc/passwd`
# edquota -p refuser user1 user2 # Дублируем на 2 пользователей
Проверка квот
Пользователи могут проверить свои квоты командой quota (файл quota.user должен быть доступен для чтения). Пользователь root может проверять любые квоты.# quota -u colin # Проверить квоты пользователя. # repquota /home # Полный отчет по разделу для всех пользователей.