我正在构建一个Gnome shell扩展程序,希望能够以提升的权限执行某些操作。因此,我想使用“策略工具包”,但是不知道该如何实现。
例如,如果我想执行
但是从扩展程序内部该如何实现呢?我相信这与在 /usr/share/polkit-1/actions 中创建文件有关,但是我在互联网上和其他方面都找不到相关信息。
我希望能够设置这样一种方法,即无需输入密码,扩展程序就可以运行特定的命令。
我知道允许任意命令的运行是非常糟糕的主意,这也不是我的要求。我只想能够运行单个程序/命令。
编辑:我不确定是否无需输入密码是可能的。我只知道sudo在第一次之后会一段时间内不需要输入密码,所以我想要类似的功能。不确定是否可行。
例如,如果我想执行
ifconfig eth0 down
或 ifconfig eth0 up
等操作,可以在终端中运行pkexec ifconfig eth0 down
并提示输入密码,然后就能执行相应操作。但是从扩展程序内部该如何实现呢?我相信这与在 /usr/share/polkit-1/actions 中创建文件有关,但是我在互联网上和其他方面都找不到相关信息。
我希望能够设置这样一种方法,即无需输入密码,扩展程序就可以运行特定的命令。
我知道允许任意命令的运行是非常糟糕的主意,这也不是我的要求。我只想能够运行单个程序/命令。
编辑:我不确定是否无需输入密码是可能的。我只知道sudo在第一次之后会一段时间内不需要输入密码,所以我想要类似的功能。不确定是否可行。
pkexec
或以其他方式将特权代码的“不安全”部分隔离到单独的进程中... PS:通过sudo
等重新提示输入密码是系统范围的安全设置;默认情况下通常会在一段时间后重新提示。 - BRPocockpkexec
。我该如何在扩展程序中实现它? - Jay