linux非root用户摆脱输入密码
当使用ubuntu、fedora、manjaro等带桌面环境的linux发型版时,相信你一定为密码输入所烦恼。敲sudo命令要输入密码,按照软件要输入密码,挂载磁盘要输入密码。如果直接以root用户登录风险太大,很容易就把系统玩蹦了。这里介绍如果用普通用户,不输入密码搞定一切。
1. 关闭sudo密码输入
在控制台输入(最后一次sudo需要密码)
sudo visudo /etc/sudoers
找到你的用户在群组的sudoer配置:
%wheel ALL=(ALL) : ALL
加上NOPASSWD:
%wheel ALL=(ALL) NOPASSWD: ALL
也有可能是使用的用户名配置:
username ALL=(ALL) : ALL
加上NOPASSWD:
username ALL=(ALL) NOPASSWD: ALL
如果你之前能使用sudo命令,则/etc/sudoers文件中一定有一条当前用户对应的配置,在上面加上NOPASSWD即可。
2. 在Polkit的权限控制中放行一切操作
即使完成了sudo不用输入密码的配置,在安装软件、挂载磁盘时图像界面仍会弹出让你输入密码。这是因为系统使用了Polkit的权限控制能力。只需要对Polkit进行配置,就可以完全摆脱密码输入了。
在目录/etc/polkit-1/rules.d/下创建49-nopasswd_global.rules文件,内容如下:
/* Allow members of the wheel group to execute any actions
* without password authentication, similar to "sudo NOPASSWD:"
*/
polkit.addRule(function(action, subject) {
if (subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
});
这里的wheel是你的用户所在的群组。
参考
https://wiki.archlinux.org/title/Polkit#Bypass_password_prompt
评论区