解决Linux系统下,出现“不在sudoers文件中,此事将被报告”的问题

使用sudo mkdir software,提示XXX 不在 sudoers 文件中。此事将被报告。是因为当前操作用户的权限不足,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开。普通用户执行到系统程序时,需要临时提升权限,sudo就是我们常用的命令,仅需要输入当前用户密码,便可以完成权限的临时提升。

1.切换到root用户权限,输入命令:"su root",回车后输入密码再回车

解决Linux系统下,出现“不在sudoers文件中,此事将被报告”的问题

2.查看/etc/sudoers文件权限,如果只读权限,修改为可写权限

输入查看文件命令:"ls –l /etc/sudoers"

解决Linux系统下,出现“不在sudoers文件中,此事将被报告”的问题

输入修改权限命令:"chmod u+w /etc/sudoers"

解决Linux系统下,出现“不在sudoers文件中,此事将被报告”的问题

3.执行vim命令,编辑/etc/sudoers文件,添加要提升权限的用户;在文件中找到root  ALL=(ALL) ALL,在该行下添加提升权限的用户信息,如:

输入编辑文件命令:"vim /etc/sudoers"

查找到Allow root to run any commands anywhere这一行下面,在root命令下增加一行命令,先输入命令:"i",下方会出现“插入”的字样,此时可输入你要加入的信息,比如"l_lan  ALL=(ALL) ALL",其中l_lan是我的系统用户名。

解决Linux系统下,出现“不在sudoers文件中,此事将被报告”的问题

4.保存退出,并恢复/etc/sudoers的访问权限为440

先按Esc按键退出编辑模式,再输入强制保存命令:":wq!"(注意:一定要先输入:,否则无法输入这个命令)

解决Linux系统下,出现“不在sudoers文件中,此事将被报告”的问题

返回到命令页面,输入回复权限的命令:"chmod 440 /etc/sudoers"

解决Linux系统下,出现“不在sudoers文件中,此事将被报告”的问题

5.切换到普通用户,测试用户权限提升功能

输入切换用户命令:"su l_lan"

解决Linux系统下,出现“不在sudoers文件中,此事将被报告”的问题