原理就是把手动建用户过程通过脚本实现,方便批量建立用户,由三个文件组成,user.lst里面列用户跟密码,data.conf文件里面定义配置变量,update_user.sh则是建立用户的脚本文件,也可用来修改已经存在用户的密码。
user.lst文件内容
lazi2:123456
lazi3:123456
data.conf文件内容
#user list
user_file=user.lst
#user home
user_dir=/home/mail
#user group
user_group=mailuser
#user shell
user_shell=/sbin/nologin
#user log
log_file=user.log
#success user
succ_log=user.success
update_user.sh文件内容:
#!/bin/bash
#
#batch add users with file called user.lst
#
#include data
eval `cat data.conf | grep -v “#” | tr -d ‘\r’ | tr -d ”`
#make user dir path
user_path=$user_dir/`date +%Y%m`/`date +%d`
mkdir -p $user_path
#check user_group
if [ -z "`cat /etc/group | grep $user_group`" ]
then
groupadd$user_group
fi
#read $user_file
for fileline in $(more $user_file)
do
if [ -n $fileline]
then
username=`echo $fileline|cut -d : -f1`
passwd=`echo $fileline|cut -d : -f2`
if [ -z "`cat /etc/passwd | grep $username`"]
then
useradd -d$user_path/$username -m $username -s $user_shell -g$user_group
#make INBOX
mkdir -p$user_path/$username/mail/.imap/INBOX
fi
echo $passwd | passwd –stdin $username
echo “user $username’s is make and password is$passwd!” >> $log_file
echo $username:$passwd >> $succ_log
else
echo “The username is null”
fi
done
#delete $user_file
rm -f $user_file
转载请注明:小Y » 搭建sendmail服务器,写了个建用户的脚本