is not in the sudoers file. This incident will be reported

廉价感情. 提交于 2019-12-23 10:50:29

What

我用的是CentOS6.3,在一般用户下执行sudo命令提示  “(我的用户名) is not in the sudoers file. This incident will be reported.”

 

How

解决方法:

一、$whereis sudoers  找出文件所在的位置,默认都是/etc/sudoers        

二、#chmod u+w /etc/sudoers 以超级用户登录su ,修改文件权限即添加文件拥有这的写权限,ls -al /etc/sudoers 可以查看原文件的权限。    三、vi /etc/sudoers   编辑文件,在root ALL=(ALL)ALL行下添加XXX ALL=(ALL)ALL,XXX为你的用户名。添加方法:找到root行,按下”i“键进入编辑模式添加即可!编辑好后esc键进入一般模式,“:wq"保存退出! 最后, #chmod u-w /etc/sudoers 回到文件的原权限!

 

Why

详细:

在ubuntu中由于禁用了root用户,默认情况下会把安装系统时建立的用户添加到sudoers中。但在redhat系中并没有把任何root用户之外的用户默认的添加到sudoers之中。这样我们在执行sudo 命令时就会出现xxx is not in the sudoers file. This incident will be reported.这样的错误输出。现在为了安全起见比较提倡使用普通用户做日常操作,而在需要超级用户的时候使用sudo 来做,这样,我们就有必要把一些用户添加到sudoers之中。 其实把用户添加到sudoers之中很简单。 首先利用whereis 命令查找sudoers配置文件的目录(默认会在/etc/sudoers)

[root@localhost O0O]# whereis sudoers

sudoers: /etc/sudoers

然后需要切换到root用户,更改/etc/sudoers的权限

[root@localhost O0O]# chmod u+w /etc/sudoers

然后就可以利用vi编辑器来把用户添加到sudoers之中

[root@localhost O0O]# vi /etc/sudoers

然后找到root    ALL=(ALL)       ALL所在的位置,把所要添加的用户添加到文件之中,

顺便提一下vi编辑器的用法。刚进入vi编辑器的时候牌命令行模式,这时可以通过方向键来移动光标,找到要编辑的位置之后按下“i”,然后就进入了插入模式,这时候你可以输入或删除字符。编辑完成之后按“esc”键退出插入模式,进入命令行模式,这时候按“:”可以进入末行模式,输入“wq”保存并退出。输入“q!”取消修改强制退出。

下面是添加完的结果。

## Allow root to run any commands anywhere

root    ALL=(ALL)       ALL

O0O  ALL=(ALL)       ALL              (这一行是添加的内容,O0O是我的用户名)

然后需要把sudoers 的写权限去掉 (否则系统不允许执行suoders文件sudo: /etc/sudoers is mode xxx, should be 0440 sudo: no valid sudoers sources found, quitting):

[root@localhost O0O]# chmod u-w /etc/sudoers

至此,在退出root用户之后就可以利用sudo命令来执行超级用户的权限了。

 

如果不幸发生错误(sudo: /etc/sudoers is mode xxx, should be 0440 sudo: no valid sudoers sources found, quitting)

解决方案:

重启系统

1,启动后按e键:  root (hd0,2)  kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet  initrd /initrd-2.6.9-1.667.img

2,选择“kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet”命令行

3,按e键:   

grub edit>kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet   

修改成:   

grub edit>kernel /vmlinuz-2.6.9-1.667 1 ro root=/dev/VolGroup00/LogVol00 rhgb quiet

按ENTER键完成修改。就是加个“1”。

4,按b键booting进入Linux单用户模式    输入# chmod u-w /etc/sudoers(或chmod 0440 /etc/sudoers) 顺便提一下。如果root密码忘记。则在单用户模式下  输入# passwd root 输入root密码两次,reboot(shutdown -r now)即可。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!