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