Contents
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