Files

重新設置 RPM 的權限似乎不起作用

  • October 5, 2015

我正在使用 RPM 進行文件驗證。我所做的是執行

rpm -Va

獲取已更改文件的列表。然後我跑

rpm -qf 

獲取文件所屬的包名。最後我跑

rpm --setperms <pkgname>

這執行沒有錯誤,但似乎沒有完成它的工作,因為當我啟動新驗證時它返回相同的文件列表。關於為什麼這可能並不總是按預期工作的任何原因/警告?

如果沒有有關失敗原因的詳細資訊,誰知道呢,因為某些驗證將始終失敗並且永遠無法修復,例如,如果/etc/aliases已修改為將root郵件指向其他地方:

% rpm -qf /etc/aliases
setup-2.8.14-20.el6_4.1.noarch
% rpm -V setup
S.5....T.  c /etc/aliases
% 

在這種情況下,文件大小不同(a--setperms不會做任何修復),摘要不同(同樣,--setperms是不相關的),並且 mtime 不同,這又--setperms不會做任何事情。

但是,權限當然可以用--setperms.

% sudo chmod 7001 /etc/aliases
% ls -l /etc/aliases
---S--S--t. 1 root root 1542 Aug  1  2014 /etc/aliases
% rpm -V setup
SM?....T.  c /etc/aliases
% sudo rpm --setperms setup
% rpm -V setup             
S.5....T.  c /etc/aliases
% ls -l /etc/aliases       
-rw-r--r--. 1 root root 1542 Aug  1  2014 /etc/aliases
% 

請注意“模式”的第二列,以及考慮到權限被佔用,摘要檢查如何失敗。

(包裝器rpm -V可能會很方便,以詳細說明這個非常神秘的輸出……)

引用自:https://unix.stackexchange.com/questions/234045