是否可以使用sudo前端(如gksudo)来提升当前进程的权限?我知道我可以做到以下几点:
sudo cat /etc/passwd-
Run Code Online (Sandbox Code Playgroud)
但我有兴趣这样做:
sudo-become-root # magic function/command
cat /etc/passwd-
Run Code Online (Sandbox Code Playgroud)
我正在用Python写作.我的用例是我有一个以用户身份运行的程序,但可能会遇到根目录所有的读/写文件.我想提示输入密码,获得root权限,执行我需要的操作,然后再选择删除权限.
我知道我可以将管理逻辑和非管理逻辑分离到单独的进程中,然后以root身份运行管理进程(通过一些通信 - policykit/dbus非常适合这里).但我希望有一个更简单(虽然承认风险更大)的解决方案.
我正在考虑通过sudo运行Solaris的ppriv然后修改当前进程的权限.这似乎是一个hacky-but-workingable往返.但据我所知,linux不提供ppriv.
(我很惊讶,这不是明摆着了;它似乎是想要一个不常见的事情,并不似乎是一个安全漏洞,允许在工艺升级上一个新的进程的升级.)