前两天碰上个倒霉事,服务器被……rm -rf了,搞得我内心一万只羊驼在奔腾,不过好在花了一天左右的时间在自己虚拟机上折腾了出来解决方案今天跟大家分享一下希望能帮得上大家
事故现场介绍
当时是一个有个哥们在非root权限的账户下输入了rm -rf /*指令,导致此账户(下文中此账户和此账户的目录统称为name)下的子目录整个删除掉,但是在home目录下还是存在这个账户(为啥会出现这个原因我在此说一下原因,因为那个name这个文件夹是属于root的,所以在name账户下是没有权限删除这个文件夹的,所能删除的只有name文件夹下的所有文件夹以及文件)。
思考历程
这个问题解决的思路我曾经有两个,第一个是直接去虚拟机创建一个然后直接用这个文件夹去替代被删空了的name文件夹,后来发现不行(其实现在想想,自己这想法听脑残的,home目录是属于root,不进root账户怎么可能在home目录下创建文件夹),第二个想法就是成功的方法,即把name目录下的关键文件一个一个的给重新添进去,这个方法我称之为重构法
解决方案(仅仅是恢复正常账户)
先声明一下,我就只讲讲操作步骤,具体原理我就不说了,毕竟作者只是个会操作但是不懂原理的小菜鸟,以免误人子弟,有错误还请各位大佬帮忙指出
- 在name目录下重新加入三个文件.bashrc ,.bash_profile ,.bash_logout
vim .bashrc
vim .bash_profile
vim .bash_logout
- 将下面的代码填写到对应的文件中
.bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
#User sprcific aliases and functions
.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PAHT
.bash_logout
这个文件空着就行
3. 使环境变量生效
source .bashrc
做完上面的这些操作,账户基本就算恢复正常了,剩下的就需要根据个人情况重新安装进行恢复了
写在最后
rm -rf /* 禁止用!!!
rm -rf /* 禁止用!!!
rm -rf /* 禁止用!!!
重要的事说三遍
联系我
个人博客:http://www.awsg.online
博客园:https://www.cnblogs.com/AWSG-Shaodw/
CSDN:https://blog.csdn.net/AngleWithShotgun/
简书:https://www.jianshu.com/u/df7323cbc116
微信公众号: