一次特殊的root密码错误经历

自从去年寒假剁手买了搬瓦工VPS之后,寒假中就在上面搭建了自己的博客。今天晚上吃饭回来准备更新一把博客,结果登录的时候提示Permission denied, please try again.。我的密码是搬瓦工后台管理面板自己生成的,而且我最近也没有改啊,怎么会突然就不能登录呢?

经过一晚上的排查,最后终于知道自己犯了一个很蠢的错误。欲知详情,请继续阅读。

一发现不能登录系统,首先想到的是会不会机器被黑了然后密码被改了,或者本地存储密码的文件被我不小心改了?于是我先上搬瓦工控制面板后台尝试重置密码。结果提示:

1
2
Error
MAINTENANCE: KiwiVM control panel is temporarily unavailable. Please try again in a few minutes. (3009005)

这是啥情况?晕死。难道是搬瓦工的管理后台罢工了?论坛求助各位大佬,貌似也没人遇到过这种情况。没办法只能自己捣鼓了。

这期间我甚至尝试了调用搬瓦工提供的API接口重置密码,结果发现可以重置成功,但是还是不能登录上,初步明确了是我的机器的问题,搬瓦工管理面板应该没有罢工。

因为机器上已经装了很多环境了,重新格盘再装的话会很麻烦,所以我暂时还不想重装。试了一下,搬瓦工管理面板上的basic shell仍然能进去,但是进行passwd的时候,提示我用interactive shell来执行这个命令。然鹅,interactive shell首先就需要我登录。我不知道root的密码啊亲,这就很尴尬了。

谷歌一下,有网友说是不是root用户被禁用了,或者其他原因导致了root账户不可登录。具体可以参照root帐户无法登陆解决办法。一一尝试过后仍然不行。这时看到一篇帖子说可以尝试去掉root的密码,将root密码置为空,就可以不输入密码登录。抱着死马当活马医的心态,尝试了一下。结果发现,我的/etc/shadow里面全是空的,一行数据都没有,这是咋了??

冷静下来仔细回想了一下,原来中午的时候,清理机器上的文件,因为这个跟某个知名梯子的名称比较像,当时没反应过来,把/etc/shadow当做垃圾文件给删了(哭。。。),甚至,我还把它的备份文件/etc/shadow-也给删了,被自己蠢哭了。

还好是自己的机器,不是公司的生产机器,不然该出事故了。所以特地写作此文以示警戒。


挖个坑,后面有空来补一下Linux系统中存储用户名和密码的/etc/passwd/etc/shadow两个文件中内容的具体含义