如何 sudo 当前进程?

2023-11-24

是否可以使用 sudo 前端(如 gksudo)来提升权限current过程?我知道我可以执行以下操作:

sudo cat /etc/passwd-

但我有兴趣这样做:

sudo-become-root # magic function/command
cat /etc/passwd-

我正在用 Python 编写。我的用例是,我有一个以用户身份运行的程序,但可能会遇到要读取/写入 root 拥有的文件。我想提示输入密码,获得 root 权限,执行我需要的操作,然后可以选择再次放弃权限。

我知道我可以将管理逻辑和非管理逻辑分离到单独的进程中,然后以 root 身份运行管理进程(通过一些通信——policykit/dbus 在这里很适合)。但我希望有一个更简单(尽管无疑风险更大)的解决方案。

我正在考虑通过 sudo 运行 Solaris 的 ppriv 来修改当前进程的权限。这看起来像是一个虽然简单但可行的往返。但据我所知,linux不提供ppriv。

(令我惊讶的是,这还不是很明显;这似乎是一件很常见的事情,但并不需要seem成为一个安全漏洞,允许进程内升级超过新进程的升级。)


Aptitude 有一个“成为root”选项。您可能想看看作者在那里做了什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何 sudo 当前进程? 的相关文章

随机推荐