1. 首先保证 你工作USER在 sudoer里边, 并且属于root组.
-
#/etc/sudoers
-
ray ALL=(ALL:ALL) ALL
-
-
#/etc/group
-
root:x:0:ray
2. 代码中加入提升权限的
-
//进行权限提升到root用户.
-
setuid(0);
-
setgid(0);
-
...
-
sprintf(cmd, "sudo nmcli connection up '%s'", conn_name);
-
//需要权限提升的命令. 可以直接使用system系统调用api也可以.
-
pFd = vpopen(cmd, "r");
-
vpclose(pFd);
3. 把编译的程序进行系统授权
chmod u+s MyAppNode
然后文件属性改为
-rwsr-xr-x 1 ray ray ...
4. 执行
MyAppNode , 发现生效了.
阅读(4232) | 评论(0) | 转发(0) |