你是第三个出现这个的人,你是怎么出现的
你是怎么制造出这个问题的(((
这两个报错是 Linux 系统 sudo 命令的安全校验失败,99% 是因为你之前执行了递归修改系统目录权限的危险操作(比如 chmod -R 777 /etc或 /usr),破坏了 sudo 的核心安全规则:
sudo: /etc/sudo.conf is world writable:/etc/sudo.conf被设置为全局可写,sudo 为了防止恶意篡改,直接拒绝执行。sudo: /usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位:sudo 程序的所有者不是 root(UID 0),且丢失了 setuid 提权位,没有这个权限,sudo 完全无法实现普通用户提权到 root 的功能。
修复方案(按优先级从易到难)
方案一:用 pkexec 图形化提权修复(优先推荐,无需重启)
deepin 自带 polkit 的 pkexec图形化提权工具,只要你当前是管理员用户、知道登录密码,就能直接修复,不用重启。
-
打开终端,先修复 sudo 主程序的所有者和权限,依次执行 2 条命令:
pkexec chown root:root /usr/bin/sudo pkexec chmod 4755 /usr/bin/sudo每条命令执行后,都会弹出图形化密码框,输入你的登录密码确认即可。
-
再修复 sudo.conf 配置文件的权限:
pkexec chown root:root /etc/sudo.conf pkexec chmod 644 /etc/sudo.conf -
验证修复结果:执行
sudo whoami,如果输出root且无报错,说明修复完成。
补充:如果还有
sudoers is world writable的额外报错,再执行以下命令修复 sudoers 相关权限:pkexec chmod 440 /etc/sudoers pkexec chmod 755 /etc/sudoers.d pkexec chmod 440 /etc/sudoers.d/*
方案二:知道 root 密码,用 su 切换 root 修复
如果 pkexec 执行失败,但你知道 root 用户的密码,可直接切换到 root 用户修复:
-
终端执行
su -,输入 root 密码,切换到 root 用户(命令行前缀变为root@xxx)。 -
依次执行修复命令:
# 修复sudo主程序权限 chown root:root /usr/bin/sudo chmod 4755 /usr/bin/sudo # 修复sudo.conf配置文件 chown root:root /etc/sudo.conf chmod 644 /etc/sudo.conf # 可选:修复sudoers相关权限 chmod 440 /etc/sudoers chmod 755 /etc/sudoers.d chmod 440 /etc/sudoers.d/* -
执行
exit退出 root 用户,再用sudo whoami验证修复结果。
方案三:单用户模式终极修复(无需密码,以上方法都失效时用)
如果 pkexec 用不了、也不知道 root 密码,通过 GRUB 进入单用户模式直接获得 root 权限修复:
-
重启电脑,在 Deepin GRUB 引导菜单界面,选中日常使用的启动项,不要按回车,直接按
e键进入编辑模式。 -
找到以
linux开头的长行,做 2 处修改:- 把行内的
ro(只读)改成rw(读写) - 在这一行的最末尾,加上
init=/bin/bash
- 把行内的
-
按
Ctrl+X或F10启动,直接进入单用户 root 命令行。 -
先确保根目录可写,执行:
mount -o remount,rw / -
执行方案二里的全套修复命令,完成后执行以下命令重启:
exec /sbin/init若无法重启,直接按
Ctrl+Alt+Delete强制重启即可。 -
重启进入系统后,用
sudo whoami验证修复结果。
重要注意事项
- 绝对禁止再执行
chmod -R 777这类递归修改系统目录权限的命令,这会彻底破坏 Linux 的安全权限体系,轻则程序异常,重则无法开机。 - deepin25 默认开启不可变系统(磐石系统),核心目录
/usr默认只读。若修改系统文件提示只读,修复完成后需执行sudo deepin-immutable-writable enable临时关闭保护,修改后建议重新开启。 - 如果修复后还有其他权限异常,大概率是之前的递归改权限破坏了更多系统文件,建议优先备份个人数据,必要时重装系统,避免留下安全隐患。
Popular Events
More

中文 
用终端 出现这个是什么情况呢?
sudo: /etc/sudo.conf is world writable
sudo: /usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位