作死自救日记——不小心修改linux下/etc/sudoers权限的解决办法

作死自救日记,献给跟我一样不小心作了死的人

================================================

今天不小心作死修改了/etc/sudoers的权限,作死命令如下(别问我为什么要作死)

sudo chmod a+w /etc/sudoers

然后每次用sudo命令都会冒出

sudo: /etc/sudoers is mode 0662, should be 0440

google之发现为了保护系统安全,sudoers的权限一旦修改后任何sudo命令都会被拒绝。解决方案是进入recovery mode,将sudoers的权限修改回来。

于是我哀伤地重启了虚拟机,启动的时候按下SHIFT,选择recovery mode,蹦出来一个菜单,选择root进入root shell。然后敲了

chmod 0440 /etc/sudoers


结果

chmod: changing permissions of `/ect/sudoers': Read-only file system

你在逗我??

无奈之下重启(shutdown -r now),用正常模式开机,还是提示权限不对不准sudo。

好的吧,我再进recovery mode试试……然后就囧了,vmware boot得太快根本来不及按SHIFT进recovery mode呀!开机关机NN遍之后我决定再google一下看看有什么解决方案。看到有人说可以用vmware的 vm->power into BIOS来放慢boot的速度。照做之,终于能进入recovery mode了。

接下来解决root shell里不准改权限的问题,再google发现是进去的时候默认mout到read-only的FS,需要重新mount到read-write的FS才能改权限。

于是先敲个

mount -o remount,rw /

终于成功了

 

重启进入普通状态下的系统,终于能sudo了,内牛满面。

 

在stackoverflow上提了个问题不过在有人回答之前就用google解决掉了 OTZ 贴出供参考之

http://stackoverflow.com/questions/22877118/cant-enter-recovery-mode-of-ubuntu-in-vmware

 

 

这次作死再次深刻地教育了我:不要随便sudo啊OTZ

转载于:https://www.cnblogs.com/joyeecheung/p/3647195.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果修改了/etc/sudoers文件后无法重启系统,可以尝试以下解决方法: 1. 在启动画面按下e键,进入启动参数编辑界面。 2. 找到“linux”开头的行,在末尾添加init=/bin/bash。 3. 按下Ctrl + x或F10键,使用这些修改启动系统。 4. 系统将进入单用户模式,你可以进入系统并修改/etc/sudoers文件。 5. 修改完成后,输入“reboot”命令重启系统。 注意:在修改/etc/sudoers文件之前,应该备份原始文件,以便在出现问题时进行恢复。 ### 回答2: 当我们在Linux系统中修改了/etc/sudoers文件后,如果无法重启系统,可能是由于对sudoers文件的修改导致sudo命令无法正常执行,进而导致系统无法正常重启。解决此问题的方法如下: 1. 尝试使用备份文件恢复sudoers文件:在修改sudoers文件之前,我们通常会创建一个备份文件,其命名类似于sudoers.bak。可以尝试将备份文件复制回/etc/sudoers,覆盖已经修改的文件。 2. 利用恢复模式(Single User Mode)修复系统:在启动时选择恢复模式,通常通过在GRUB菜单中选择“恢复模式”或者“single user mode”。进入恢复模式后,系统以最小的运行级别启动,并且只使用root帐户身份,不需要sudo权限。在此模式下,可以使用root权限修改/etc/sudoers文件,并确保修改正确。 3. 使用安装介质进入救援模式:如果无法进入恢复模式,可以使用Linux安装介质(如光盘或USB驱动器)进入救援模式。在受损的系统中,选择“救援模式”选项,并按照提示选择语言和键盘布局。进入命令行环境后,可以挂载受损的根文件系统,并修改/etc/sudoers文件进行修复。 4. 使用其他Linux系统启动并挂载根文件系统:如果系统无法正常启动,但您拥有其他可以正常运行的Linux系统,可以使用该系统启动电脑,并将受损系统的根文件系统挂载到新系统中。然后,对挂载的文件系统中的/etc/sudoers文件进行修复。 5. 在单用户模式下重建sudoers文件:如果以上方法都无法解决问题,可以尝试在单用户模式下重建sudoers文件。在单用户模式下,以root用户身份,使用文本编辑器(如vi或nano)打开sudoers文件,并按照正确的语法和格式进行修改。然后保存文件并尝试重启系统。 总的来说,当我们在Linux系统中修改了/etc/sudoers文件后无法重启系统时,可以尝试恢复备份文件、进入恢复模式修复、使用安装介质进入救援模式、或者在单用户模式下重建sudoers文件等方法来解决问题。 ### 回答3: 解决Linux修改了/etc/sudoers后无法重启系统的问题有以下几种方法: 1. 使用恢复模式:进入恢复模式后,挂载根目录为只读模式,并修复/etc/sudoers文件中的错误。在终端中输入以下命令: ``` mount -o remount,ro / visudo ``` 然后修复/etc/sudoers文件并保存退出。最后重新启动系统。 2. 利用启动盘修复:使用Linux启动盘或其他可引导的介质启动系统,将根目录挂载到一个临时目录下,并修复/etc/sudoers文件中的错误。具体步骤如下: - 插入启动盘并从中启动系统。 - 进入恢复模式并选择root shell选项。 - 将根目录挂载到一个临时目录下,例如/mnt: ``` mount /dev/sda1 /mnt ``` - 使用文本编辑器打开修复/etc/sudoers文件: ``` nano /mnt/etc/sudoers ``` - 修复文件中的错误并保存退出。 - 卸载挂载的根目录: ``` umount /mnt ``` - 重新启动系统。 3. 由于修改/etc/sudoers文件可能导致权限问题,可能无法使用sudo命令执行操作。可以使用root用户登录系统,并在终端中输入以下命令修复文件: ``` su visudo ``` 然后修复/etc/sudoers文件并保存退出。 4. 如果以上方法都无法解决问题,可以考虑备份重要数据后重新安装系统。在安装过程中,确保不修改/etc/sudoers文件,以免再次出现无法重启系统的问题。然后将备份的数据恢复到新系统中。 无论选择哪种方法,都应该谨慎修改/etc/sudoers文件,并确保在修改之前备份好该文件,以便发生问题时可以方便地恢复。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值