sudoers出错

今天配置公司的服务器的时候,做了一件很愚蠢的事情,因为错误的修改sudoers文件而导致sudo不能使用,还好后来恢复成功。

过程是这样的。

起源于设置的SVN hook不能正常的运行。提示的是www-data没有密码。以前是通过svn协议访问SVN库,hooks一直使用正常。昨天,为了公司需要将SVN库和apache2整合。之后权限的问题就一直不断。

我想上面这个问题的原因应该是apache是通过www-data用户去执行svn hook的,但是我不知道www-data用户的密码。通过google,找到一个解决方案是在sudoers文件中写入不让系统索取www-data的设置:

www-data ALL=(ALL) NOPASSWD:ALL

以前没有修改过sudoers,因此我直接使用sudo vim打开文件,直接修改并强行保存。结果文件改错了一个字母(这是我后来才发现的)。结果,在这个文件被保存了以后,sudo不能使用,root用户因为Ubuntu天生的原因,没有开通。也就是意味着,服务器的管理权限丢了。。

后来,找到另外方法来解决:

1,重启服务器,在grub时,esc打开菜单,选择recovery mode启动;
2,在recovery mode下,不需要任何输入可以进入root权限!(变态的设定)也就是意味着,任何可以直接操作机器的人,都能获得管理员权限;
3,输入passwd,设置root的密码。这样,root用户就被启用了;
4,reboot,正常模式。su到root,然后修改sudoers。不过这次我学会了使用visudo来修改。

之后一切正常。

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>