Kylin-Desktop 提示sudo: /usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位

当遇到Linux Kylin提示'sudo: /usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置setuid位'的问题,原因是/usr/bin的权限被修改。解决方法包括进入单用户模式或紧急救援模式,通过执行'chown root:root /usr/bin/sudo'和'chmod 4755 /usr/bin/sudo'命令来恢复sudo权限,然后重启系统。

问题:

sudo: /usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位

解决方案:

经过原因排查是/usr/bin的权限修改了,使用了命令:

sudo chmod -R 777  /usr/bin/导致。

需要将/usr/bin/sudo的权限还原,使用以下命令:

chown root:root /usr/bin/sudo

chmod 4755 /usr/bin/sudo

但kylin的版本是没有初始root密码,在sudo异常的情况下,也不能用命令sudo passwd root修改root的密码。所以要进入单用户模式或者紧急救援模式,执行命令。

<think>嗯,用户的问题是关于在Kylin操作系统中执行update-command-not-found时出现命令未找到的问题,想要安装或修复这个命令。首先,我需要回忆一下update-command-not-found的作用。这个命令通常是用于更新系统命令数据库的,当用户输入未识别的命令时,系统会提示可能的安装包。在基于Debian的系统里,这个功能由command-not-found包提供,但在Kylin这样的国产系统里,可能有所不同。 首先,我应该考虑用户使用Kylin系统是基于Ubuntu还是CentOS的。因为Kylin有不同的版本,比如优麒麟是基于Ubuntu的,而银河麒麟可能有不同的基础。用户提到的引用[3]中提到了update-grub的报错,里面提到了/etc/default/grub和麒麟的路径,这可能表明用户使用的是基于Ubuntu的Kylin系统,因为Ubuntu使用apt作为包管理器。 接下来,用户遇到的问题是执行update-command-not-found命令时提示未找到。可能的原因是该软件包没有安装,或者被移除了。所以第一步应该是尝试安装相关的包。在Ubuntu系统中,对应的包通常是command-not-found,但有时候可能名字不同,或者需要安装其他依赖。 根据引用[2]中的情况,当出现add-apt-repository命令未找到时,需要安装python-software-properties,这可能意味着在Kylin中类似的问题也需要安装特定包。但这里的问题是关于command-not-found,可能需要安装对应的包。 所以,我应该建议用户首先尝试安装command-not-found包,使用apt命令。如果安装后问题依旧,可能需要检查包是否存在,或者是否有其他的包名。另外,更新系统源也是必要的,可能系统源配置有问题导致找不到包。用户可能需要运行sudo apt update来更新软件源列表。 如果安装包后仍然无效,可能需要手动创建符号链接或者检查环境变量,确保命令所在的路径在PATH中。或者,某些情况下,系统可能使用了不同的机制来实现命令建议功能,可能需要查阅Kylin的文档或者社区支持。 另外,用户提到的引用[3]中的错误是关于update-grub的脚本问题,可能与当前问题无关,但需要注意用户的环境是否有其他配置问题影响命令的执行。如果用户尝试了所有步骤仍然无效,建议联系麒麟的技术支持,因为可能存在系统定制带来的差异。 总结解决方案步骤应该是:更新软件源,安装command-not-found包,配置环境,重启终端,最后验证是否解决。如果问题依旧,可能需要进一步检查或联系支持。</think>### 解决 Kylin OS 中 `update-command-not-found` 未找到问题 #### 1. 确认命令来源 `update-command-not-found` 通常属于 `command-not-found` 工具包,用于在终端输入未知命令时提示安装建议[^2]。在基于 Debian/Ubuntu 的系统中,此包默认安装,但 Kylin(基于 Ubuntu 或 CentOS 的变体)可能因定制化调整导致缺失。 #### 2. 安装或修复命令 **步骤 1:更新软件源** ```bash sudo apt update ``` **步骤 2:安装 `command-not-found` 包** ```bash sudo apt install command-not-found ``` **步骤 3:手动更新命令数据库** 安装完成后,执行以下命令初始化数据库: ```bash sudo update-command-not-found ``` **步骤 4:验证环境变量** 确保 `/usr/sbin` 或 `/sbin` 在 `PATH` 中: ```bash echo $PATH # 若缺失路径,临时添加: export PATH=$PATH:/usr/sbin ``` #### 3. 若仍无法解决 - **检查包是否存在**:尝试搜索包名: ```bash apt search command-not-found ``` - **重装相关包**: ```bash sudo apt --reinstall install command-not-found ``` - **联系技术支持**:麒麟系统可能对工具链有定制化修改,需参考官方文档或提交工单[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太极淘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值