【ARM-Linux开发】Ubuntu下的/usr目录权限,导致不能使用sudo命令的修复

刚开始运行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命令可以了。。。。。。。

上一篇:App自动化测试框架学习探索--从零开始设计


下一篇:(原创)Python 自动化测试框架详解