OpenSSH(我猜可能是其他人)检查用户是否存在,并在连接形成时拥有有效的访问凭证。
OpenSSH(或任何其他生产质量的FOSS ssh服务器)可以configuration为不时重新检查连接的有效性吗? 例如,检查用户是否仍然存在,仍然可以通过SSH连接? 或者,也许检查用于连接的密钥仍然是有效的这个用户?
AFAIK,身份validation是一个看门人,您的凭证只有在进入时才被validation,并且只要会话保持有效,您的结果环境就会被caching并保持有效。
在会话期间,PAM模块也不需要重新validation。
您需要在撤销其帐户后主动终止特定用户拥有的进程,例如pkill -9 -U UID 。
现在没有办法做到这一点。 最基本的解决scheme是HBruijn所build议的。
但是,如果您拥有集中身份validation之类的东西,那当然可能无法正常工作,因为用户不在本地,因此需要分散查杀。
我将在PAM会话上使用pam_exec,并在后台运行一个任务来执行检查和查杀。
session optional pam_exec.so quiet /usr/local/bin/my-permisions-checking-binary 。