我们正在寻找一种解决方案,以在用户注销系统时记录事件(例如,记录到syslog中)。这可能是从shell(bash)注销或使用ssh注销。我们要区分通过“退出”的显式用户注销和刚刚到期的用户会话(超时)。那可能吗?如何?寻找哪个方向的解决方案?
系统为RHEL7 / CentOS7,并使用VMWare运行(也应记录Web控制台注销)。
答案 0 :(得分:1)
您可能需要太多不同的解决方案。
编辑
可以通过选中“ $?”来获得“超时”的指示。在TRAP处理程序中。它将是142,对应于ALRM信号(kill -l 142 = ARLM)。这不是明确的文档,但是与kill -ALRM的默认信号处理程序一致。
function my_trap {
local X=$1
if [ "$X" = "$(kill -l ALRM)" ] ; then
Log Timeout
else
Log Exit/EOF
fi
}
trap 'my_trap $?' EXIT