刚开始运行sudo时,报了下面这个错误
sudo: must be setuid root,于是上网找解决方法,搜索出来的都是这样解决的
ls -l /usr/bin/sudo
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
reboot
我测试后的结论是,这个方法是可行的,但没有说清楚,需要有root的执行权限,如果不能以root身份登陆,
则需要进入到recovery模式,进入方法为:在开机的过程中按shift或ESC键,我ubuntu12.04系统是shift键。
然后在grub菜单中选择第二个启动项,进入到下一个选择列表界面后,再选中有root字样的一项,按回车,
此时,已经进入到具有root权限的字符界面。输入上述命令,如果问题已解决,那大功告成,可以跳过下面内容
我又遇到一个新问题,在此字条界面输入上面的
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo时,执行失败,
提示read-only file system,然后又上网找,找了N久,测了很多方法,最后找到一个重新挂载/目录以及指定其读写权限的命令。命令如下:
mount -o remount,rw /
网址:http://www.linuxquestions.org/questions/Linux-general-1/cannot-edit-fstab-in-recovery-mode-filesystem-is-read-only-540195/
然后再输入上述命令
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
可以了,执行成功。输入ls -l /usr/bin/sudo验证修改是否成功,结果显示已经修改了。
以为问题解决了,高兴的输入reboot命令重启。
悲吹的一幕出现了,输入sudo还是有问题,
提示“sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner”,又得开始google了,
找到一个方法是说输入命令:(当然要进入recovery模式)
pkexec chmod Go-w /usr/lib/sudo/sudoers.so
网址如下:http://blog.csdn.NET/huangmou37/article/details/8259724
但我输入该命令时,执行失败,忘了提示什么错误信息了。
该问题的原因为自己错误的修改了/usr目录下的所有权限,那上述命令是不是更改回来的权限不够呢
于是想到了修改 /usr/lib/sudo/sudoers.so文件的权限,输入命令
chmod 4755 /usr/lib/sudo/sudoers.so
然后reboot,输入sudo命令可以了。。。。。。。