ubuntu手贱改了sudoers之后的恢复

sudo 这个命令是ubuntu系统是用的最多的(和其他大众版linux系统比起来),而一个普通用户是否有sudo权限来临时切换到root用户来执行“一行”命令取决于 /etc/sudoers的配置,而sudoers这个诡异的文件又不能用常规的方式来修改。

所谓常规方式是什么呢,就是用chmod让可以操纵的用户获得写权限,修改完文件再将权限复原。可是sudoers这个文件默认权限是root的440:

-r--r----- 1 root root 4002 Mar  2  2012 /etc/sudoers

一旦把它的权限改成非440,就会出现sudo命令无法使用的情况。其他linux还好说,可ubuntu的root用户默认是禁用的啊,root用户用不了,sudo命令也用不了,纠结死了。若是别的文件还好说,偏偏这个文件权限一改就几乎稍微大点的事都干不了了。

这个时候只能进入单用户模式进行修复,ubuntu进入单用户模式的方式是重启选择恢复模式的选项进入(如果有多个系统,grub菜单会显示,这时选择恢复模式的选项进入即可;如果只有唯一的一个ubuntu系统,需要开机按shift让grub菜单显示出来),在短暂的加载之后就可以选择修复的选项了,这时选择root选项,这个就是以root单用户模式进入的方式。

用chmod将sudoers文件的权限改回440,之前可以sudo的用户就可以正常使用了:

 chmod 440 /etc/sudoers

如果出现Read-only file system的提示不让修改,可以重新挂载以解决:

mount -o remount rw /

这时也可以用passwd给root用户设置密码,以后再出现这样的乌龙就不需要重启进单用户模式了。但还是不推荐大家打开root用户,我觉得吧,存在的就是合理的,通过禁用root的方式来限制命令的影响范围是有一定必要的。

进入系统,正确的修改sudoers文件的方式其实已经卸载sudoers里了,就是使用visudo命令来修改这个特殊的文件。

## This file must be edited with the ‘visudo‘ command.

应该使用有sudo权限的用户,执行:

sudo visudo

在root ALL=(ALL) ALL这行下面在写一行学着这行的格式,把需要使用sudo命令的用户加在里面,保存时覆盖掉源文件就可以了。

root ALL=(ALL) ALL
user ALL=(ALL) ALL

好啦,问题解决。

希望大家引以为戒,下次遇到问题时要是找到这篇东拼西凑的文章也能快速解决问题。同时也给自己提个醒。

时间: 2024-08-26 17:52:42

ubuntu手贱改了sudoers之后的恢复的相关文章

webstorm 不知道手贱点了什么,有时候会自动删除分号

https://segmentfault.com/q/1010000009184137?_ea=1845711 webstorm 不知道手贱点了什么,有时候会自动删除分号 webstorm javascript 繁忙的耗子 4月25日提问 关注 4 关注 收藏 0 收藏,470 浏览 问题对人有帮助,内容完整,我也想知道答案0问题没有实际价值,缺少关键内容,没有改进余地 怎么恢复过来? 4月25日提问 评论 邀请回答 编辑 默认排序时间排序 3个回答 答案对人有帮助,有参考价值0答案没帮助,是错

手贱的回忆录 --- L版openrc密码修改(OS_PASSWORD)

---恢复内容开始--- 刚刚部署完L版,发现默认登录的管理员账号在41.42.43的openrc文件中,登录名是admin,登录密码却是一串随机码,于是想修改一个简单易记的密码,手贱的把OS_PASSWORD修改为了Abcd1234,三个API节点都这么搞了一下,然后就杯具了,从此无法登录页面,且没有admin权限做任何补救操作,后经成坤操作,问题被瞬秒,以下为操作过程,供参考: 登录到41节点,打开openrc文件,注销掉Rescue model之上的所有内容,仅留下以下内容: export

ubuntu密码忘了、sudoers文件坏了等解决办法

1.开机狂按shift键,进入grub页面,用上下键移到第二行的恢复模式,按e(注意不是回车) 即Ubuntu,With Linux 3.2.0-23-generic(recovery mode) 2.把ro recovery nomodeset 改成rw single init=/bin/bash 然后按ctrl+x 或者F10 就可以进入 单用户模式 然后就是root权限的shell了,修复之前愚蠢的错误吧,包括重设密码什么的都可以. ubuntu密码忘了.sudoers文件坏了等解决办法,

Ubuntu 误改/etc/sudoers 文件权限

添加用户时不小心修改了/etc/sudoers 权限,结果不能sudo了,Ubuntu默认关闭root帐户,结果傻X了,无法改回了. 方法如下: 1.重启机器,开机按ESC,进入恢复模式 2.此时,磁盘为read only模式,选择fsck check all file systems,重挂所有盘,一路回车 3.选择root  drop to root shell prompt ,进入root帐户 4.执行以下代码,修改权限为440 chmod 440 /etc/sudoers 完成 避免以后再

Ubuntu改坏sudoers后无法使用sudo的解决办法

练习安装odoo的时候,创建了一个odoo用户,想把它赋予sudo权限,然而,编辑的时候不留意,改坏了,导致sudo无法使用,无法编辑sudoers文件修改回来. 总提示如下信息: >>> /etc/sudoers: syntax error near line 22 <<< sudo: parse error in /etc/sudoers near line 22 sudo: no valid sudoers sources found, quitting sudo

手贱--npm 误改全局安装路径

修改全局安装命令: 通过 npm config set prefix "目录路径" 来设置. 通过 npm config get prefix 来获取当前设置的目录. 我的nodejs安装在d盘, 修改文件 C:\Users\用户    下的文件 .npmrc prefix=d:\Program Files\nodejs (全局安装路径)

腾腾流氓,云云更流氓(问微信怎样接入支付宝支付),手贱的赶紧点,你会感谢我的

草原上的两匹马! 打从当年微信开始布局公众号之初时,估计就已经想到了与支付宝正面冲突的场面,所以微信先来个瞒天过海,在春晚搞了个微信红包,那叫一个火呀,此时的云云隐隐感觉到些许不安. 早期的微信开发者可能都知道,微信公众号刚开始的时候接入支付要交巨额的保证金,根据行业不同,金额也不同,但也有大几万呢.这让很大一部分微型企业望而却步(老子创业时,注册公司的注册资金都免了,用个支付,你还要保证金),所以,大家果断用支付宝. 这样一来,腾哥的如意算盘算是打到自己脚面了,本打算可以用企业交的保证金拿去做

ubuntu 错误修改sudoers文件的恢复办法

1 进入recovery模式(在Ubuntu下,开机时长按shift出现各种模式,选择第二个recovery mode,按e进去编辑) 2 将root=UUID=XXX 后的 ro XXX 改为 rw  single init=/bin/bash以后 按ctrl+x 就可以进入单用户模式了,就可以用root权限修改自己想改的东西了! 3 重启命令:reboot -f ;直接输入reboot,提示Failed to talk to init daemon

烂泥:【解决】ubuntu提示ilanni不在sudoers文件中错误

本文首发于烂泥行天下. 今天在Ubuntu系统中新建一个用户ilanni,添加完毕后.在执行有关sudo的命令时,提示如下的错误信息:ilanni 不在 sudoers 文件中.此事将被报告. 经过查询相关资料得知: ilanni用户的权限不够,造成的.只需要把该用户加入sudo用户组即可. 切换到root用户,修改/etc/sudoers文件,把ilanni用户加入进去即可.如下: 修改完,该配置文件后.再次执行相关的sudo命令就没有报错,如下: