大致的场景是这样的:
系统中只有一个用户,不知进行了什么样的修改,导致这个用户获得不了root权限(先前是正常的)(据说是将这个用户加入了root组造成的,具体原因不明)
当这个用户想要用到root权限来进行相关操作的时候(执行sudo)系统显示:
XXX is not in the sudoers file. This incident will be reported.
网上查找到相关的解决办法,是要修改/etc/sudoers文件,但是这个文件的修改是需要root权限的
想要获得root权限,用sudo是 不行的,另外用到
su - 也是不行的,提示的是:
Authority XXX(具体忘了)
应该是命令执行的权限问题,这个的解决方法应该是:
chmod u+rswx,go+rx /bin/su
但是这个也是需要root权限的,所以也是修改不了。
以上,系统因为权限问题进入一下的圈:
想要获得root权限------用root权限修改相应文件
| |
----------------------------
解决方法:用到的是ubuntu的recovery mode
前提是系统启动的时候要显示grub引导程序的界面,如果没有显示的话,需要手动将其显示
方法有两种:
1)修改相应的文件使其显示 (需要root权限,显然这里用不到),如果你的系统原来就显示就进入grub界面就好了。http://blog.csdn.net/aganlengzi/article/details/39250441 我在这里有详细介绍
2)开机按住shift键进入grub界面。
进入grub界面后:
选择 advanced XXX
进入后选中 recovery mode 然后按照这时grub界面下面的提示
键入"e"进入编辑模式,然后找到有一个文件系统加载的行
将“ro”改成“rw”
然后“Ctrl+X”启动,启动后进入recovery模式(虽然这时候显示的还是read only,但是已经是可写的了,只是显示和先前一样)
获取root权限后,修改相应的/etc/sudoers文件
如果没有权限进行写修改的话,首先执行chmod命令将其权限进行修改
改完之后别忘记将这个权限再改回来
找到里面 有一行是不被注释掉的
root *ALL*啥的
在其下方复制一行将root 改成当前的用户名就可以了
保存后退出
(如果上面是修改了/etc/sudoers权限才能够修改的话在这里要修改回来)
重新启动
应该是可以执行sudo命令了
但是su命令还是不能执行
但是有了root权限,什么都将不再是问题
变身root后: chmod u+rswx,go+rx /bin/su
也应该是可以了。
别人的问题,没有截图,全凭记忆,如有错误欢迎指正。