Yum

“yum history”中的使用者名從何而來?

  • October 18, 2016

在我們的一台伺服器上,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.

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);

引用自:https://serverfault.com/questions/808446