IZONE- http://www.izcity.com/- бесплатный софт, вэб-сервисы, ресурсы для раскрутки, свежие номера журнала "Internet Zone".

Квотирование

Подробный расcказ об очень удобной функции Linux (да и не только ее) - ограничении дискового пространства пользователям и различным службам.

Денис Колесниченко

Определение ограничений

Для этого существует команда edquota. Для ограничения дискового пространства пользователя нужно использовать команду quota с параметром -u, а для определения квот для группы - с параметром -g После выполнения этой команды будет запущен редактор, который указан в переменной окружения $EDITOR, для редактирования квот. Редактировать нужно только число, которое следует за словом hard или soft.

# equota -u den
Quotas for user den:
/dev/hda4: blocks in use: 345, limits (soft = 1, hard = 0)
    inodes in use: 94, limits (soft = 0, hard = 0)

Перед выполнением этой команды выполните две эти команды:
quotacheck -u <filesystem>
quotaon -u <filesystem>
Например:
quotacheck -u /mnt/ext2
quotaon -u /mnt/ext2

Данные команды необходимы для создания файлов quota.user и quota.group
В противном случае при редактировании ограничений пользователей (групп) вы получите сообщение о том, что данные файлы не существуют.

Для каждой файловой системы, на которую наложены квоты, вы увидите две строки. Слово soft означает, что на данную файловую систему наложено "мягкое" ограничение, а слово "hard" - "жесткое". При этом пользователь имеет некоторый интервал времени, по истечению которого "мягкое" ограничение перейдет в "жесткое". Данный интервал можно изменить с помощью команды edquota -t

Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda4: block grace period: 50 minutes, file grace period: 50 minutes

Жесткое ограничение является максимальным значением, которое может иметь пользователь или группа на данной файловой системе.

Строка /dev/hda4: blocks in use: 1024, limits (soft = 1, hard = 0) определяет количество блоков, которое может быть выделено для пользователей или группы. Обычно размер блока в
Linux составляет 1024 байт. В данном случае ограничение равно 1Мб.

Строка inodes in use: 94, limits (soft = 0, hard = 0) сообщает какое число inode (файлов, устройств, поименованных каналов(pipes)) может быть выделено для данного пользователя или группы.

В большинстве случаев у вас есть группа пользователей, которая должна иметь одинаковые ограничения. Самым быстрым способом редактирования ограничений в этом случае является использование прототипа. С помощью команды
# edquota -u <пользователь/группа_который(ая)_станет_прототипом>
определить ограничения, а затем с помощью команды
# edqouta -p <прототип> пользователь
создать квоты для всех оставшихся пользователей. При этом вам не нужно редактировать ограничения отдельно для каждого пользователя/группы.

Например, вам нужно добавить пользователя user, который будет использовать такие же
ограничения, что и пользователь den:
# edquota -p den user

Использование команды quota

Quota используется для проверки ограничений дискового пространства пользователей и групп.

quota [-guqv]
quota [-qv] -u username
quota [-qv] -g groupname

Параметр -v используется для вывода информации о файловых системах, не имеют активных ограничений, и файловых системах, на которых квоты уже активны, но не занят еще ни один блок.

Параметр -q используется для получения сведений о файловых системах, на которых превышено значение "мягкого" ограничения.

Параметр -g предоставляет информацию об ограничениях группы, членом которой вы являетесь.

Например, можно просмотреть ограничения для пользователя user

Disk quotas for user user (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/dev/hdb3 1024* 1 0 none 94 0 0

Пользователь user, ограниченный также как и его прототип - пользователь den.

Если ограничения для данного пользователя не заданы, вы увидите примерно такое сообщение: Disk quotas for user root (uid 0): none

Запрет квоты для пользователя или группы

Для этого вам нужно использовать программу edquota. Установите значение soft и hard, равное 0 Тогда данный пользователь или группа сможет использовать дисковое пространство без ограничений.

Редактирование квот с помощью linuxconf

Очень удобно редактировать ограничения с помощью linuxconf. Для этого запустите linuxconf и выберите в меню Filesystems -> Set quotas default

1

Здесь можно указать ограничения, которые будут использованы по умолчанию для пользователей или групп. Здесь можно также указать интервал времени (grace period), по истечении которого "мягкое" ограничение перейдет в "жесткое"

Ограничения можно задать отдельно для конкретного пользователя. Для этого выберите в меню программы User accounts -> User accounts и выберите пользователя, для которого вы хотите задать ограничения.

2

По умолчанию используется значение Default, т.е. для этого пользователя будут использованы такие же ограничения, как и для все остальных. No limit - без ограничения. Ограничения можно задать отдельно для разных файловых систем.

Ограничения на сетевой файловой системе - NFS

Для квотирования NFS нужно установить quota на сервере - на клиенте она не нужна. Клиент получит сведения об ограничениях с помощью rquotad, который должен быть установлен и запущен на сервере. Вам не нужно устанавливать флаги usrquota или grpquota для монтирования NFS-дисков. Вместо этого установите auota на своем файловом сервере и запустите на нем из rc-файла сервер rpc.rquotad

 

<<Назад

 

 

Источник - SoftТерра, http://www.softerra.ru

 


Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com