Answers:
您可以通过用通配符代替操作来欺骗PolicyKit并禁止显示所有密码提示。
免责声明:以下内容将全局抑制所有属于admin组的用户的所有密码提示,登录屏幕除外。这是非常危险的,永远不要实施,因为您可能会破坏系统!
别说你没有被警告!
注意:如果您正在运行12.04或更高版本,请用“ sudo”替换“ admin”!
用您的实际用户名替换“用户名”:
usermod -aG admin username
切换到根目录:
sudo -i
创建一个新策略:
gedit /var/lib/polkit-1/localauthority/50-local.d/disable-passwords.pkla
添加以下内容:
[Do anything you want]
Identity=unix-group:admin
Action=*
ResultActive=yes
保存并退出。然后尝试通常需要密码的操作。:)
注意:用作.pkla文件名并不重要。您可以根据需要命名。
最后,这是抑制密码提示时唯一需要的策略,因为它再次在全局范围内执行。
[Install package file]
。您不同意此说明,并且NOTE需要进行类似的编辑,或者您的编辑无效并且应回滚。
Identity=unix-user:scott
仅允许用户“斯科特”执行操作。另外,如果只想允许某些操作,则可以grep /var/log/auth.log,当提示您输入密码时,polkitd将输出您尝试使用的polkit的全名。 cat /var/log/auth.log | grep polkitd
将为您提供一个非常快速的列表
您可以创建一个.pkla,基于操作组将其全部创建或全部创建都没有关系。
作为参考,请在/ usr / share / polkit-1 / actions中查看,在文本编辑器中打开感兴趣的对象以获取操作ID。
至于.pkla或2,我在这里找到放置它们的最佳位置,它将不受任何更新的保护
/var/lib/polkit-1/localauthority/50-local.d
因此,举例来说,这是我的主程序,名为package-manager.pkla,尽管它不仅扩展了软件包管理策略的范围,
[Install package file]
Identity=unix-group:admin
Action=org.debian.apt.install-file;org.debian.apt.update-cache;org.debian.apt.install-or-remove-packages;org.debian.apt.upgrade-packages
ResultActive=yes
[Install package synaptic]
Identity=unix-group:admin
Action=com.ubuntu.pkexec.synaptic
ResultActive=yes
[Change add repo]
Identity=unix-group:admin
Action=com.ubuntu.softwareproperties.applychanges;org.debian.apt.change-repository
ResultActive=yes
[usbcreator format]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.format
ResultActive=yes
[Install bootloader]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.bootloader
ResultActive=yes
[Add users]
Identity=unix-group:admin
Action=org.freedesktop.accounts.user-administration
ResultActive=yes
请注意,从12.04开始,用于“ admin”用户的组应更改为sudo,即。
Identity=unix-group:sudo
另外请注意,每个部分可以将动作串在一起,不能有空格,请使用;。在id之间
admin
组替换为时,这在Fedora上也适用wheel
。谢谢!