Как организовать выполнение команд shell'а по почте?

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
savigm
Сообщения: 127
ОС: openSUSE

Как организовать выполнение команд shell'а по почте?

Сообщение savigm »

Добрый день.

Дано: рабочая станция Linux в локальной сети, почтовый сервер, доставляющий на рабочую станцию почту из локальной сети и из интернета.
Нужно: организовать выполнение команд shell'а из соодержимого письма на рабочей станции, естественно от определенного адресата и с определенным subject'ом.
Примечание: Конфигурировать почтовый сервер нет возможности.

Буду очень благодарен за любые советы.
Спасибо сказали:
Аватара пользователя
Jonnywalker
Сообщения: 60
ОС: Debian

Re: Как организовать выполнение команд shell'а по почте?

Сообщение Jonnywalker »

Не очень понял, как сервер доставляет почту на рабочую станцию... Но всё же.
Если бы я решал подобную задачу, то, вероятно:
1. на рабочей станции установил бы fetchmail для сбора почты с сервера и procmail для сортировки. В файле настроек ~/.fetchmailrc указал бы опцию mda procmail -f %F...
2. В ~/.procmailrc настраиваем требуемые правила сортировки, указав, что письма от нужного нам адресата с нужной темой падают в отдельную папку.

(Здесь думаем, как настроить ваш почтовик, чтобы он читал остальную человеческую почту из папки, в которую её положит procmail, если конечно это надо...
или же вместо пунктов 1 и 2 настраиваем сортировку непосредственно в почтовике. Узнаём, где он локально хранит письма.

3. далее пишем скрипт, который бы проходил по заданной папке, разбирал сообщения, удалял заголовки, а тело сообщения выполнял, после чего сообщение удалял или перемещал в архив. Нужно немного навыков программирования...

4. Ставим получение почты и выполнение скрипта на повторение по расписанию. Скрипт можем запускать от того юзера, от которого нужно.

Другой вариант - другой скрипт и поиграть с procmail, чтобы он скармливал письмо непосредственно скрипту в момент обработки.

Такие вот мысли вам для отправной точки. Это не вдаваясь в детали.
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Как организовать выполнение команд shell'а по почте?

Сообщение butch »

Jonnywalker писал(а):
07.05.2009 03:33
а тело сообщения выполнял

и кто то вам пришлет rm -rf /usr =)))
в общем соглашусь, идея простая =)
такое думал реализовать для пополнения белых списков доменов\адресатов или например изменения белых списков редиректора сквид =) но потом лень взяла свое - не так часто это бывает нужно.

как вариант можно сбацать набор скриптов на хосте, и согласно ключевому слову выполнять тот или иной скрипт.

ну и нужные секретные строчки. в хедерах или еще где то, чтобы выполнялось только то, что нужно вам =)
Jonnywalker писал(а):
07.05.2009 03:33
Нужно немного навыков программирования...

echo "some code" > /tmp/somecode.sh && sh /tmp/somecode.sh =)
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: Как организовать выполнение команд shell'а по почте?

Сообщение Sleeping Daemon »

savigm писал(а):
06.05.2009 18:47
Добрый день.

Дано: рабочая станция Linux в локальной сети, почтовый сервер, доставляющий на рабочую станцию почту из локальной сети и из интернета.
Нужно: организовать выполнение команд shell'а из соодержимого письма на рабочей станции, естественно от определенного адресата и с определенным subject'ом.
Примечание: Конфигурировать почтовый сервер нет возможности.

Буду очень благодарен за любые советы.

man aliases
man 8 local
Спасибо сказали: