修改了etc下面sudoers权限造成SUDO命令不能用解决方法

先进入recovery模式(vmware启动时长按shift)选root 然后

先输入

mount -o remount,rw /

chmod 666 /etc/sudoers.d

 
chown -R root:root /etc/sudoers.d
chmod u=rwx,g=rx,o=rx /etc/sudoers.d/
chmod u=r,g=r,o= /etc/sudoers.d/*

将sudoers.d文件夹的权限设置成root用户和root组,
root组只有执行的权限,只有root用户有写入的权限。

重启,解决


### 修复麒麟操作系统中 `sudo` 权限问题 在麒麟操作系统中,如果 `/etc/sudoers` 文件的权限被错误地更改为可写状态(如 `777`),这将导致 `sudo` 命令无法正常使用。以下是具体的解决方案: #### 方法一:使用 `pkexec` 恢复权限 可以利用 `pkexec` 工具以超级用户身份运行命令来修正 `/etc/sudoers` 的权限。 ```bash pkexec chmod 0440 /etc/sudoers ``` 此命令会将 `/etc/sudoers` 文件的权限设置为只允许根用户读取和执行,从而恢复其默认的安全配置[^2]。 #### 方法二:通过单用户模式修复 如果 `pkexec` 不可用或者系统未安装该工具,则可以通过进入单用户模式来进行修复。 1. **重启系统并进入 GRUB 菜单** - 启动过程中按下键盘上的 `Esc` 或 `Shift` 键,直到显示 GRUB 引导菜单。 2. **编辑启动项** - 使用方向键选中默认的启动选项,按 `e` 编辑启动参数。 - 找到以 `linux16` 开头的一行,在这一行的末尾追加 `init=/bin/bash` 参数。 3. **挂载文件系统为可写入** - 系统将以单用户模式启动,并自动加载根 shell。 - 输入以下命令使文件系统变为可写: ```bash mount -o remount,rw / ``` 4. **修复 `/etc/sudoers` 权限** - 更改 `/etc/sudoers` 文件的权限为 `0440`: ```bash chmod 0440 /etc/sudoers ``` 5. **重新启动系统** - 完成以上操作后输入以下命令重启系统: ```bash exec /sbin/init ``` 此时,系统的 `sudo` 功能应已恢复正常工作[^3]。 #### 方法三:借助 Live CD/USB 进行修复 当本地系统完全无法访问时,还可以考虑使用麒麟系统的 Live CD/USB 版本引导计算机进行修复。 1. **制作 Live USB/CDDVD** - 下载最新的麒麟操作系统镜像文件,并将其刻录至 U盘或光盘。 2. **从 Live USB/CDDVD 启动** - 插入准备好的介质,调整 BIOS 设置以便优先从外部设备启动。 3. **挂载受损分区** - 登陆到 Live 环境之后,打开终端窗口,确认目标磁盘位置(通常位于 `/dev/sdXn` 中)。接着创建临时目录用于挂载: ```bash mkdir /mnt/system mount /dev/sdaX /mnt/system ``` 4. **更改 Sudoers 文件权限** - 导航至挂载点下的相应路径,修改 `/etc/sudoers` 文件权限: ```bash cd /mnt/system/etc/ chmod 0440 sudoers ``` 完成这些步骤后再安全卸载硬盘并正常重启即可[^5]。 --- ### 注意事项 - 在任何情况下都不建议随意改变重要系统文件(例如 `/etc/sudoers`)的权限,因为这样可能会破坏系统的安全性以及功能完整性。 - 如果不确定如何操作某些高级指令,请先备份数据以防万一发生意外情况影响整个系统稳定性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值