我的第一个想法是将用户的shell更改为执行类似的脚本
vim /logs/logindate.txt bash -l
有更好或更标准的技术吗?
注意:这个想法是这些用户是系统管理员,并希望在不破坏系统的情况下进行日志条目 – 他们经常忘记这样做.所以,如果他们可以控制它,那么……我们假设他们不会.
解决方法 查看 pam_exec.so.您可以在PAM的system-auth的会话界面中登录时运行脚本.在用户获取shell之前,脚本以root身份运行,因此它可能无法使用read捕获输入?但是,您可以尝试使用read从用户那里获取原因并使用logger语句将其记录到syslog中. (我在下面省略了,但您可以捕获CTRL C以防止任何人无故退出.)$PAM_USER将设置为登录的人,因此您可以将其包含在logger语句中.例:
在/etc/pam.d/system-auth中的会话顶部:
session required pam_exec.so /usr/local/sbin/getreason
和/usr/local / sbin / getreason:
#!/bin/bashread -p "Reason for logging into production: " reasonlogger -t $(basename ) "$PAM_USER logged in with reason: ${reason}"
如果这不能很好地起作用,请道歉.我没有测试它,但最近做了类似的事情. (它没有捕获输入.)
编辑:我对此的思考越多,我就越不认为它会因为它运行的阶段而起作用.将$PAM_USER替换为$(logname)后,相同的getreason脚本应该可以工作,但可能需要在/ etc / profile中执行. (首先测试交互式shell.)
我会留下两个选项,因为它至少应该让你思考正确的方向,如果没有别的.
总结以上是内存溢出为你收集整理的linux – 需要一种技术来强制系统管理员记录访问prod服务器的原因全部内容,希望文章能够帮你解决linux – 需要一种技术来强制系统管理员记录访问prod服务器的原因所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)