Отправить все команды пользователей по электронной почте, когда пользователь выходит из системы

270
Thomas Storm

В Linux, есть ли способ отправить электронное письмо с пользовательским сеансом (например, командами), когда он выходит из SSH или консольного сеанса?

1
Что такое сессия? Когда они входят через SSH, или в консоль, или вместо этого только в какую-то графическую среду? thrig 7 лет назад 0
только ssh и консоль Thomas Storm 7 лет назад 0

1 ответ на вопрос

2
Dfaure

Если вы говорите о запуске оболочки bash в интерактивном режиме, если вы ссылаетесь на Bash Startup Files, вы сможете запускать некоторые команды через ~/.bash_logoutфайл.

В вашем случае вы бы сделали что-то вроде передачи истории оболочки в какую-нибудь почтовую команду, такую ​​как:

history | mail -s "history" foo@bar.com 
Спасибо! Это делает трюк, но отправляет общую историю. Я пытался поместить «history -c» в ~ / .bash_profile, но это не помогает - история такая же. Есть ли у вас какие-либо идеи, как я могу сделать историю только команды журнала из точного сеанса? Thomas Storm 7 лет назад 0
для одного использования ** последний **, чтобы узнать, какой период времени использовать - что может быть сложно при работе с несколькими tty одновременно - и затем использовать ** HISTTIMEFORMAT = "% d /% m /% y% T" ** поставить метки времени на выходе ** истории **. flowtron 7 лет назад 0
[здесь] (http://unix.stackexchange.com/questions/171341/bash-history-for-current-session) я нашел Thomas Storm 7 лет назад 0
но он все еще не работает в .bash_profile Thomas Storm 7 лет назад 0
Выяснилось, что запуск "rm -f ~ / .bash_history; прикосновение ~ / .bash_history" в bash_profile и запуск "history -a" перед тем, как ваша команда в bash_logout делает именно то, что мне нужно было сделать. Thomas Storm 7 лет назад 0

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