Sco*_*nce 30 sudo password policykit
多年来,我的sudoers
文件中有以下内容:
scott ALL=NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
对于那些不知道的人,这可以防止sudo
朋友(gksudo
等)要求输入密码。然而,多年来,越来越多的曾经使用sudo
过的东西已经转向使用 PolicyKit。
我正在寻找 PolicyKit 的等效配置,这样它就永远不会询问我的密码。
对于那些不喜欢我的要求的人,让我这样说:我理解默认配置的原因,它们是合理的。我也了解我想要进行的配置中固有的风险。尽管如此,这是我想要设置我的系统的方式。那些不完全理解上述内容的人不应该尝试我正在尝试的东西。
小智 18
您可以通过将操作替换为通配符来欺骗 PolicyKit 并禁止所有密码提示。
免责声明:以下内容将在全局范围内禁止属于 admin 组的每个人的所有密码提示,登录屏幕除外。这是非常危险的,永远不应该实施,因为你很可能最终会破坏你的系统!!
不要说你没有被警告!
注意:如果您运行的是 12.04 或更高版本,请将“admin”替换为“sudo”!
将“用户名”替换为您的实际用户名:
usermod -aG admin username
Run Code Online (Sandbox Code Playgroud)
切换到root:
sudo -i
Run Code Online (Sandbox Code Playgroud)
创建新策略:
gedit /var/lib/polkit-1/localauthority/50-local.d/disable-passwords.pkla
Run Code Online (Sandbox Code Playgroud)
添加以下内容:
[Do anything you want]
Identity=unix-group:admin
Action=*
ResultActive=yes
Run Code Online (Sandbox Code Playgroud)
保存并退出。然后去尝试一些通常需要密码的东西。:)
注意:您使用什么作为 .pkla 文件名并不重要。你可以随意命名它。
最后,这是您在禁止密码提示时需要的唯一策略,因为同样,它是全局性的。
您可以创建一个 .pkla,无论是多合一或基于操作组的一对,都没有关系。
要参考 /usr/share/polkit-1/actions,请在文本编辑器中打开感兴趣的文件以获取操作 ID。
至于 .pkla 或 2,我发现放置它们的最佳位置在这里,它将受到任何更新的保护
/var/lib/polkit-1/localauthority/50-local.d
Run Code Online (Sandbox Code Playgroud)
因此,例如这里是我的主要内容,名为 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
Run Code Online (Sandbox Code Playgroud)
请注意,从12.04开始,用于“admin”用户的组应更改为 sudo,即。
Identity=unix-group:sudo
Run Code Online (Sandbox Code Playgroud)
另请注意,每个部分可以将动作串在一起,没有空格,请使用 ; 在id之间