passwd被误清的奇遇遭遇

几乎所有的linux入门书籍里都有这样一句警世哲言:在对服务器进行日常管理的时候建议使用普通的帐号;只有当确实需要使用root权限操作的时候,才切换到root用户.于是芸芸众生的我辈谨记前人的教诲,以普通的帐号管理服务器.但是,但是,我们还年轻嘛,总是耐不住会尝试一些新鲜的东东,于是乎也便有了本文:)
       一日同事说:我正在用一个普通帐号登陆服务器用vi编辑passwd的文件,改的东西挺多,我不想退出vi了,应该咋操作来着?我不加思索的回了句:":!sudo tee %".因为我本身就用的ubuntu的桌面,也相当于普通帐号,于是我也迅速的打开一个shell试了下这个命令.有句话怎么说来着?好奇心杀死猫!估计就是说的我吧.输完命令以后,要输入当前用户的密码,

        而输入完密码以后是空白,敲了几个回车以后发现不对,赶紧ctrl+c,这时已经被无情的提示:"当前文件被修改,是否载入".

        输入:L,然后无情的发现,文件已经被清空啦!

       脑子一下了就炸了!oh,my god,passwd文件清空了会怎么样呢?这时同事回话说:"试了,passwd文件被清空了.我是在远程操作托管的机器.".我赶紧回了句:"冷静!先别退出shell,我在想办法.".脑子迅速进入了高速旋转阶段,怎么办,怎么办,怎么办.我还记得07年的时候,有一次总监在远程操作的时候,不小心输了一个:"rm -rf /",等了几秒钟,发现不对,赶紧停了下来,然后比对删除的文件,从另一个配置差不多的机器上,拷过来的.小心的检查了所有配置文件,然后又重启了一下以验证配置对不对.于是,我第一想法就是从其它机器上拷备一个passwd文件过来.可是奇迹发生了.

       oh,my lady gaga!看来没了passwd文件还真不行,我直接被缴械了!咋办呢?还好我还开着一个shell远程连着一台机器.赶紧把那台机器的passwd文件cat一下,然后复制出来,但是还是无法直接保存到/etc/passwd.于是我决定重启进救援模式.结果发现竟然连重启都不让,

        谁让我就坐在电脑前呢,直接按电源呗!

        这时候直接进系统,已经进不了了,不断的报错.

        我想进系统自带的救援模式,但是设的启动时间太短了,老是抢不过去,想想就算进那个模式也没用,没passwd文件估计也不让登陆,还是直接用光盘吧.

        光盘启动选择救援模式,直接选择使用的系统,一路顺畅!切到/etc下,查看passwd文件,果然空了.

        不过还有一个passwd-的文件存在,看下文件大小及内容,和原来没清空时差不多,那就好办了,直接删除passwd文件,将passwd-改名为passwd.ok!reboot 

       启动成功!

        我胡汉三又回来啦,哈哈~~

        但是发现一个问题,这时候的机器名还是"I have no name",why呢?网上查资料说是passwd文件权限不对,于是看了一下,

        发现确实不对,这样的话,登陆shell的时候,普通用户没权限读自己的用户名?不管了,纠正权限,重启!终于一切正常了~~

        这件事已经过去几个月了,前几日翻资料的时候不小心翻看了ubuntu的官方wiki,里面有一段关于rm /etc/passwd的描述:

  1. 由于你的过失,丢失象 /etc/passwd 这样的重要文件,是一件非常痛苦的事。Ubuntu 系统周期性的将他们备份到 /var/backups/。 当你恢复这些文件的时候,你需要设置适当的权限。 
  2. # cp /var/backups/passwd /etc/passwd 
  3. # chmod 644 /etc/passwd 

        因为看到这个资料所以才有了这次的passwd误删情景再现,但是重启恢复passwd的文件的时候我看了/var/backups文件夹,里面竟是空的.

        而在看到这篇资料的时候,我有看过本机的/var/backups,里面是有东东的,而且passwd和passwd.bak文件的内容是一样的!

        也许我的再现场景太早了,刚安装完系统不久,还没有到ubuntu所谓的"周期".无论如何,这次知道怎么在不同的情况下恢复passwd文件了吧:)顺便说下,那个不退出vi就以特权权限保存文件的vi命令是:":w !sudo tee %".一定要记清楚了哟~

本文出自 “rainbird” 博客,请务必保留此出处http://rainbird.blog.51cto.com/211214/391842

发布了297 篇原创文章 · 获赞 36 · 访问量 31万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章