作者:石明瑾于 2017年07月17日 发布在分类 / 开发技术 / Linux 下,并于 2017年07月17日 编辑
    修改了Ubuntu下的/usr目录权限,导致不能使用sudo命令的修复

       1682

       0


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

    创建人 石明瑾
    文档编辑权限 创建者私有
    文档阅读权限 来自分类
    分类阅读权限 所有人
    分类编辑权限 所有人
    分类审核权限
    标签

    输入 命令 权限 进入 方法 问题 sudoers 一个 解决 修改
    历史版本

    修改日期 修改人 备注
    2017-07-17 17:41:24[当前版本] 石明瑾 类别放错
    2017-07-17 17:39:27 石明瑾 CREAT
    同类知识
    相关知识

    睿恒知识库-V3.2.0