问题描述:

    局域网内搭建hadoop环境,节点/home是挂载在单独磁盘上,某次断电原因导致几个节点/home文件系统损坏,无法恢复,只能格式化之后重新挂载/home,然后使用脚本快速恢复hadoop众多用户。

    源引:《鸟哥的私房菜》手动创建用户流程:

  1. 先创建所需要的群组 ( vi /etc/group );

  2. 将 /etc/group 与 /etc/gshadow 同步化 ( grpconv );

  3. 创建账号的各个属性 ( vi /etc/passwd );

  4. 将 /etc/passwd 与 /etc/shadow 同步化 ( pwconv );

  5. 创建该账号的口令 ( passwd accountname );

  6. 创建用户家目录 ( cp -a /etc/skel /home/accountname );

  7. 更改用户家目录的属性 ( 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

~                                                                                                                                                  

~