如何阻止PolicyKit要求输入密码?

多年来,我在sudoers文件中有以下内容:

 scott ALL=NOPASSWD: ALL 

对于那些不知道的人,这可以防止sudo和朋友( gksudo等)要求输入密码。 然而,多年来,曾经使用过sudo越来越多的东西已经转向使用PolicyKit。

我正在寻找PolicyKit的等效配置,这样它就永远不会问我密码了。

对于那些不喜欢我的请求的人,让我这样说:我理解默认配置的原因,并且它们是合理的。 我也理解我想要进行的配置中固有的风险。 然而,这是我想要设置我的系统的方式。 那些不完全理解上述内容的人不应该尝试我正在尝试的东西。

这实际上并非完全正确。 您可以通过使用通配符替换该操作来欺骗PolicyKit并禁止所有密码提示。

免责声明:以下内容将全局禁止属于admin组的所有人的所有密码提示,但登录屏幕除外。 这是非常危险的,永远不应该实施,因为机会是你将最终打破你的系统!

不要说你没有被警告!

注意:如果您运行的是12.04或更高版本,请将“admin”替换为“sudo”!

将“username”替换为您的实际用户名:

 usermod -aG admin username 

切换到root:

 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文件名无关紧要。 你可以任意命名。 但是,您使用合法的政策是否重要。 这就是我选择“安装包文件”的原因。 只要它在Ubuntu识别的策略列表中,您就不一定要按照我所做的去做。

最后,这是在压缩密码提示时所需要的唯一策略,因为它同样是全局的。

您可以创建.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之间

如果您知道自己在做什么,一种选择就是完全禁用策略工具包。

sudo apt-get remove libpolkit-agent-1-0