误删/root/下配置文件恢复方法

默认情况下/root/用户下有如下配置文件:

[root@oldboy ~]# ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc

如果误删除.bash_history .bash_logout .bash_profile .bashrc等配置文件的话,

[root@oldboy ~]# rm -rf \.b*
[root@oldboy ~]# ls -a
.  ..
[root@oldboy ~]#

下次再登录系统时会出现如下情况:

-bash-4.1# ls -a /root/
.  ..
-bash-4.1#

此时,只需从/et/skel目录下把.bash_history .bash_logout .bash_profile .bashrc等配置文件拷贝到/root目录下,即可解决问题。

-bash-4.1# cp /etc/skel/\.b* /root/.
-bash-4.1# ls -a /root/
.  ..  .bash_logout  .bash_profile  .bashrc
-bash-4.1#

或者使用一下命令拷贝相关文件

-bash-4.1# cp -R /etc/skel/. /root/.

再次重新登录即可,也可用su -切换到root用户。

-bash-4.1# su -
[root@oldboy ~]# 
[root@oldboy ~]#


解决问题思路:

默认情况下,使用useradd添加新用户时,会默认会将/etc/skel目录下的所有文件拷贝到用户家目录中

[root@oldboy ~]# cat /etc/default/useradd 
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

[root@oldboy ~]#

/etc/default/useradd配置文件决定着useradd的一些默认操作,SKEL=/etc/ske就是默认从哪拷贝文件到用户家目录下。所以,在丢失这些默认文件时,只需从/etc/skel目录重新拷贝一份即可。当然,你对之前/root下的配置做了修改的话,这部分修改是会丢失的。


在实际生产环境下,尽量避免使用rm命令,删除操作前,一定要记得备份。

你可能感兴趣的:(用户,配置文件,登录系统)