Answers:
最好的方法是使用pam。
在其中,/etc/pam.d
您将有几个文件,其中一个称为sshd
。如果只想影响ssh,而不希望影响其他登录名(例如GUI或真实的TTY),则需要此文件。
如果要影响所有登录,则需要一个“通用”文件。该另一个“公用”文件的名称因发行版而异,但是您可以通过遵循文件中的include
and substack
语句来对其进行跟踪,sshd
直到获得基本文件为止。
在确定/etc/pam.d
要使用的文件后,在该session
部分中添加一行,如下所示:
session optional pam_exec.so quiet /etc/pam_session.sh
这将导致/etc/pam_session.sh
每次有人登录和注销(无论是正常还是不正常)时都进行呼叫。
现在您只需要创建即可/etc/pam_session.sh
。下面是一个示例,您可以在每次有人注销时使用它来运行某些程序:
#!/bin/sh
if [ "$PAM_TYPE" = "close_session" ]; then
something
fi
(不要忘记chmod a+x
脚本)