各种桌面都有各种工具,旨在以 root 身份运行图形应用程序。gksudo
,kdesudo
,empower
,等...
但是如果我正在编写一个可以在任何 Linux 桌面上使用的脚本呢?有没有xdg-sudo
某种..?在桌面环境中获得 sudo 访问权限的标准?
Mes*_*ion 17
按照@Tachyons 的建议,我研究了很多pkexec
,这太棒了!
所以是的,它满足所有要求,我想这是“通用 gksudo”最接近的东西。
也就是说,pkexec
是 PolicyKit 的命令行前端。有2种基本操作模式:
只需像使用 一样运行它,就会sudo
得到一个很好的 GUI 提示:
$ pkexec rm -rf /
/usr/share/polkit-1/rules.d
.等。您可以以惊人的粒度微调您的设置。更通用的方法是编写“帮助程序”。这样的程序会提示用户输入密码;如果您确定安装了 Zenity,则可以使用它,否则您需要用 Python 或其他可以与 GUI 交互的程序编写帮助程序。
阅读sudo
的手册-A
(“askpass”)和-S
(标准输入)选项。
请记住,当您sudo
从脚本运行时,您需要-H
(home) 选项来模拟gksudo
.
这种方法效果很好,但您需要彻底测试帮助程序以确保它没有错误。
归档时间: |
|
查看次数: |
5223 次 |
最近记录: |