例如,如果我closures腻子或只是失去互联网连接,如何使服务器执行特定的命令?
Mikael在评论中的解决scheme非常完美。 感谢帮助
因为serverfault默认我的答案评论,我复制从这个职位的正确答案:
最好的办法是使用pam。
在/etc/pam.d中你将有几个文件,其中一个将被称为sshd。 如果你只想影响ssh,而不是其他的login(比如GUI,或者真正的TTY),那么你需要这个文件。 如果你想影响所有的login,你会想要一个“通用”文件。 这个其他'普通'文件的名称因发行版本而异,但是您可以通过在sshd文件中跟踪include和substack语句来追踪它,直到到达基本文件。
一旦在/etc/pam.d中find了要使用的文件,请在会话部分添加如下所示的行:
session optional pam_exec.so quiet /etc/pam_session.sh
这将导致每次有人login和注销时(无论是优雅还是不正常)调用/etc/pam_session.sh。
现在你只需要创build/etc/pam_session.sh。 下面是一个例子,你可以用它来运行每次有人注销的东西:
#!/bin/sh if [ "$PAM_TYPE" = "close_session" ]; then something fi
(不要忘记chmod a + x脚本)