我需要将rpm中的文件权限设置为命名管道。
我们使用一些花哨的rpm魔法部署配置文件(%postun,%triggerin和%triggerun用于将旧配置文件放在一边并在需要时恢复m)。 作为Icinga分布式设置的配置的一部分,我想在rpm安装的一部分中更改文件的权限,但我无法找到我需要提供给''%attr''宏的值。
the flie是:
ll /var/spool/icinga/cmd/icinga.cmd
prw-rw-rw- 1 icinga icingacmd 84 Apr 28 13:40 /var/spool/icinga/cmd/icinga.cmd
编辑:
实际问题是我有权限prw-rw ---的icinga.cmd,但我需要它是prw-rw-rw-。 实际文件由具有上述权限的icinga进程创建。我试图自动化chmod,包括一个循环,检查FIFO的模式和权限是否良好,但是有一系列复杂的我没有预见到,我会放弃这个想法
答案 0 :(得分:1)
您无法使用程序包更改在运行时创建/删除的文件的权限。因此,set sticky(g + s 2755)位已设置,允许守护程序继承父目录的组。这样,命令管道可由icingacmd组写入(0660)。如果您的应用程序用户(通常是用于Web应用程序的icinga或apache)位于该组中,那么您将没有任何问题。对于icinga和apache用户来说,rpms已经非常谨慎(例如,经典ui要求)。 nsca软件包afaik作为用户nagios运行,必须将其放入icingacmd组(或者您将考虑将运行的用户nsca更改为icinga,或更改为icingacmd组中的其他新用户)。