一个已经运行的进程需要一个特权指令,例如使用SO_RCVBUFFORCE套接字选项。该进程正在以普通用户进程的身份运行。
如何为此进程授予权限?基于文件的能力设置仍然是一个梦想吗?
我尝试了libcap包中的/usr/sbin/setpcaps实用程序和cap_set_proc() api,但是CAP_SETPCAP功能在系统上被阻止(一个基于Fedora 4和2.6.20内核的遗留系统),因此它不能为不同于自身的进程授予/删除功能。
考虑将临时root uid设置为该进程,但是否有一种方法可以更改外部已运行进程的有效UID?setuid()/seteuid()/...函数只能修改当前进程(调用该函数的进程)。