我想停止由root启动的进程(proc2) 通过我的无特权过程(proc1)。
我的流程proc1调用 execl(" / bin / sh"," sh"," -c"," / etc / init.d / proc2 restart",nullptr)。
和 /etc/init.d/proc2 restart 调用 start-stop-daemon
由于缺乏杀死proc2(suid root)的能力而失败
必须为非特权进程proc1设置哪种功能才能运行start-stop-daemon(kill proc2)?
答案 0 :(得分:0)
我会将您的问题重写为如何从用户杠杆流程触发管理任务(需要root权限)?
设置可接受从非特权任务激活的特权转发的常用方法。在Unix / Linux世界中有两种经典的方法:
sudo
只是这种 root seutid 可执行文件的一个例子,但它已经过广泛测试无论哪种方式,您都必须考虑安全问题:如何确保只合法触发特权任务。