在我们的其中一台服务器上,yum history
报告:
[tschmidt@sl-was01p ~]$ sudo yum history
Loaded plugins: product-id, search-disabled-repos, security, subscription-
: manager
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
30 | <dlewandowski> | 2016-10-07 11:18 | E, I, U | 38 EE
29 | <dlewandowski> | 2016-09-16 16:13 | Erase | 3
[...]
但报告的登录用户发誓他当时并没有靠近机器(无论是物理上还是逻辑上),并且last
似乎支持这一点:
[tschmidt@sl-was01p ~]$ last|grep dle
dlewando pts/0 al-dlewandowski. Tue Oct 11 09:01 - 09:23 (00:22)
dlewando pts/0 al-dlewandowski. Tue Oct 11 08:37 - 08:40 (00:02)
dlewando pts/1 al-dlewandowski. Tue Oct 4 11:04 - 11:09 (00:04)
dlewando pts/0 al-dlewandowski. Tue Oct 4 10:50 - 11:11 (00:21)
Syslog 也不会报告sudo
有关该用户的任何活动或yum
相关活动。
我想知道为什么yum history
会报告那个明显错误的用户。它从哪里获取这些信息?用户名没有出现在 的任何地方/var/log/yum.log
。
答案1
Yum 命令会记录登录机器的用户(登录名)。您可以使用 来查看当前会话的登录名logname
。su
(带或不带sudo
)将启动一个新的 shell,但不会更改登录名。
如果您运行yum history stats {TRANSACTION ID}
,它将告诉您存储 yum 事务数据的 SQLite 数据库文件的位置。您可以使用 sqlite3 打开此文件以查找各种信息。名为 的表trans_beg
有一个名为 的字段loginuid
。
[root ~]# yum history stats 4
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
File : //var/lib/yum/history/history-2015-11-10.sqlite
..
[root ~]# sqlite3 //var/lib/yum/history/history-2015-11-10.sqlite
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .schema
CREATE TABLE trans_beg (
tid INTEGER PRIMARY KEY,
timestamp INTEGER NOT NULL, rpmdb_version TEXT NOT NULL,
loginuid INTEGER);