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