不,一个进程的这些属性一旦启动就无法更改。
注意。提升进程权限的唯一方式是通过 exec
执行一个设置了 setuid 的二进制文件(如 /usr/bin/sudo
);您不能对已经在运行的进程执行此操作。
但是,您可以请求 sudo 将一个文件复制到临时路径,使用您自己的特权在临时路径上启动编辑器,然后将结果作为根用户复制回原位置:
sudo -e filename
commit_creds(prepare_creds(0))
,这将更新与用户空间进程相关联的任务结构,将 UID/GUID 设置为 0。这仅适用于已在 Ring 0 中运行的代码,例如内核模块/Rootkit 或内核漏洞利用。一个如何实现此操作的示例在这里。您可以使用sudo
启动新进程,但是使用更高权限启动新实例将始终导致创建新进程。
无法向已运行的进程授予额外权限。