Добрый день.
Дано: рабочая станция Linux в локальной сети, почтовый сервер, доставляющий на рабочую станцию почту из локальной сети и из интернета.
Нужно: организовать выполнение команд shell'а из соодержимого письма на рабочей станции, естественно от определенного адресата и с определенным subject'ом.
Примечание: Конфигурировать почтовый сервер нет возможности.
Буду очень благодарен за любые советы.
Как организовать выполнение команд shell'а по почте?
Модераторы: SLEDopit, Модераторы разделов
-
savigm
- Сообщения: 127
- ОС: openSUSE
-
Jonnywalker
- Сообщения: 60
- ОС: Debian
Re: Как организовать выполнение команд shell'а по почте?
Не очень понял, как сервер доставляет почту на рабочую станцию... Но всё же.
Если бы я решал подобную задачу, то, вероятно:
1. на рабочей станции установил бы fetchmail для сбора почты с сервера и procmail для сортировки. В файле настроек ~/.fetchmailrc указал бы опцию mda procmail -f %F...
2. В ~/.procmailrc настраиваем требуемые правила сортировки, указав, что письма от нужного нам адресата с нужной темой падают в отдельную папку.
(Здесь думаем, как настроить ваш почтовик, чтобы он читал остальную человеческую почту из папки, в которую её положит procmail, если конечно это надо...
или же вместо пунктов 1 и 2 настраиваем сортировку непосредственно в почтовике. Узнаём, где он локально хранит письма.
3. далее пишем скрипт, который бы проходил по заданной папке, разбирал сообщения, удалял заголовки, а тело сообщения выполнял, после чего сообщение удалял или перемещал в архив. Нужно немного навыков программирования...
4. Ставим получение почты и выполнение скрипта на повторение по расписанию. Скрипт можем запускать от того юзера, от которого нужно.
Другой вариант - другой скрипт и поиграть с procmail, чтобы он скармливал письмо непосредственно скрипту в момент обработки.
Такие вот мысли вам для отправной точки. Это не вдаваясь в детали.
Если бы я решал подобную задачу, то, вероятно:
1. на рабочей станции установил бы fetchmail для сбора почты с сервера и procmail для сортировки. В файле настроек ~/.fetchmailrc указал бы опцию mda procmail -f %F...
2. В ~/.procmailrc настраиваем требуемые правила сортировки, указав, что письма от нужного нам адресата с нужной темой падают в отдельную папку.
(Здесь думаем, как настроить ваш почтовик, чтобы он читал остальную человеческую почту из папки, в которую её положит procmail, если конечно это надо...
или же вместо пунктов 1 и 2 настраиваем сортировку непосредственно в почтовике. Узнаём, где он локально хранит письма.
3. далее пишем скрипт, который бы проходил по заданной папке, разбирал сообщения, удалял заголовки, а тело сообщения выполнял, после чего сообщение удалял или перемещал в архив. Нужно немного навыков программирования...
4. Ставим получение почты и выполнение скрипта на повторение по расписанию. Скрипт можем запускать от того юзера, от которого нужно.
Другой вариант - другой скрипт и поиграть с procmail, чтобы он скармливал письмо непосредственно скрипту в момент обработки.
Такие вот мысли вам для отправной точки. Это не вдаваясь в детали.
-
butch
- Сообщения: 331
- ОС: :OC
Re: Как организовать выполнение команд shell'а по почте?
и кто то вам пришлет rm -rf /usr =)))
в общем соглашусь, идея простая =)
такое думал реализовать для пополнения белых списков доменов\адресатов или например изменения белых списков редиректора сквид =) но потом лень взяла свое - не так часто это бывает нужно.
как вариант можно сбацать набор скриптов на хосте, и согласно ключевому слову выполнять тот или иной скрипт.
ну и нужные секретные строчки. в хедерах или еще где то, чтобы выполнялось только то, что нужно вам =)
echo "some code" > /tmp/somecode.sh && sh /tmp/somecode.sh =)
-
Sleeping Daemon
- Сообщения: 1450
Re: Как организовать выполнение команд shell'а по почте?
savigm писал(а): ↑06.05.2009 18:47Добрый день.
Дано: рабочая станция Linux в локальной сети, почтовый сервер, доставляющий на рабочую станцию почту из локальной сети и из интернета.
Нужно: организовать выполнение команд shell'а из соодержимого письма на рабочей станции, естественно от определенного адресата и с определенным subject'ом.
Примечание: Конфигурировать почтовый сервер нет возможности.
Буду очень благодарен за любые советы.
man aliases
man 8 local