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模式

Ubuntu

其实就是在进入系统前,这个页面上选择 后面有 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

正常结果如下:

Ubuntu

注意几点:

  1. 所有者 root root
  2. 有 s 权限  见  -rwsr


以上是关于Ubuntu sudo:must be setuid root,失手改了usr目录的权限,在机房的血泪恢复全记录的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu18.04 用dkms安装wifi驱动rtl8723be

Ubuntu下RTL8723BE网卡不稳定,有谁遇到过没

ubuntu16.04 无线网卡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