#################################################################### # Прежде чем читать дальше это письмо, предварительно прочитайте # # мануалы (manual pages) по quotaon (bash~# man quotaon). # #################################################################### Квоты на почтовый ящик Вы можете установить следующим образом (я работаю на Solaris, но под другими операционными системами принцип такой же, только есть ещё и групповые квоты (напр. BSDI)): 1. Если вы используете почтовый сервер таким образом - прием почты sendmail и клиенты забирают почту POP3 или IMAP протоколом, то почтовые ящики пользователей обычно находятся в /var/spool/mail. Как правило каталок /var/spool/mail находится в отдельной файловой системе. 2. Создайте файл quotas в той файловой системе в которой собираетесь установить квоты. Например: touch /var/spool/mail/quotas Если /var/spool/mail это точка монтирования Вашей файловой системы - файл quotas создайте в /var/spool/mail 3. Присвойте этот файл пользователю root, группе root командой chown root:root /var/spool/mail/quotas Затем, дайте доступ rw только для root пользователя командой chmod 600 /var/spool/mail/quotas Для того, что бы включить квоты на определенной файловой системе, необходимо выполнить следующие действия: bash~# quotaon -v /var/spool/mail Затем, в файле /etc/vfstab (это в Solaris, в других ОС возможно другой файл) в поле mntopts в место rw впишите rq. 4. Затем задайте квоту существующему пользователю. Он будет как бы шаблоном. Команда edquota имя_пользователя - позволяет редактировать квоты пользователей. Если Вы хотите использовать альтернативный текстовый редактор то выполните следующее (оболочка bash): bash~# EDITOR=имя_Вашего_любимого_текстового_редактора bash~# export EDITOR Затем команда: bash~# edquota имя_пользователя В файле откроется строка: fs /var/spool/mail blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0) Где: fs /var/spool/mail - файловая система blocks (soft = 0, hard = 0) - квоты по блокам, где soft мягкий лимит (если пользователь превышает его, то он получает уведомление по почте, что он превысил квоту и ему необходимо почистить inbox) и hard - при привышении квоты он не сможет записывать в эту файловую систему, до тех пор, пока не почистит inbox. inodes (soft = 0, hard = 0) - тоже самой но только квоты на кол-во inodes. Я обычно устанавливаю квоты на blocks и hard. В это случае строка будет выглядеть следующим образом: fs /var/spool/mail blocks (soft = 0, hard = 100000) inodes (soft = 0, hard = 0) Это означает что пользователю установлена квота в 100 Кб. Далее, сохраняйте изменения в файле и квота уснатовлена! 5. Теперь командой: edquota -p имя_пользователя_уже_с_квотой имя_нового_пользователя Вы дублируете квоту на нового пользователя. Но если в Вашей системе много пользователей, то этот скрипт, может облегчить Вашу жизнь :) Скрипт №1 (если на Вашей системе есть Perl): -------------------------------------------------------------------------------------------- #!/usr/bin/perl # Этот путь может быть другим. Проверте его. open (FL, ") { ($name, $pwd, $id, $gid, $rname, $home, $shell) = split(/:/); system("/usr/sbin/edquota -p имя_пользовалетя_уже_с_квотой $name"); print "Quota has applyed to user $name\n"; } --------------------------------------------------------------------------------------------- Этот скрипт установить квоты всем пользователям которые зарегистрированы в /etc/passwd И скрипт №2 (shell script) ----------------------------------------------------------------------------------------------- #!/usr/bin/sh # Этот путь может быть другим. Проверте его. users=`awk '{ print FS=":", $1}' /etc/passwd | awk ' {print $2}'` for user in $users do /usr/bin/edquota -p имя_пользовалетя_уже_с_квотой $user done ----------------------------------------------------------------------------------------------- Таким же образом можно установить квоты на home директории пользователей, если пользователи у Вас юниксовые. :) Ну вот кажется всё. Если будут вопросы то без проблем кидайте на мой E-mail. Системный Администратор | Виктор Тивилёв Национального Банка Кыргызской Республики | vtivilev@nbkr.kg | тел.: +996 312 669116