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