Linux 制作设置POSIX文件功能的RPM

Linux 制作设置POSIX文件功能的RPM,linux,rpm,rpm-spec,linux-capabilities,Linux,Rpm,Rpm Spec,Linux Capabilities,如何制作一个设置文件格式的文件?如果我尝试以非root用户的身份执行rpmbuild,那么当我的makefile的安装挂钩尝试运行时会出现错误,但是如果我不运行setcap,那么rpmbuild将如何复制这些功能?似乎没有任何方法可以从中设置功能。有一个用于设置功能的spec file宏,%caps;出于某种原因,这似乎主要记录在和变更日志中,所以我花了一段时间才找到它 它在等级库文件中的使用方式如下: %caps(cap_net_admin=pe) %{_sbindir}/foobar 要获

如何制作一个设置文件格式的文件?如果我尝试以非root用户的身份执行
rpmbuild
,那么当我的makefile的安装挂钩尝试运行时会出现错误,但是如果我不运行
setcap
,那么
rpmbuild
将如何复制这些功能?似乎没有任何方法可以从中设置功能。

有一个用于设置功能的spec file宏,
%caps
;出于某种原因,这似乎主要记录在和变更日志中,所以我花了一段时间才找到它

它在等级库文件中的使用方式如下:

%caps(cap_net_admin=pe) %{_sbindir}/foobar
要获取
makeinstall
以仅在root用户调用时使用
setcap
,可以执行以下操作:

@if test `id -u` -eq 0; then \
    setcap cap_net_admin=pe $(DEST_SBINDIR)/foobar ; \
fi

我无法使
%caps
指令起作用。在意外标记'cap\u net\u raw+ep'附近出现语法错误。。找到了另一个使用
%post
的解决方案,如本期所述: