标签: bash ssh logout
我有一个ssh服务器,我希望每次有用户登录和注销时都执行一个特定的脚本。
对于那些登录的用户,我的命令放在.bashrc的末尾,但是对于那些注销的用户,我的操作与.bash_logout相同,但问题是如果用户关闭终端而是写退出,不执行此文件。
.bashrc
.bash_logout
在某个地方(可能与ssh相关),放置了一些脚本,以便在用户与ssh断开连接时执行脚本?
答案 0 :(得分:1)
您可以在trap上使用pam或使用SIGHUP。 Here是有关如何使用pam进行ssh会话管理的详细说明。
trap
SIGHUP
以上link的相关部分:
在/etc/pam.d/sshd
/etc/pam.d/sshd
session optional pam_exec.so quiet /etc/pam_session.sh
创建pam_session.sh并添加脚本以检测ssh断开连接(因为pam_session.sh将在登录和注销期间被调用)。
pam_session.sh
#!/bin/sh if [ "$PAM_TYPE" = "close_session" ]; then #DO SOMETHING fi