Автоматизация

Автоматизация

Хорошо, теперь, когда все, описанное выше, работает ... (если не работает - даже не думайте об автоматизации, пока все не будет работать ...) - теперь - нам нужен некоторый скрипт, чтобы избежать головной боли у "mailadministrator'а" или root'а, при добавлении пользователей в файл procmailrc ... Ниже будет приведен пример для "более опытных пользователей", так как некоторые вещи ДОЛЖНЫ быть изменены ... - это пример для "Способа B - строки Subject". Он может быть легко приспособлен к "Способу A". "Способ B" будет больше использоваться (он более дешев), чем способ "A" - лично я решил использовать "Способ B" ...

"Каркас (скелет)"

Необходимо иметь файл заголовка и файл конца.

Скрипт addmail

Этот скрипт будет добавлять пользователя в файл заголовка. Присоединим заголовок и конец друг к другу - таким образом, получим полный файл .procmailrc. Строка, начинающаяся со знака "#", означает комментарий, и он не обязателен - это только информация для вас. :)

"(*** < file > *** code ***) addmail (* chmod 500 *)"

#/bin/sh
#
# Copyright (c)1997 by Gunther Voet. rev 1.0.1
# пожалуйста, оставьте этот Copyright, когда будете распространять этот файл


echo ""
echo "Addmail v1.0.1 by Gunther Voet, Freaker / TuC'97-98 (21/04/97)"
echo ""

if [ $1 ]; then

        if [ $2 ]; then


# создать резервную копию !

        
        cp /home/mailserv/.procmailrc-header /home/mailserv/.procmailrc-backup
        
# Добавить (>>) информацию в заголовочный файл ...        

        echo ":0" >> /home/mailserv/.procmailrc-header
        echo "* ^Subject:.$1" >> /home/mailserv/.procmailrc-header
        echo "! $2" >> /home/mailserv/.procmailrc-header
        echo "" >> /home/mailserv/.procmailrc-header

# Скопировать содержимое заголовочного файла в .procmailrc -
# и добавить к нему окончание (.procmailrc-footer)


        cat /home/mailserv/.procmailrc-header > /home/mailserv/.procmailrc
        cat /home/mailserv/.procmailrc-footer >> /home/mailserv/.procmailrc

# Сделаем владельцем "mailserv" и чтение/запись ТОЛЬКО для группы user ...


        chown mailserv /home/mailserv/.procmailrc
        chgrp users /home/mailserv/.procmailrc
        chmod 600 /home/mailserv/.procmailrc
else
        echo "No DESTINATION mail address has been given ..."
fi

else
        echo "usage:"
        echo ""
        echo "syntax:  addmail from_user to_user(domain)"
        echo ""
        echo "example: addmail freaker freaker@myemail.dom"
        echo ""
fi

Теперь этот скрипт будет добавлять информацию о пользователе и почтовый адрес в заголовочный файл, затем все это копируется в файл .procmailrc, после этого туда будет добавлен конец файла, и вы получите полный файл .procmailrc. Если вы захотите удалить пользователя, то просто отредактируйте файл .procmailrc-header и при следующем добавлении нового пользователя он будет удален из файла .procmailrc. Чтобы удалить его немедленно, надо удалить пользователя из обоих файлов - .procmailrc и .procmailrc-header.

Я думаю, что вы достаточно умны, чтобы написать скрипт, который автоматически добавляет пользователей при использовании обоих методов, при выполнении команды "adduser".



Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости