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权限,然后重启系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

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的密码。所以要进入单用户模式或者紧急救援模式,执行命令。

oracle@localhost database]$ ./runInstaller -jreloc /etc/alternatives/jre 正在启动 Oracle Universal Installer... 检查临时空间: 必须大于 120 MB。 实际为 1439 MB 通过 检查交换空间: 必须大于 150 MB。 实际为 4017 MB 通过 检查监视器: 监视器配置至少必须显示 256 种颜色。 实际为 16777216 通过 准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2025-03-20_01-54-14PM. 请稍候...UnZip 5.52 of 28 February 2005, by Info-ZIP. Maintained by C. Spieler. Send bug reports using http://www.info-zip.org/zip-bug.html; see README for details. Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir] Default action is to extract files in list, except those in xlist, to exdir; file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage). -p extract files to pipe, no messages -l list files (short format) -f freshen existing files, create none -t test compressed archive data -u update files, create if necessary -z display archive comment -x exclude files that follow (in xlist) -d extract files into exdir modifiers: -q quiet mode (-qq => quieter) -n never overwrite existing files -a auto-convert any text files -o overwrite files WITHOUT prompting -aa treat ALL files as text -j junk paths (do not make directories) -v be verbose/print version info -C match filenames case-insensitively -L make (some) names lowercase -X restore UID/GID info -V retain VMS version numbers -K keep setuid/setgid/tacky permissions -M pipe through "more" pager Examples (see unzip.txt for more info): unzip data1 -x joe => extract all files except joe from zipfile data1.zip unzip -p foo | more => send contents of foo.zip via pipe into program more unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer 什么意思,为什么不行
03-21
<think>好的,我现在需要帮用户解决在Linux系统中遇到的“chkconfig命令未找到”的问题。首先,我得回忆一下chkconfig的作用和常见的使用场景。根据用户提供的引用内容,chkconfig主要用于管理服务的启动项,特别是在不同的运行级别下配置服务是否自动启动。例如,在CentOS 6及之前的版本中,chkconfig是常用的工具,但到了CentOS 7,系统开始转向使用systemd,所以可能默认不再安装chkconfig。 用户提到在CentOS 7下输入chkconfig时出现“未找到命令”的错误,同时还有提示说重定向到/sbin/chkconfig,但可能该路径下也没有这个命令。这可能是因为CentOS 7默认使用systemd的systemctl命令来管理服务,而chkconfig可能没有被安装。不过,有些旧脚本或服务可能仍然依赖chkconfig,所以用户可能需要安装它。 接下来,我需要考虑如何安装chkconfig。根据常见的Linux包管理方法,CentOS使用yum或dnf,而Debian/Ubuntu使用apt。用户的问题可能出现在CentOS 7,所以应该建议使用yum来安装。根据引用[3]中的情况,用户可能尝试过使用chkconfig,但系统提示未找到,因此需要安装chkconfig包。查询可知,在CentOS中,chkconfig的包名可能是chkconfig,所以安装命令应该是sudo yum install chkconfig。 另外,用户可能需要了解新旧系统的差异,比如systemctl和chkconfig的区别。例如,在CentOS 7中,虽然可以使用chkconfig,但更推荐使用systemctl来管理服务。但为了兼容性,安装chkconfig后,用户仍然可以运行旧脚本。需要提醒用户注意这一点,避免混淆。 还需要检查安装后的路径是否正确,比如安装后chkconfig是否于/usr/sbin或/sbin目录,而这些目录是否在用户的PATH环境变量中。如果不在,可能需要添加路径或者使用绝对路径执行命令。 此外,用户可能遇到的问题还包括如何将服务添加到chkconfig管理中,比如需要服务脚本支持,在脚本开头添加特定的注释行(如# chkconfig: 2345 90 10),然后使用chkconfig --add来注册服务。这部分内容在引用[5]中提到过,所以需要向用户说明这些步骤。 最后,应该总结解决方案,分步骤列出安装方法、路径检查、兼容性说明和替代方案,帮助用户全面解决问题。同时,生成相关问题,帮助用户进一步理解系统服务管理的其他方面。</think>### 如何解决Linux中chkconfig命令未找到的问题? #### 1. **确认系统版本和包管理工具** - **CentOS/RHEL 7+**:默认使用`systemd`管理服务,`chkconfig`可能未预装。但可通过以下命令安装: ```bash sudo yum install chkconfig # 安装chkconfig工具[^3][^5] ``` - **Debian/Ubuntu**:`chkconfig`由`sysv-rc-conf`替代,安装命令: ```bash sudo apt-get install sysv-rc-conf ``` #### 2. **检查命令路径** 安装后,确认`chkconfig`是否在系统路径中(如`/sbin`或`/usr/sbin`)。若路径未包含,需手动添加: ```bash export PATH=$PATH:/sbin:/usr/sbin # 临时生效 ``` 或永久修改`~/.bashrc`文件。 #### 3. **兼容性说明** - **CentOS 7+**中,建议优先使用`systemctl`管理服务(如启动、停止): ```bash systemctl enable <service_name> # 替代chkconfig <service_name> on[^2] ``` - 若旧脚本依赖`chkconfig`,安装后仍可运行,但需注意与新系统的交互逻辑[^4]。 #### 4. **配置服务示例** 若需将自定义服务(如`redis`)添加到`chkconfig`管理: ```bash # 在服务脚本头部添加格式声明(例如:运行级别2345,启动优先级90,停止优先级10) # chkconfig: 2345 90 10 sudo chkconfig --add redis # 注册服务[^5] ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

太极淘

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

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

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

打赏作者

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

抵扣说明:

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

余额充值