制作设置POSIX文件功能的RPM

Mat*_*ine 9 linux rpm rpm-spec linux-capabilities

如何制作一个设置文件POSIX功能的RPM?如果我尝试以非root用户身份进行操作,那么当我的makefile的安装挂钩尝试运行时,我会收到错误,但如果我不运行,将如何 复制这些功能?似乎没有任何方法可以在RPM spec文件中设置功能.rpmbuildsetcapsetcaprpmbuild

Mat*_*ine 12

这里是设置功能,SPEC文件宏%caps; 出于某种原因,这似乎主要记录在发行说明和更改日志中,因此我花了一段时间才找到它.

它在spec文件中使用如下:

%caps(cap_net_admin=pe) %{_sbindir}/foobar
Run Code Online (Sandbox Code Playgroud)

要仅在root用户调用时make install使用setcap,您可以执行以下操作:

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