是否可以使用 sudo 前端(如 gksudo)来提升当前进程的权限?我知道我可以做到以下几点:
sudo cat /etc/passwd-
但我有兴趣这样做:
sudo-become-root # magic function/command
cat /etc/passwd-
我正在用 Python 编写代码。我的用例是我有一个以用户身份运行的程序,但可能会遇到 root 拥有的要读/写的文件。我想提示输入密码,获得 root 权限,做我需要的,然后有选择地再次删除权限。
我知道我可以将管理逻辑和非管理逻辑分离到单独的进程中,然后以 root 身份运行管理进程(通过一些通信——policykit/dbus 在这里很合适)。但我希望有一个更简单(尽管风险更大)的解决方案。
我正在考虑通过 sudo 运行 Solaris 的 ppriv 来修改当前进程的权限。这似乎是一个 hacky 但可行的往返。但据我所知,linux 不提供 ppriv。
(我很惊讶这已经不明显了;这似乎是一件很平常的事情,而且似乎不是一个安全漏洞,允许在进程中升级而不是升级新进程。)