#!/bin/bash
#脚本作用:从预设的用户名:密码组合文件中批量添加SAMBA用户。
#编写日期:2022-12-3

for i in $(cat $1 |xargs) #从预设列表中读取用户名和密码的组合格式,给变量i赋值。
do
  USER=$(echo ${i} | cut -f 1 -d ":") #获取预设用户名。
  PASSWD=$(echo ${i} | cut -f 2 -d ":") #获取预设密码。
  if id ${USER} &>/dev/null #判断用户是否已存在,如存在就跳过添加过程,如不存在就继续添加。
  then
    echo "用户${USER}已经存在!" #输出用户已存在提示
    exit 1 #退出添加过程,并赋值状态码为1。
  else
    useradd -m -d /home/${USER} -s /usr/sbin/nologin -g teacher ${USER} #在系统中添加新用户,建立用户家目录,SHELL为nologin,加入teacher组。
    echo -e "${PASSWD}\n${PASSWD}" | passwd ${USER} #修改系统用户密码
    echo -e "${PASSWD}\n${PASSWD}" | smbpasswd -a ${USER} #修改SAMBA用户密码
    echo "${USER}已成功添加并设置为SAMBA用户。" #输出已添加用户提示
  fi
done