####################################################################
#   Прежде чем читать дальше это письмо, предварительно прочитайте #
# мануалы (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