美文网首页
chmod 777 /etc/sudoers

chmod 777 /etc/sudoers

作者: wolf4j | 来源:发表于2018-04-08 19:55 被阅读245次

记录一次比较弱智的行为,希望这篇文章到我为止,不要再有相同的人犯如此低级的错误

在服务器上,创建一个用户,希望将它加入root组,拥有root权限,所以使用了一个错误的行为,首先chmod 777 /etc/sudoers给这个文件所有权限,首先这个命令本身就比较弱智,因为在服务器上,很少有情况需要将一个文件的所有权限都给到。很自信的执行命令之后,傻眼了,这台服务器上的所有用户都失去了sudo权限,当执行sudo的时候出现以下错误:

sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

它告诉你sudoers这个文件是全局可写的,不允许你执行这个操作,因为它毫无安全性可言,其次,也是最关键的,正常人的思维是再把权限修改回去不就OK了,但是etc是普通用户无法切入的,所以普通用户无法修改这个文件的权限。更要命的是,执行了网上各种解决方案,都需要知道root用户的密码,问题是我怎么知道。悲剧了。。。。

不幸中的万幸,我们这台服务器在自己本地


解决方案

第一步

重启服务器,长按esc键,进入linux启动界面,这个时候会看到以下选项:

ubuntu
Advanced options for Ubuntu

选择Advanced options for Ubuntu,回车;

第二步

接下来会进入另一个界面,如下所示:

Ubuntu, with Linux 4.4.0-38-generic
Ubuntu, with Linux 4.4.0-38-generic(recovery mode)

选择Ubuntu, with Linux 4.4.0-38-generic(recovery mode) 模式;

第三步

接下来会进入另一个页面,Recovery Menu(filesystem state: read-only)
选择root,然后回车。

第四步

这时候会在底部出现shell命令的界面,执行如下两步操作(顺序不能错):

1. mount -o remount,rw /
2. chmod 0440 /etc/sudoers 

第五步

重启虚拟机,正常启动,这个时候ll /etc/sudoers,但愿能看到你想要的效果。

相关文章

网友评论

      本文标题:chmod 777 /etc/sudoers

      本文链接:https://www.haomeiwen.com/subject/pammhftx.html