1、脚本支持创建普通用户
2、支持创建多个用户或者列表用户添加
3、支持LINUX用户删除
4、支持LINUX系统组删除
5、支持对某个用户修改密码
#!/bin/bash
#by auther toyix
#2020年7月11日 10:12:03
#auto add and del user/group
############################
#创建用户
function ADDUSER () {
read -p "是否导入用户列表 YES|NO:" YES_NO
while [ -z ${YES_NO} ]
do
read -p "是否导入用户列表 YES|NO:" YES_NO
done
if [ ${YES_NO} == "YES" ];then
read -p "请输入全路径及文件名:" USERNAME_LIST
while [ -z ${USERNAME_LIST} ]
do
read -p "请输入全路径及文件名:" USERNAME_LIST
done
if [ ! -f "${USERNAME_LIST}" ];then
echo "文件${USERNAME_LIST}不存在!"
exit 1
fi
USERNAME=`cat ${USERNAME_LIST}`
echo -e "\033[32m---导入中---\033[0m"
sleep 3
#是否创建为普通用户
read -p "是否创建为普通用户 YES|NO:" PT_user_Y_N
while [ -z ${PT_user_Y_N} ]
do
read -p "是否创建为普通用户 YES|NO:" PT_user_Y_N
done
if [ $PT_user_Y_N == "NO" ];then
read -p "请输入新用户的所属组名 :" GROUPADD
while [ -z ${GROUPADD} ]
do
read -p "请正确输入新用户的所属组名 :" GROUPADD
done
cat /etc/group |grep $GROUPADD
if [ $? -ne 0 ];then
groupadd $GROUPADD
fi
#创建用户
for USERNAME in $USERNAME
do
useradd -s /sbin/nologin -r $USERNAME -g $GROUPADD
case $? in
0)
echo "用户${USERNAME}创建成功"
;;
9)
echo "用户${USERNAME}已存在"
;;
*)
echo "用户${USERNAME}创建失败,请检查权限等"
esac
done
fi
if [ $PT_user_Y_N == "YES" ];then
read -p "请输入新用户的所属组名 :" GROUPADD
while [ -z ${GROUPADD} ]
do
read -p "请正确输入新用户的所属组名 :" GROUPADD
done
cat /etc/group |grep $GROUPADD
if [ $? -ne 0 ];then
groupadd $GROUPADD
fi
#创建用户
for USERNAME in $USERNAME
do
useradd $USERNAME -g $GROUPADD
case $? in
0)
echo "用户${USERNAME}创建成功"
;;
9)
echo "用户${USERNAME}已存在"
;;
*)
echo "用户${USERNAME}创建失败,请检查权限等"
esac
done
fi
fi
if [ ${YES_NO} == "NO" ];then
read -p "请输入新添加的用户名,单个或多个:" USERNAME
while [ -z ${USERNAME} ]
do
read -p "请输入要新添加的用户名:" USERNAME
done
read -p "请输入新用户的所属组名 :" GROUPADD
while [ -z ${GROUPADD} ]
do
read -p "请正确输入新用户的所属组名 :" GROUPADD
done
cat /etc/group |grep $GROUPADD
if [ $? -ne 0 ];then
groupadd $GROUPADD
fi
for USERNAME in $USERNAME
do
useradd -s /sbin/nologin -r $USERNAME -g $GROUPADD
case $? in
0)
echo "用户${USERNAME}创建成功"
;;
9)
echo "用户${USERNAME}已存在"
;;
*)
echo "用户${USERNAME}创建失败,请检查权限等"
esac
done
exit
fi
}
#删除用户
function DELUSER () {
read -p "请输入要删除的用户名,单个或多个,以空格分隔 :" DEL_USERNAME
while [ -z $DEL_USERNAME ]
do
read -p "请输入要删除的用户名,单个或多个,以空格分隔 :" DEL_USERNAME
done
for USERNAME in ${DEL_USERNAME}
do
userdel $DEL_USERNAME
id $DEL_USERNAME
if [ $? -ne 0 ];then
echo "用户${DEL_USERNAME}已删除"
else
echo "用户${DEL_USERNAME}删除失败"
fi
done
exit
}
#修改用户密码
function ALTER_USER_PWD () {
read -p "请输入要修改密码的用户名 :" USERNAME_ALTERPWD
while [ -z $USERNAME_ALTERPWD ]
do
read -p "请输入要修改密码的用户名 :" USERNAME_ALTERPWD
done
id $USERNAME_ALTERPWD
if [ $? -ne 0 ];then
echo "用户${USERNAME_ALTERPWD}不存在,请先创建"
exit 1
else
passwd $USERNAME_ALTERPWD
id $USERNAME
while [ $? -ne 0 ]
do
echo "密码输入不正确,请重新输入,Ctrl + c 退出"
passwd $USERNAME_ALTERPWD
done
echo "密码修改成功"
exit 0
fi
}
#创建组
function CREATE_GROUP () {
read -p "请输入新组名,单个或多个,以空格分隔:" GROUPADD_NAMES
while [ -z "${GROUPADD_NAMES}" ]
do
read -p "请输入新组名,以空格分隔:" GROUPADD_NAMES
done
for GROUPADD_NAME in ${GROUPADD_NAMES}
do
groupadd ${GROUPADD_NAME}
cat /etc/group |grep $GROUPADD_NAME
if [ $? -eq 0 ];then
echo "组"${GROUPADD_NAME}"创建成功"
else
echo "组"${GROUPADD_NAME}"创建失败,请检查权限等"
fi
done
exit
}
#删除组
function DEL_GROUP () {
read -p "请输入要删除的组名,单个或多个,以空格分隔:" GROUPDEL_NAME
while [ -z "${GROUPDEL_NAME}" ]
do
read -p "请输入要删除的组名,以空格分隔:" GROUPDEL_NAME
done
for GROUPDEL_NAME in $GROUPDEL_NAME
do
groupdel $GROUPDEL_NAME
if [ $? -ne 0 ];then
echo "组${GROUPDEL_NAME}删除失败,请检查此组下存在用户"
else
echo "组${GROUPDEL_NAME}删除成功!!!"
fi
done
exit
}
PS3="alter user choose "1",alter group choose "2" :"
select CHOOSE_U_G in user group
do
break
done
#添加删除用户
if [ ${CHOOSE_U_G} == "user" ];then
PS3="添加用户按 "1",删除用户按 "2",修改密码按“3” :"
select USER_A_D in add del alter
do
break
done
case $USER_A_D in
add)
ADDUSER
;;
del)
DELUSER
exit 0
;;
alter)
ALTER_USER_PWD
exit
;;
*)
echo "请选择,添加或删除用户"
esac
elif [ ${CHOOSE_U_G} == "group" ];then
PS3="添加组 "1",删除组 "2" :"
select GROUP_A_D in add del
do
break
done
case $GROUP_A_D in
add)
CREATE_GROUP
;;
del)
DEL_GROUP
;;
*)
echo "请选择,添加或删除组"
esac
fi
脚本功能较多,没有一一验证,欢迎来找茬