6.27. Libcap-2.25

Libcap 软件包为 Linux 内核提供的 POSIX 1003.1e 权能字实现用户接口。这些权能字是 root 用户的最高特权分割成的一组不同权限。

估计编译时间: 不到 0.1 SBU
需要硬盘空间: 1.4 MB

6.27.1. 安装 Libcap

防止静态库的安装:

sed -i '/install.*STALIBNAME/d' libcap/Makefile

编译该软件包:

make

该软件包不包含测试套件。

安装该软件包:

make RAISE_SETFCAP=no lib=lib prefix=/usr install
chmod -v 755 /usr/lib/libcap.so

make 命令选项的含义:

RAISE_SETFCAP=no

该参数跳过对 setcap 使用它本身的步骤。 这可以避免在不支持扩展权能字的内核或文件系统上发生安装错误。

lib=lib

在 x86_64 上,该参数将库安装在 $prefix/lib,而不是 $prefix/lib64。 它在 x86 上没有作用。

需要把共享库移动到 /lib,因此 /usr/lib 中的 .so 符号链接需要重新建立:

mv -v /usr/lib/libcap.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libcap.so) /usr/lib/libcap.so

6.27.2. Libcap 的内容

安装的程序: capsh, getcap, getpcaps, 以及 setcap
安装的库: libcap.so

简要描述

capsh

一个用于演示和限制 Linux 权能字的 shell 封装器

getcap

检验文件权能字

getpcaps

查询进程的权能字

setcap

设定文件权能字

libcap

包含操作 POSIX 1003.1e 权能字的库函数