“yum history”里的用户名从何而来?

“yum history”里的用户名从何而来?

在我们的其中一台服务器上,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 命令会记录登录机器的用户(登录名)。您可以使用 来查看当前会话的登录名lognamesu(带或不带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);

相关内容