Perl для системного администрирования


Работа с дисковыми квотами - часть 2


$ quota -v sabrams чтобы получить данные, подобные этим:

Disk quotas for sabrams (u.d 670)

Files'/stem u:apc:

/hoTie/useri 228731 2bOOGO 253000 0 0 :}

В следующих нескольких примерах нас будут интересовать только первые три колонки этого вывода. Первое число - это объем занятого в настоящий момент дискового пространства пользователем sabrams на файловой системе, смонтированной как /home/users. Второе - это размер «мягкой квоты» пользователя. Мягкая квота - это объем дискового пространства, после превышения которого операционная система в течение некоторого времени выдает предупреждения, но не ограничивает выделение дискового пространства. Последнее число - это «жесткая квота», т. е. абсолютный верхний предел для объема пространства, занятого данным пользователем. Если программа попытается использовать еще некоторое дисковое пространство после превышения пользователем квоты, операционная система отвергнет этот запрос и вернет сообщение об ошибке, подобное disk quota excoedud.

При желании изменить размеры квот вручную необходимо использовать команду

edquota, которая загружает небольшой временный файл с информацией о текущих размерах квот в редактор, определяемый переменной окружения EDITOR командного интерпретатора. Вот пример такого файла с информацией об ограничениях для четырех файловых систем, на которых применяются квоты. Скорее всего, домашний каталог этого пользователя находится в каталоге /exprt/server2, т. к. только в этой файловой системе для него отведены квоты:

fs /exprt/serverl blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)

fs /exprt/server2 blocks (soft = 250000, hard = 253000) inodes (soft = 0 hard = 0)

fs /exprt/serverS blocks (soft = 0. hard = 0) modes (soft = 0, hard = 0)

fs /exprt/server4 blocks (soft = 0, hard - 0) modes (soft = 0, hard = 0)

Использование edquota вручную может быть удобным способом редактирования ограничений одного пользователя, но это совершенно невозможно в случае десятков, сотен и тысяч учетных записей пользователей. Один из недостатков Unix - нехватка утилит командной строки для редактирования информации о квотах. В большинстве версий Unix есть функции библиотеки С для выполнения этой задачи, но нет утилит командной строки для написания сценариев. И, следуя девизу Perl, что «Существует более одного способа сделать это» («There's More Than One Way To Do It», TMTOWTDI, произносится как «тим-то-ади», «tim-toady»), мы рассмотрим два различных способа установки квот из Perl.




Начало  Назад  Вперед