一、问题原因
普通用户想要执行 sudo,目的是为了对超级用户权限进行提权(暂时借用超级用户的力量执行某些操作)
但普通用户不能任意的使用 sudo,必须经过超级用户 root 的许可:即把你加入许可名单(the sudoers file)
二、解决办法
1、进入超级用户 root 的账户
2、使用命令进入配置 sudoers 文件
vim /etc/sudoers
(温馨提示:若无法使用 vim,请先安装)
可以考虑切换到超级用户,使用该命令:apt install vim,安装vim
或者切换到一个可以使用 sudo 的普通用户下,使用命令:sudo apt install vim
3、在 vim 打开的 sudoers 文件中,找到下图这一栏,这里就是所谓的许可名单了(root就是我的超级用户名)
4、将光标停在 root 这一行(光标就是绿色这个,光标可以通过键盘的上下左右键移动)
5、执行复制粘贴命令
键盘按下:yy再按下:p可以发现复制粘贴了一行:root ALL=(ALL:ALL) ALL6、键盘按下:i (进入 插入模式)
7、调整光标位置,将第二行的 root 改成你想要添加进入的普通用户名(就是刚刚复制下来的那行),代表将普通用户添加进入 许可名单
如:我要添加普通用户 mine
8、再按键盘左上角的 Esc 键退出插入模式
9、最后依次输入:
# 先按一个冒号 ":" 命令:Shift + ; # 输入: 命令:wq!
即可退出保存 sudoers 文件
这样就设置好了许可名单,你添加进入许可名单的 普通用户就可以使用 sudo 命令了
三、一些常见疑问与问题
1、为什么超级用户还要使用命令 wq! 强制退出 vim 打开的 sudoers 文件?
使用 ls -ld 命令查看 sudoers 文件的文件属性,可以发现,该文件的拥有者即为超级用户 root,但是 root 对该文件也只有 r 读权限,并没有写权限
当我们在 sudoers 文件中添加一个普通用户时,即为修改该文件,但没有写权限,当然不被系统允许
因此,需要使用命令 wq!,修改后强制保存退出
2、为什么 vim 打开 sudoers 文件,里面一片空白?
原因:你肯定是使用 普通用户打开的 sudoers 文件
解决办法:切换到超级用户 root ,才能真正打开 sudoers 文件