前言
假期结束发现实验室服务器硬盘坏掉,虽然做了raid1备份,然而两块一起坏掉了!!!惊喜不惊喜!意外不意外!于是开始苦哈哈的恢复疗程。然而尝试过更换电路板,各种数据恢复软件后均无果。记录下目前损坏硬盘状态:
BIOS中可见,磁盘名正常显示西数硬盘型号,但无法查看读取硬盘信息(硬盘容量显示为0KB)
修复硬盘无果后,选择先搁置修复。选择装入新硬盘恢复服务器正常工作。然而重启服务器后发现自动关机,打开BIOS查看硬件信息,发现是由于主板温度过高。检查过主板各接口并重插拔后,确定主板损坏,重买主板并安装。终于正常启动,然而home目录之前挂载的是损坏的硬盘,更换硬盘后,home目录下空空如也。开始重新恢复home目录下的用户目录。
新硬盘的分区及格式化
sudo fdisk -l # 查看硬盘信息
看到新硬盘为/dev/sdc
对新硬盘进行分区和格式化
sudo fdisk /dev/sdc
按m查看具体信息
按d删除之前已有的分区
按n新建分区
选择新建sdc1分区,然后对该分区进行格式化:
sudo mkfs -t ext4 /dev/sdc1
挂载磁盘:
mount /dev/sdc1 /home
如此新硬盘成功挂载在home目录下。
但是此时home目录下没有各用户目录,尝试重启后发现并不会自动创建。
选择手动创建
手动创建各用户目录
mkdir /home/xiaoli # 创建用户home文件夹
cp /etc/skel/* /home/xiaoli # 拷贝默认的bash文件
cp /etc/skel/. /home/xiaoli # 拷贝隐藏文件(记得用.啊!)
此时创建的用户文件夹的拥有者和拥有组为创建者,需要更改该文件夹所属用户和组。
忘记了服务器中有哪些用户跟他们属于哪些组,于是查看**/etc/group**和/etc/passwd。
cat /etc/group
cat /etc/passwd
/etc/group中的内容:
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
…省略部分输出…
lamp:x:502:
每一行代表一个用户组,各用户组中以“:”作为分隔符,含义为:
组名:密码:GID(组ID):该用户组中的用户列表
其中”x” 仅仅是密码标识,真正加密后的组密码默认保存在 /etc/gshadow 文件中哦。
/etc/passwd中的内容:
root2:x:0:0::/home/root2:/bin/bash
[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
通过查看上述两个文件就知道了有哪些用户以及他们所属的组,接下来就是更改用户目录的拥有权。
如xiaoli用户所属组的GID为1000,则可以:
chown -R xiaoli:1000 /home/xiaoli
如此一来,xiaoli用户的目录就创建好了
.Xauthority文件缺失问题
在登录到xiaoli用户时,发现提示 .Xauthority文件不存在
.Xauthority文件用于图形界面,这时候
startx
buling!这个文件就出现在了用户目录下,至此问题应该基本都解决了。
为了便于操作,写了创建用户目录脚本如下:
待补充