You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04中sudo权限异常问题求助

Ubuntu 22.04中sudo权限异常问题求助

同学别慌,刚接触Ubuntu就碰到这种权限问题确实头大,我来一步步帮你搞定~

你遇到的错误提示 sudo must be owned by uid 0 and have the setuid bit set,本质是sudo这个系统关键工具的权限配置出问题了:要么它的所有者不是root用户(uid 0),要么丢失了让它能以root身份执行的setuid权限位,这两个条件缺一个sudo都没法正常工作。

因为你现在已经用不了sudo,只能通过系统的recovery模式来修复,具体步骤如下:

  • 首先重启你的Ubuntu系统,在开机GRUB启动菜单时,选择 Advanced options for Ubuntu(如果没看到GRUB菜单,重启时按住Shift键,UEFI机型可能需要按Esc键调出)
  • 接着在子菜单里选择带 recovery mode 后缀的内核版本(一般选最新的那个就行)
  • 进入recovery模式的操作菜单后,找到并选择 root - Drop to root shell prompt,这时候你会进入一个root权限的命令行环境
  • 先把根目录重新挂载为可读写模式(recovery模式默认是只读的,没法修改文件),执行命令:
    mount -o remount,rw /
    
  • 接下来修复sudo文件的所有者和权限:
    • 先把sudo的所有者和组都改为root:
      chown root:root /usr/bin/sudo
      
    • 然后给sudo加上setuid权限位(这是让普通用户能通过它临时获取root权限的关键):
      chmod u+s /usr/bin/sudo
      
  • 可以验证一下修复结果,执行命令看权限是否正确:
    ls -l /usr/bin/sudo
    
    正常输出应该类似这样(日期可能不同):

    -rwsr-xr-x 1 root root 164024 Jul 15 2022 /usr/bin/sudo
    重点看开头的rws(说明setuid位已生效),以及所有者是root:root

  • 最后输入exit退出root shell,回到recovery菜单,选择 resume - Resume normal boot 重启系统
  • 重启后打开终端,输入sudo apt update测试一下,应该就能正常使用sudo权限了

给你这个新手提个醒:以后别随便修改/usr/bin目录下系统自带文件的权限,像sudo这种核心工具,权限改坏了就会出大问题~

备注:内容来源于stack exchange,提问作者Muhammad Alfiky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 11:53:04