Ubuntu sudo:must be setuid root,失手改了usr目录的权限,在机房的血泪恢复全记录
Posted 番东
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu sudo:must be setuid root,失手改了usr目录的权限,在机房的血泪恢复全记录相关的知识,希望对你有一定的参考价值。
前言:失手给了用户账号 /usr 目录的权限,结果 sudo 的时候报 sudo:must be setuid root....,里面东西都部署好了,不想重装系统啊。遂,跑到机房一番挣扎,成功恢复。在恢复的过程中,发现很多的教程都只说了一部分,照着执行有很多坑。所以,试图用这篇讲解全部过程,并指出需要注意的地方。
一、进入Ubuntu Recovery模式
其实就是在进入系统前,这个页面上选择 后面有 recovery mode项,进入恢复模式。
网上其他都说要按 Esc或者Shift,目的在于让开机过程停在这个页面,不然这个页面会一闪而过。
我实际操作 在bios之后,一直按住 Esc键。
进入后,会有图形页面,选择 root那一行即可。
之后还要敲一下 Enter键。
二、文件系统重新挂载为 RW ,默认只读,无法操作
mount -o remount rw /
执行下即可
三、恢复
chown root:root /usr/bin/sudo #所有者变为 root
chown -R root /usr
chmod 4755 usr/bin/sudo #赋权限
chmod 755 /usr/lib/sudo/sesh
chmod 644 /usr/lib/sudo/sudoers.so
chmod 644 /usr/lib/sudo/sudo_noexec.so
reboot #重启
四、问题排查方法
如果还不行,无非两个问题: 所有者不是root,没有setuid项(执行权限s)
ls -l /usr/bin/sudo
正常结果如下:
注意几点:
- 所有者 root root
- 有 s 权限 见 -rwsr
以上是关于Ubuntu sudo:must be setuid root,失手改了usr目录的权限,在机房的血泪恢复全记录的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu18.04 用dkms安装wifi驱动rtl8723be
解决无线网卡 RTL8723BE ubuntu环境下不稳定情况
Depends: libcurl4 (= 7.58.0-2ubuntu3) but 7.58.0-2ubuntu3.13 is to be installed
Depends: libcurl4 (= 7.58.0-2ubuntu3) but 7.58.0-2ubuntu3.13 is to be installed