能否使用类似 gksudo 的 sudo 前端来提升当前进程的权限?我知道可以执行以下操作:
sudo cat /etc/passwd-
但我对以下内容感兴趣:
sudo-become-root # magic function/command
cat /etc/passwd-
我正在使用Python编写程序。我的用例是,我有一个以用户身份运行的程序,但可能会遇到根所有的文件进行读/写。我想提示输入密码,获取root权限,执行所需操作,然后可以选择再次降低权限。
我知道我可以将管理员逻辑和非管理员逻辑分开成不同的进程,然后只需以root身份运行管理员进程(通过某些通信方式--policykit/dbus会很合适)。但我希望有一种更简单(尽管更冒险)的解决方案。
我考虑像运行Solaris的ppriv一样通过sudo来修改当前进程的特权。这似乎是一种hacky-but-workable的往返方法。但据我所知,Linux并没有提供ppriv。
(我很惊讶这还不明显;它似乎是一个常见的需求,并且似乎不会造成安全漏洞,允许在一个进程中升级而不是升级新进程。)