【Linux】误删除/home家目录怎么办? | 您所在的位置:网站首页 › 金蝶不小心把会计科目删了怎么办 › 【Linux】误删除/home家目录怎么办? |
👨🎓博主简介 🏅云计算领域优质创作者 🏅华为云开发者社区专家博主 🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗 文章目录 前言 / 误删经过ssh连接登录报错信息问题排查解决方法1、先切换到root用户2、添加一个新用户3、将新创建的用户的家目录复制一个出来名字为误删掉的那个4、修改目录的用户和用户组所属 解决完成 前言 / 误删经过因为服务器是禁用了root的ssh连接方式的,所以一直都是使用普通用户登录,如果需要其他root权限操作就会提权操作或者切换root进行操作; 突然有一天,(具体我也不知道在干啥)不小心吧/home/下的普通用户目录删了(当然,不是我操作的),导致我登录进来找不到家目录了,就变成-bash了;虽然可以登录上来,但是上面会提示一行找不到家目录,导致操作没有权限等等一些问题,所以这个问题还是要解决的; 提示:此方法仅适用于家目录没有存放任何文件的; ssh连接登录报错信息报错信息为: Could not chdir to home directory /home/test1: No such file or directory此报错是因为找不到/home/test1这样的文件或者目录,报这个错怎么做呢? 首先,我们ls /home看一下是没有test1这个家目录。 可以看到是没有的,那么可以判定是被误删或者是移动到其他地方了,导致ssh使用普通用户连接找不到家目录,才会报错。 问:那么,如何解决呢? 答:其实很简单: 1、如果你是开发人员,用的普通用户,可以找运维人员或者持有root用户的人员帮你在创建一个用户,把创建的哪个用户的家目录,复制一份修改一下家目录名、用户和用户组即可; 2、如果自己可以直接进入root,那就在创建一个用户,把创建的哪个用户的家目录,复制一份修改一下家目录名、用户和用户组即可; 那么问题又来了: 问:为什么不直接创建一个目录呢?看着里面是个空文件? 答:因为你看到的只是表面,家目录ls 看着是空文件,但事实上,它是有隐藏文件的,不仅linux上有,windows上也有隐藏文件,我们需要使用ls -a看一下,即可看到隐藏文件;隐藏文件一般都是一些配置,而且是必须的,如果没有这些文件,那么就算创建一个空目录也是无用的。所以,要重新创建一个用户,然后把家目录复制一份,修改一下家目录名、用户和用户组即可; 解决方法解决方法其实有很多种,比如用什么命令恢复之类的,这些我没有尝试,因为这个比较简单点,而且是个空目录,所以没必要用那么复杂的工具来恢复; 如果家目录里有其他的文件,那么这时候就需要用到工具了。 1、先切换到root用户 -bash-4.2$ su - 密码: 上一次登录:四 11月 23 16:51:46 CST 2023pts/1 上 2、添加一个新用户随便添加一个新用户 # 添加一个新用户 [root@localhost ~]# useradd test2 # 加密码 [root@localhost ~]# passwd test2如果设置的有切换root免密登录,需要自己使用visudo去添加登录权限; 3、将新创建的用户的家目录复制一个出来名字为误删掉的那个 [root@localhost ~]# cd /home/ [root@localhost home]# ls test2 [root@localhost home]# cp -ar test2/ test1 [root@localhost home]# ls test1 test2 [root@localhost home]#这时候复制了一个,但是,还没完成; 我们看一下复制的用户、用户组所属:ll 可以看到都是test2,这时候我们需要修改一下目录的用户和用户组所属; 4、修改目录的用户和用户组所属前提是用户、用户组不能被删除。 # 给test1目录配置用户、用户组 [root@localhost home]# chown -R test1:test1 test1/ # 查看 [root@localhost home]# ll 总用量 0 drwx------ 2 test1 test1 62 11月 23 16:57 test1 drwx------ 2 test2 test2 62 11月 23 16:57 test2可以看到设置成功了,这时候我们就可以继续使用普通用户登录了; 可以看到登录成功了。 解决完成 |
CopyRight 2018-2019 实验室设备网 版权所有 |