几乎所有的linux入门书籍里都有这样一句警世哲言:在对服务器进行日常管理的时候建议使用普通的帐号;只有当确实需要使用root权限操作的时候,才切换到root用户.于是芸芸众生的我辈谨记前人的教诲,以普通的帐号管理服务器.但是,但是,我们还年轻嘛,总是耐不住会尝试一些新鲜的东东,于是乎也便有了本文:)
而输入完密码以后是空白,敲了几个回车以后发现不对,赶紧ctrl+c,这时已经被无情的提示:"当前文件被修改,是否载入".
输入:L,然后无情的发现,文件已经被清空啦!
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,里面有一段关于的描述:
- 由于你的过失,丢失象 /etc/passwd 这样的重要文件,是一件非常痛苦的事。Ubuntu 系统周期性的将他们备份到 /var/backups/。 当你恢复这些文件的时候,你需要设置适当的权限。
- # cp /var/backups/passwd /etc/passwd
- # chmod 644 /etc/passwd
因为看到这个资料所以才有了这次的passwd误删情景再现,但是重启恢复passwd的文件的时候我看了/var/backups文件夹,里面竟是空的.
而在看到这篇资料的时候,我有看过本机的/var/backups,里面是有东东的,而且passwd和passwd.bak文件的内容是一样的!
也许我的再现场景太早了,刚安装完系统不久,还没有到ubuntu所谓的"周期".无论如何,这次知道怎么在不同的情况下恢复passwd文件了吧:)顺便说下,那个不退出vi就以特权权限保存文件的vi命令是:":w !sudo tee %".一定要记清楚了哟~
本文出自 “” 博客,请务必保留此出处