【问题标题】:How to run an script when user is disconnected from ssh当用户与 ssh 断开连接时如何运行脚本
【发布时间】:2019-07-12 08:39:43
【问题描述】:

我有一个 ssh 服务器,我想在每次任何用户登录和注销时执行一个特定的脚本。

对于那些登录的人,我将我的命令放在.bashrc 的末尾,但对于那些注销的人,我也在做同样的事情,但使用.bash_logout,问题是如果用户关闭终端而不是写退出这个文件未执行。

有一些地方(可能与 ssh 有关)放置脚本以在用户与 ssh 断开连接时执行它们?

【问题讨论】:

    标签: bash ssh logout


    【解决方案1】:

    您可以使用pam 或在SIGHUP 上使用trapHere详细讲解了如何使用pam进行ssh会话管理。

    相关部分来自上述link

    /etc/pam.d/sshd中添加以下内容

    session     optional    pam_exec.so quiet /etc/pam_session.sh
    

    创建pam_session.sh并添加脚本以检测ssh断开(因为pam_session.sh将在登录和注销期间被调用)。

    #!/bin/sh
    if [ "$PAM_TYPE" = "close_session" ]; then
      #DO SOMETHING
    fi
    

    【讨论】:

    • 不工作,我在“做某事”echo "test" >> /tmp/test.txt 的 pam 会话中写,但每当我断开连接时它不会做任何事情
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-29
    • 2021-07-16
    • 2016-08-26
    • 2021-03-13
    • 1970-01-01
    相关资源
    最近更新 更多