[File Manager] 这两天Deepin突然出现奇怪的问题,查不到资料
Tofloor
poster avatar
huaqi
deepin
19 hours ago
Author

在安装软件时,突然发现常用的“以管理员模式打开”选项不见了,导致复制到剪贴板的文件不能被粘贴在目标路径、不再需要的文件和文件夹也不能删除:

image.png

终端里面也不能执行sudo命令,反馈是:“sudo: /usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位”。

情况就是这么个情况,对我在deepin系统上的工作造成了严重的阻碍和干扰:

image.png

不知道哪位朋友遇到过这种问题和故障,又是怎么修复的。

烦请告知,不胜感激。

Reply Favorite View the author
All Replies
昨夜的星辰
deepin
17 hours ago
#1

问的AI,Ctrl+Alt+F3进和控制台模式,用root登录操作一下试试看

快速修复方案(需物理/远程控制台权限)

安全警告:以下操作必须通过root用户直接登录执行(如物理控制台、远程带外管理或单用户模式),因为此时 sudo已经无法使用

步骤1:修复文件所有权

Bash
复制
# 将sudo文件的所有者和组改为root chown root:root /usr/bin/sudo

步骤2:修复SUID权限位

Bash
复制
# 设置正确的权限:root可读可执行,其他用户可执行,并且设置SUID位 chmod 4755 /usr/bin/sudo

步骤3:验证修复结果

Bash
复制
# 检查权限是否正确,应显示类似:-rwsr-xr-x 1 root root ls -l /usr/bin/sudo # 测试sudo功能 sudo whoami # 应输出root
Reply View the author
deepin-superuser
deepin
7 hours ago
#2

是不是需要关磐石啊?

Reply View the author
huaqi
deepin
7 hours ago
#3
deepin-superuser

是不是需要关磐石啊?

磐石是关着的

Reply View the author
huaqi
deepin
7 hours ago
#4
昨夜的星辰

问的AI,Ctrl+Alt+F3进和控制台模式,用root登录操作一下试试看

快速修复方案(需物理/远程控制台权限)

安全警告:以下操作必须通过root用户直接登录执行(如物理控制台、远程带外管理或单用户模式),因为此时 sudo已经无法使用

步骤1:修复文件所有权

Bash
复制
# 将sudo文件的所有者和组改为root chown root:root /usr/bin/sudo

步骤2:修复SUID权限位

Bash
复制
# 设置正确的权限:root可读可执行,其他用户可执行,并且设置SUID位 chmod 4755 /usr/bin/sudo

步骤3:验证修复结果

Bash
复制
# 检查权限是否正确,应显示类似:-rwsr-xr-x 1 root root ls -l /usr/bin/sudo # 测试sudo功能 sudo whoami # 应输出root

可能不大行

Reply View the author
昨夜的星辰
deepin
7 hours ago
#5
huaqi

可能不大行

刚试了下,是不行,正常情况下root不能直接登录

找个U盘丢个LIVE的ISO进去,看看能不能改权属啥的吧

Reply View the author
我白说了
deepin
6 hours ago
#6

你当前状态已经是管理员权限打开了,所以右键不会再出现

Reply View the author
deepin流云
Super Moderator
Community OP
6 hours ago
#7

你装了啥软件?把sudo权限文件给破坏了😂 这是一个 sudo 权限配置错误,核心原因是:

  1. /usr/bin/sudo 文件不属于 root 用户(用户 ID 应为 0)
  2. 该文件没有设置 setuid 位(这是 sudo 能够临时提权的关键)

试下GLM5分析给出的修复方案吧——

修复方案

由于 sudo 已经无法使用,您需要通过其他方式获取 root 权限来修复。以下是几种可行的方法:

方法一:使用 pkexec 命令(推荐,最简单)

Deepin 默认安装了 pkexec(PolicyKit),可以直接使用:

pkexec chown root:root /usr/bin/sudo
pkexec chmod 4755 /usr/bin/sudo

执行后会弹出图形化密码输入框,输入您的用户密码即可。


方法二:如果 pkexec 也不可用,使用恢复模式

  1. 重启电脑,在启动时按住 Shift 键(或 Esc 键)进入 GRUB 菜单
  2. 选择 "Advanced options for Deepin"(高级选项)
  3. 选择 recovery mode(恢复模式)进入
  4. 选择 "root - Drop to root shell prompt" 进入 root 命令行
  5. 重新挂载根目录为读写模式
    mount -o remount,rw /
    
  6. 修复权限
    chown root:root /usr/bin/sudo
    chmod 4755 /usr/bin/sudo
    
  7. 重启系统
    reboot
    

