capabilities
cap
为了执行权限检查,传统的UNIX实现区分两类进程:特权进程(其有效用户ID为0,称为超级用户或根用户)和非特权进程(其有效UID为非零)。特权进程绕过所有内核权限检查,而非特权进程根据进程的凭据(通常为:有效UID、有效GID和补充组列表)接受完全权限检查。
从内核2.2开始,Linux将传统上与超级用户相关的特权划分为不同的单元,称为功能,可以独立启用和禁用。功能是每个线程的属性。
使用capset系统调用设置nobody进程的线程capabilites。
sys/capability.h 如果没有:
apt install libcap-dev
或者用引用 linux/capability.h 。使用syscall 调用 SYS_capset 系统调用
自定义capset