管理员通过个人用户名登录服务器,然后运行sudo -i
成为 root ,这是公司的政策。运行时sudo -i
,sudo 将创建一个名为 的环境变量SUDO_USER
,其中包含原始用户的用户名。
有没有办法使用类似于以下语法的内容在 syslog 中记录所有命令:
${TIME/DATE STAMP}: [${REAL_USER}|${SUDO_USER}]: ${CMD}
Run Code Online (Sandbox Code Playgroud)
一个示例条目是:
Sat Jan 19 22:28:46 CST 2013: [root|ksoviero]: yum install random-pkg
Run Code Online (Sandbox Code Playgroud)
显然它不必完全是上述语法,它只需要包含最少的真实用户(例如 root)、sudo 用户(例如 ksoviero)和运行的完整命令(例如 yum安装随机包)。
我已经试过了snoopy
,但它不包括SUDO_USER
变量。