在 RPM 上重新设置权限似乎不起作用

在 RPM 上重新设置权限似乎不起作用

我正在使用 RPM 进行文件验证。我所做的就是跑步

rpm -Va

获取已更改的文件列表。然后我跑

rpm -qf 

获取文件所属的包名。最后我跑了

rpm --setperms <pkgname>

它运行时没有错误,但似乎没有完成其工作,因为当我启动新的验证时,它返回相同的文件列表。关于为什么这可能并不总是按预期工作的任何原因/警告?

答案1

如果没有有关失败原因的详细信息,谁知道呢,因为某些验证总是会失败并且永远无法修复,例如,如果/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可能很方便,可以详细说明这个相当神秘的输出......)

相关内容