问题描述:
局域网内搭建hadoop环境,节点/home是挂载在单独磁盘上,某次断电原因导致几个节点/home文件系统损坏,无法恢复,只能格式化之后重新挂载/home,然后使用脚本快速恢复hadoop众多用户。
源引:《鸟哥的私房菜》手动创建用户流程:
先创建所需要的群组 ( vi /etc/group );
将 /etc/group 与 /etc/gshadow 同步化 ( grpconv );
创建账号的各个属性 ( vi /etc/passwd );
将 /etc/passwd 与 /etc/shadow 同步化 ( pwconv );
创建该账号的口令 ( passwd accountname );
创建用户家目录 ( cp -a /etc/skel /home/accountname );
更改用户家目录的属性 ( chown -R accountname.group /home/accountname )。
因为只是/home文件损坏了,只需要进行第6和第7步就行了,脚本如下:
#!/bin/bash
for user in `cat /etc/passwd|tail -20 | awk -F: '{print $1}'` ;do
mkdir -pv /home/$user
cp -a /etc/skel/.bash_profile /home/$user
cp -a /etc/skel/.bash_logout /home/$user
cp -a /etc/skel/.bashrc /home/$user
chown -R $user:$user /home/$user
done
~
~