记一次Kimsufi服务器救援模式使用
唔……事情是这样的……
我之前不是入手了法国Kimsufi家的特价独立服务器,并且把这个博客放在了上面吗,然而昨天由于我折腾些事情,差点翻车了。
起因是昨天为了更改apache2的用户配置,去手动修改了/etc/passwd
文件,修改完成后,apache2的用户可以使用了,然而却发现root用户登不上了,sudo
命令也无法使用。
原因很简单……我不知道什么时候手滑了一下,现在/etc/passwd
文件的第一行root
前面多了一个"\"符号……变成了\root
。
啊啊!果然是缺少Linux系统使用和运维经验啊,居然犯下了如此可笑的失误……由于我并没有创建和root同组的用户,所以现在还有救吗?
这样果然不行……那使用su
命令去切换到\root
这个用户呢?
看来是没救了……于是我决定等第二天有空的时候重装系统……
峰回路转
就在今天我打开Kimsufi控制面板准备重装的时候,无意间点开"Netboot",发现里面有不少选项……似乎有个叫做"Rescue"的选项来着?
去网上一查,这貌似是Kimsufi控制面板提供的以救援模式启动服务器的功能!
难道能把我之前的迷之误操作救回来?于是二话不说开干——
如图所示,打开浮动层后选择"Rescue"一项。
这里要我选择救援模式使用的系统,我选了"rescue64-pro"。
选好之后点击"Next",然后点击"Confirm"确认,接着需要手动将服务器重启一次,可以使用Kimsufi控制面板上的"Restart"硬重启功能。
接下来可能需要等数分钟,系统会发送一封主题为"Access settings for RESCUE mode"的邮件给你,打开一看,这里面有救援模式系统的root账户密码。
好了,得到了root账户密码,接下来可以用SSH客户端连接上去了!
开始救援
成功用root账户登入救援系统后,首先会发现这里的/etc/passwd
文件是正常的,废话,不正常还怎么登进来啊。
所以首先我们要找到服务器所在系统的硬盘分区和/etc/passwd
文件的所在。
使用df -lh
和fdsik -l
查看后,可以看到救援系统下还没有挂在我们主系统所在的硬盘分区,我的系统安装在/dev/sda2
这个分区,接下来需要用mount
命令挂载。
mount /dev/sda2 /home/luxnk
要挂载到的文件夹请自己创建,之后进入这个文件夹就应该能看到服务器主系统的所有文件了。
Bingo!那么这里面的etc/passwd
就一定是我要找的那个误操作文件了。
小心翼翼的把第一行的"\"去掉……然后保存……
接着将之前挂载的磁盘卸载。
umount /dev/sda2
最后还要在Kimsufi控制面板中的"Netboot"里把启动模式改回"Hard disk",然后重启服务器就可以了~
结尾
在这一番折腾之后,我服务器上的root用户又重新复活了~可以说比起重装系统不知道省去了多少功夫……当然这也是建立在Kimsufi这家主机商提供了救援模式的功能,如果是在其他没有这类功能的主机商上“神操作”了一把,恐怕就真玩完了……
所以,最后的结论是,Linux下涉及系统的操作一定要小心谨慎,我经常拿sudo rm -rf /*
作为玩笑话,没想到自己居然也犯下了差不多等级的错误……还好最后挽回了,也算长一个教训吧。