我在一个有多个用户的环境中工作,这些用户可以sudo
使用自己的密码进行调用。
大多数用户通过 登录ssh
、拨打电话sudo -i
并进行“工作”。
问题在于要确定谁做了破坏工作服务/脚本的事情。
有没有办法保存单独的cmd历史记录?现在我必须su root
打电话history
:
- 不会向我显示所有调用的命令 - 因为多个 root 会话将覆盖 bash 历史记录。
- 我不知道谁以 root 身份调用了哪个命令
我知道每个用户都可以跳过sudo -i
并调用每个命令sudo <cmd>
,并且这些命令将保存在每个用户的 bash 历史记录中,但我无法用单词“强制”(仅使用配置)
答案1
visudo
包括一行:-
Defaults logfile=/var/log/sudo
(或类似)
注意:- 您需要成为 root 才能阅读日志。例子:-
Jun 17 20:56:26 : jeremy : TTY=pts/0 ; PWD=/home/jeremy ; USER=root ;
COMMAND=/usr/bin/ls -lh