制作设置POSIX文件功能的RPM

问题描述 投票:9回答:1

怎么做一个RPM设置文件的POSIX capabilities?如果我尝试将rpmbuild作为非root用户,那么当我的makefile的安装钩子试图运行setcap时我得到一个错误,但是如果我不运行setcaprpmbuild将如何复制这些功能?似乎没有任何方法可以在RPM spec file中设置功能。

linux rpm rpm-spec linux-capabilities
1个回答
12
投票

有一个用于设置功能的spec文件宏,%caps;出于某种原因,这似乎主要记录在release notes和changelogs中,所以我花了一段时间才找到它。

它在spec文件中使用如下:

%caps(cap_net_admin=pe) %{_sbindir}/foobar

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

@if test `id -u` -eq 0; then \
    setcap cap_net_admin=pe $(DEST_SBINDIR)/foobar ; \
fi
© www.soinside.com 2019 - 2024. All rights reserved.