Этот скрипт будет добавлять пользователя в файл заголовка. Присоединим заголовок и конец друг к другу - таким образом, получим полный файл .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".