加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 需要一种技术来强制系统管理员记录访问prod服务器的原

发布时间:2020-12-13 18:36:13 所属栏目:Linux 来源:网络整理
导读:我的公司要求用户登录到生产服务器时,必须记录该用户登录的原因以及用户打算进行的更改.我的团队希望这样做,但很容易忘记.我想帮助他们记住.我考虑过一个问题,但想要一些更强的东西. 我的第一个想法是将用户的shell更改为执行类似的脚本 vim /logs/logindate
我的公司要求用户登录到生产服务器时,必须记录该用户登录的原因以及用户打算进行的更改.我的团队希望这样做,但很容易忘记.我想帮助他们记住.我考虑过一个问题,但想要一些更强的东西.

我的第一个想法是将用户的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/bash
read -p "Reason for logging into production: " reason
logger -t $(basename $0) "$PAM_USER logged in with reason: ${reason}"

如果这不能很好地起作用,请道歉.我没有测试它,但最近做了类似的事情. (它没有捕获输入.)

编辑:我对此的思考越多,我就越不认为它会因为它运行的阶段而起作用.将$PAM_USER替换为$(logname)后,相同的getreason脚本应该可以工作,但可能需要在/ etc / profile中执行. (首先测试交互式shell.)

我会留下两个选项,因为它至少应该让你思考正确的方向,如果没有别的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读