方法三:使用 Live USB 修复

如果恢复模式也无法进入,可以使用 Deepin 安装 U 盘启动:

  1. 从 Live USB 启动系统
  2. 打开终端,找到原系统的根分区:
    lsblk
    
  3. 挂载原系统分区(假设是 /dev/sda2):
    sudo mount /dev/sda2 /mnt
    
  4. 修复权限:
    sudo chown root:root /mnt/usr/bin/sudo
    sudo chmod 4755 /mnt/usr/bin/sudo
    
  5. 重启并从硬盘启动

验证修复

修复后,执行以下命令验证:

ls -l /usr/bin/sudo

正确的结果应该显示:

-rwsr-xr-x 1 root root ... /usr/bin/sudo

关键点是:

  • 所有者为 root
  • 权限开头是 rwss 表示 setuid 位已设置)
Reply View the author
huaqi
deepin
2 hours ago
#8
我白说了

你当前状态已经是管理员权限打开了,所以右键不会再出现

没有 写入权限都没有

Reply View the author
huaqi
deepin
2 hours ago
#9
deepin流云

你装了啥软件?把sudo权限文件给破坏了😂 这是一个 sudo 权限配置错误,核心原因是:

  1. /usr/bin/sudo 文件不属于 root 用户(用户 ID 应为 0)
  2. 该文件没有设置 setuid 位(这是 sudo 能够临时提权的关键)

试下GLM5分析给出的修复方案吧——

修复方案

由于 sudo 已经无法使用,您需要通过其他方式获取 root 权限来修复。以下是几种可行的方法:

方法一:使用 pkexec 命令(推荐,最简单)

Deepin 默认安装了 pkexec(PolicyKit),可以直接使用:

pkexec chown root:root /usr/bin/sudo
pkexec chmod 4755 /usr/bin/sudo

执行后会弹出图形化密码输入框,输入您的用户密码即可。


方法二:如果 pkexec 也不可用,使用恢复模式

  1. 重启电脑,在启动时按住 Shift 键(或 Esc 键)进入 GRUB 菜单
  2. 选择 "Advanced options for Deepin"(高级选项)
  3. 选择 recovery mode(恢复模式)进入
  4. 选择 "root - Drop to root shell prompt" 进入 root 命令行
  5. 重新挂载根目录为读写模式
    mount -o remount,rw /
    
  6. 修复权限
    chown root:root /usr/bin/sudo
    chmod 4755 /usr/bin/sudo
    
  7. 重启系统
    reboot
    

方法三:使用 Live USB 修复

如果恢复模式也无法进入,可以使用 Deepin 安装 U 盘启动:

  1. 从 Live USB 启动系统
  2. 打开终端,找到原系统的根分区:
    lsblk
    
  3. 挂载原系统分区(假设是 /dev/sda2):
    sudo mount /dev/sda2 /mnt
    
  4. 修复权限:
    sudo chown root:root /mnt/usr/bin/sudo
    sudo chmod 4755 /mnt/usr/bin/sudo
    
  5. 重启并从硬盘启动

验证修复

修复后,执行以下命令验证:

ls -l /usr/bin/sudo

正确的结果应该显示:

-rwsr-xr-x 1 root root ... /usr/bin/sudo

关键点是:

  • 所有者为 root
  • 权限开头是 rwss 表示 setuid 位已设置)

在另一块盘里面装开鸿,开鸿装失败了,deepin就这样了

Reply View the author
deepin流云
Super Moderator
Community OP
an hour ago
#10
huaqi

在另一块盘里面装开鸿,开鸿装失败了,deepin就这样了

重新恢复sudo权限吧,前几天遇到一个一样问题的,sudo权限没了,一问也是装kaihong之后出现的😂 那个安装方式比较怪,建议还是用备用机体验

image.png

Reply View the author
neko
deepin
Ecological co-builder
Q&A Team
4 minutes ago
#11

apt download sudo下载sudo安装包。然后xdg-open . 打开当前文件夹双击sudo安装包覆盖安装原来的sudo恢复权限。前提是pkexec正常工作。

Reply View the author