Answers:
对于所有用户还是特定用户?对于单个用户,将其设置在他们的.bashrc
文件中;对于所有用户,请签出pam_exec。
如果用户来自sshd
,则需要向/etc/pam.d/sshd
;其他文件,取决于它们的来源:
session optional pam_exec.so seteuid /path/to/my/hook.sh
出于测试目的,该模块以形式包含在内optional
,因此,如果模块失败,您仍然可以登录。确定其有效后,您可以更改optional
为required
。然后,除非成功执行挂钩脚本,否则无法登录。
注意:与以往一样,更改登录配置时,请在后台打开备用外壳,并从新终端测试登录。
session include pam_exec.so seteuid /path/to/script
到文件中/etc/pam.d/system-remote-login
。那是对的吗?
system-remote-login
或sshd
,取决于用户如何在未来。
auth optional pam_exec.so /path/to/my/hook.sh
中添加内容,/etc/pam.d/common-auth
以使PAM通知您发生的任何身份验证事件。该程序还可以向您发送推送通知:github.com/benjojo/PushAlotAuth
还有另一种方法仅影响使用ssh的用户,而不影响本地的ssh(在紧急情况下可能会更好)
请参见下面的ssh手册页中的摘录。
在这种情况下,用户通常可以自己修改文件(有点像.bashrc)
~/.ssh/rc Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started. See the sshd(8) manual page for more information.
这是全局的,普通用户无法修改
/etc/sshrc Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started. See the sshd(8) manual page for more information.
/etc/ssh/sshd_config
(man sshd_config
有关详细信息,请参阅)