C 运行启动停止守护程序的功能
我想停止由root启动的进程(proc2) 通过我的非特权流程(proc1) 我的进程proc1调用execl(“/bin/sh”、“sh”、“-c”、“/etc/init.d/proc2 restart”、nullptr) 和/etc/init.d/proc2重新启动调用start-stop守护进程 由于缺少杀死proc2(suid root)的功能,因此失败C 运行启动停止守护程序的功能,c,linux,C,Linux,我想停止由root启动的进程(proc2) 通过我的非特权流程(proc1) 我的进程proc1调用execl(“/bin/sh”、“sh”、“-c”、“/etc/init.d/proc2 restart”、nullptr) 和/etc/init.d/proc2重新启动调用start-stop守护进程 由于缺少杀死proc2(suid root)的功能,因此失败 什么样的功能必须设置为非特权进程proc1才能运行启动-停止守护进程(kill proc2)?我将重写您的问题,因为如何从用户级进程触
什么样的功能必须设置为非特权进程proc1才能运行启动-停止守护进程(kill proc2)?我将重写您的问题,因为如何从用户级进程触发管理任务(需要根权限) 设置将接受从非特权任务激活的特权继电器的常用方法。在Unix/Linux世界中,有两种经典的方法可以做到这一点:
sudo
只是这种根seutid可执行文件的一个示例,但它已经过广泛的测试不管怎样,您必须考虑安全问题:如何确保仅合法触发特权任务。您可以使用
sudo
并为该进程设置一个规则。您可以添加一个您现在正在执行的操作的示例吗?我必须将功能限制在所需的范围内,即非特权进程只能杀死特权进程。I正在考虑使用实用程序的功能。非特权进程必须通过execl将CAP_KILL传递给bash。这样,bash将获得部分特权,并可能杀死特权进程。