Cenos批量自动添加用户到用户组。

本文介绍了一个用于Cenos系统的自动化脚本,能够批量添加或删除用户及用户组,适用于特定项目中需要快速配置用户权限的场景。脚本提供了灵活的选项,包括指定家目录、设置密码等。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值