Оповещение по электронной почте при подключении по SSH и SFTP

Посмотрели другие вопросы об оповещениях по электронной почте при входе в систему, но у них есть 2 вопроса:

Может ли оповещение быть инициировано пользователями, подключающимися через SFTP? (Я пробовал это раньше, и он вызывал только электронную почту при использовании SSH и без использования SFTP для удаленной передачи)

В других ответах говорилось, что оповещение по электронной почте не будет работать, если параметр -n используется через SSH, способ обойти это?

Спасибо.

0
задан 15 July 2013 в 01:50

2 ответа

По сути, я бы использовал что-то в .bashrc для запуска команды отправки почты. Используя трюки с включениями и разрешениями, вы можете сделать невозможным редактирование для пользователя (предоставить .bashrc пользователю root, включить в него .bashrc_priv, который вы дадите пользователю для его собственной конфигурации).

.bashrc, принадлежит root

# trigger mail here
[ -f "~/.bashrc_priv" ] && . ~/.bashrc_priv

.bashrc_priv, принадлежит $ USER

# Whatever you want in your users' bashrc ; they can edit this file.

Насколько я помню, SFTP запускает процесс входа в bash.

Если вы используете что-то конкретное для запуска оповещения (какой-то пакет / приложение), дайте мне знать.

0
ответ дан 15 July 2013 в 01:50

Вы можете настроить это с помощью rsyslog, который вы, вероятно, используете. Он включает в себя модуль вывода для отправки электронной почты, и вы можете настроить правило для отправки по электронной почте определенного адреса, когда зарегистрированное сообщение соответствует. Вот пример:

$ModLoad ommail
$ActionMailSMTPServer mail.example.net
$ActionMailFrom example@example.net
$ActionMailTo example@example.net
$template mailSubject,"User logged into %hostname%"
$template mailBody,"RSYSLOG Alert\r\nmsg='%msg%'"
$ActionMailSubject mailSubject
$ActionExecOnlyOnceEveryInterval 60
if $msg contains 'session opened for user' then :ommail:;mailBody

Вы можете оставить это в /etc/rsyslog.d/notify.conf, настроить его по мере необходимости, а затем запустить service rsyslog restart. Вы должны получать сообщения электронной почты, которые выглядят следующим образом:

Date: Mon, 15 Jul 2013  2:30:01 UT
From: <example@example.net>
To: <example@example.net>
Subject: User logged into localhost
X-Mailer: rsyslog-immail

RSYSLOG Alert
msg=' pam_unix(cron:session): session opened for user root by (uid=0)'

Подробнее об этой функции можно прочитать по адресу: http://www.rsyslog.com/doc/ommail.html

0
ответ дан 15 July 2013 в 01:50

Другие вопросы по тегам:

Похожие вопросы: