Cenos批量自动添加用户到用户组。根据需求是特定的项目用特定的用户去运行,取消root权限。这样就需要根据项目默认创建一批用户。于是写了个简单的脚本在系统安装完成后自动添加用户
#!/bin/bash
#########################################################################
# File Name: auto_add_del_user_group.sh
# Author: dx
# Created Time: Mon 13 Jul 2020 01:17:12 PM CST
# Description: The test script
# Copyright(C): 2020 All rights reserved
# Version: v1.0.0
#########################################################################
if [ -z $2 ]; then
echo "Usage: --adduser|--deluser|--addgroup|--delgroup user1,user2,user3..."
exit 5
fi
USERLIST=$(echo $2 | sed 's/,/ /g')
#echo "用户列表为: ${USERLIST}"
#adduser
function adduser() {
for i in $USERLIST; do
if id $i; then
echo "$i exists already"
else
read -p "用户名为:${i},是否需要指定家目录:请输入y|n, " HOMEPAGE_FLAG
if [ $HOMEPAGE_FLAG == "n" ]; then
echo "用户名${i}配置用户家目录成功。"
useradd $i
else
useradd -s /sbin/nologin ${i} -M
fi
read -p "您新增的用户为:${i},是否需要指定密码(不指定密码则使用用户名同名密码):请输入y|n, " PASSWD_FLAG
if [ $PASSWD_FLAG == "n" ]; then
echo "默认密码与用户名相同"
PASSWD=$i
else
PASSWD=0
PASSWD1=1
while [ $PASSWD != $PASSWD1 ]; do
read -p "请输入密码: " -s PASSWD
read -p "请确认密码: " -s PASSWD1
if [ $PASSWD != $PASSWD1 ]; then
echo "您输入的密码不一致,请重新输入: "
fi
done
fi
echo "$i" | passwd --stdin $PASSWD
echo "create $i successful!passwd is $PASSWD"
echo `id $i`
#echo "passwd is $PASSWD !"
fi
done
}
function deluser() {
for j in $USERLIST; do
if ! id $j; then
echo "$j not exist"
else
read -p "您是否需要删除用户家目录,请选择y/n" DELUSER_FLAG
if [ $DELUSER_FLAG != "y" ]; then
userdel $j
else
userdel -r $j
fi
echo "delete $j successful!"
fi
done
}
function addgroup() {
for k in $USERLIST; do
if $(id -g $k); then
echo "$i exists already"
else
groupadd $k
echo "create $k successful!"
echo "`id -g $k`"
fi
done
}
function delgroup() {
for l in $USERLIST; do
if ! id $l; then
echo "$l not exist"
else
groupdel $l
echo "delete $l successful!"
fi
done
}
case $1 in
--adduser)
adduser
;;
--deluser)
deluser
;;
--addgroup)
addgroup
;;
--delgroup)
delgroup
;;
*)
echo "Usage: --adduser|--deluser|--addgroup|--delgroup user1,user2,user3..."
exit 5
;;
esac
本文介绍了一个用于Cenos系统的自动化脚本,能够批量添加或删除用户及用户组,适用于特定项目中需要快速配置用户权限的场景。脚本提供了灵活的选项,包括指定家目录、设置密码等。
437

被折叠的 条评论
为什么被折叠?



