在linux 系统中是有用户管理的,每个用户所拥有的权限是有限的,这是系统的一种保护机制。
但是如果以普通用户user身份运行的程序,要想获取一些超级权限,比如 操作网络设置,重启等权限,那又该怎么办呢?
linux 内核 就给我们提供了这种越线能力的支持,这些函数接口的调用可以直接使用 libcap 的第三方开源库。安装后会有一些命令,setcap getcap 可以直接使用命令来设置 越线能力。也可以使用 库中的函数接口来操作。可参考:https://libcap.com.ph/
但是如果在使用的过程中遇到:
Failed to get capabilities of file `' (Operation not supported)
说明你的内核还没有打开这种获取超级权限的开关,毕竟这对于内核来说,是不安全的。
把下面的开关打开即可:
CONFIG_EXT3_FS_SECURITY=y