学向勤中得,萤窗万卷书。这篇文章主要讲述Ubuntu sudo:must be setuid root,失手改了usr目录的权限,在机房的血泪恢复全记录相关的知识,希望能为你提供帮助。
前言:失手给了用户账号 /usr 目录的权限,结果 sudo 的时候报 sudo:must be setuid root....,里面东西都部署好了,不想重装系统啊。遂,跑到机房一番挣扎,成功恢复。在恢复的过程中,发现很多的教程都只说了一部分,照着执行有很多坑。所以,试图用这篇讲解全部过程,并指出需要注意的地方。
一、进入Ubuntu Recovery模式
【Ubuntu sudo:must be setuid root,失手改了usr目录的权限,在机房的血泪恢复全记录】
文章图片
其实就是在进入系统前,这个页面上选择 后面有 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#赋权限
chmod755 /usr/lib/sudo/sesh
chmod644 /usr/lib/sudo/sudoers.so
chmod644 /usr/lib/sudo/sudo_noexec.so
reboot#重启
四、问题排查方法
如果还不行,无非两个问题: 所有者不是root,没有setuid项(执行权限s)
ls -l /usr/bin/sudo
正常结果如下:
文章图片
注意几点:
- 所有者 root root
- 有 s 权限见-rwsr
推荐阅读
- Ubuntu/LinuxMint系统安装QQ和迅雷等常用软件
- 如何使用find和locate 命令在Linux 中查找文件和目录()
- java.lang.OutOfMemoryError: GC overhead limit exceeded
- #yyds干货盘点# docker vs docker-compose 解密
- 在WordPress上提交评论后,自定义”成功”消息
- 用户角色页面的自定义重定向
- 供全球使用的自定义页面模板,不要显示在wordpress模板下拉菜单中
- 自定义帖子类型注册功能隐藏页面
- 使用Polylang的自定义帖子类型多语言