struct __user_cap_header_struct hdr;
struct __user_cap_data_struct data;
__u32 cap_mask = 0;
cap_mask |= (1 << CAP_NET_BIND_SERVICE);//bing定小于1024的权限
memset(&hdr, 0, sizeof(hdr));
memset(&data, 0, sizeof(data));
hdr.pid = getpid();
hdr.version = _LINUX_CAPABILITY_VERSION;
data.inheritable = 0;
data.effective = cap_mask;
data.permitted = cap_mask;
Capset(&hdr, &data);//syscall()调用capset
程序出错:syscall error: Operation not permitted
http://blog.csdn.net/wuxiaobingandbob/article/details/15334455
虽然很详细,可是我需要的是编程实现端口绑定,通过普通用户获取capablity,也就是绑定端口的特权,因为我在写一个ftp服务端,需要bing定20端口