linux下普通用户sudo不需要输入密码的方式

普通用户在执行安装命令、编辑时总会提示权限不足,便想将自己的用户加入管理员组,与root同一级别,就可以不用每次都sudo输入密码了

vim /etc/passwd

网上有很多提示更改这个文件的内容,将自己的用户名的uid和gid更改为与root相同,经过操作发现当更改为user:0:0时再次重启主机,会默认按照root用户的登陆。这时虽然有了高权限也不需要sudo了,但是并不是我们的当前用户,桌面也换掉了。看来只更改这个文件是不可行的,这里注意每次保存文件要使用:wq!,因为这些文件都是read only的。

vim /etc/sudoers

当修改掉原有用户的uid、gid时,再次sudo 被提示在sudoer中不存在,也无法识别自己的uid,unknow uid xxxx,who are you?搜索资料发现要将自己的用户添加到sudoers中。
但这个操作一定要在root用户下进行,如果在自己的用户下执行,当你重启进入系统sudo时会提醒你sudoer 属于了uid xxxx,should be 0。这时,需要我们重新使用root用户切换sudoer的所有权,但是这时已经无法用su+passwd的方式更换用户,我们可以直接更改/etc/passwd的内容将自己的用户uid、gid全部更改为0,然后reboot,变成root用户后,chown root:root /etc/sudoers命令让sudoers属于root组,再在sudoers中找到
root ALL=(ALL:ALL) ALL
在其下方添加
user ALL=(ALL:ALL) NOPASSWD: ALL
然后重新更改/etc/passwd的内容,改为用户之前的uid与gid,重新执行命令reboot,进入系统后发现可以使用sudo执行命令,并且也不再需要密码。
上面是我咋修改linux用户权限时遇到的一些坑,记录下来,帮助以后的学习与环境搭建。

你可能感兴趣的