3.48. 批量创建用户脚本

useradd1.sh

#!/usr/bin/env bash
#usage:xxx
#scripts_name:xxx.sh
# author:xiaojian
i=1
groupadd user1          #创建用户组user1
while [ $i -le 50 ]; do
    if [ $i -le 9 ]; then
        USERNAME=student0${i}  # 定义变量USERNAME,且取值为student0${i},即用户名由“student0+$i”组成
    else
        USERNAME=student${i} # 定义变量USERNAME,且取值为student0${i},即用户名由“student+$i”组成
    fi
    useradd $USERNAME
    mkdir /home/$USERNAME    # 给相应用户创建家目录
    chown -R $USERNAME
    chgrp -R user1 /home/$USERNAME   # 使用chgrp命令指定主目录/home/$USERNAME
    i=$(($i+1))         #变量i自加1
done

useradd2.sh

#!/usr/bin/env bash
#usage:xxx
#scripts_name:xxx.sh
# author:xiaojian
i=1
awk -F":" '{print $3}' /etc/passwd >pa  # 将passwd文件中以冒号分割的第3列保存到pa文件中
x=`tail -1 pa`  #蒋文杰pa倒数第1行内容保存到变量x中。x保存了当前最大用户
x=$(($x+1)) #将变量x的值加1,作为下一个新建用户ID
while [ $i -le 50 ]; do
    mkdir -p /home/stud${i}
    chown -R $stud${i} /home/$stud${i}
    chgrp -R user1 /home/$stud${i}  #使用chgrp指定主目录的用户组为user1
    echo "stud${i}:x:${x}:100::/home/stud${i}:/bin/bash" >> /etc/passwd
    echo "stud${i}::14098:0:99999:7:::" >> /etc/shadow
    i=$(($i+1))
    x=$(($x+1))
done

create_dir.sh

#!/usr/bin/env bash
#usage:xxx
#scripts_name:xxx.sh
# author:xiaojian
i=1
dirs=student
while [ $i -le 50 ]; do
    if [ -d $dirs ]; then
        mkdir $dirs/student$i
        chmod 754 $dirs/student$i
        echo "student$i"
        i=$(($i+1))
    else
        mkdir $dirs
        mkdir $dirs/student$i
        chmod 754 $dirs/student$i
        echo "student$i"
        i=$(($i+1))
    fi
done