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