Shell脚本——添加和删除用户

写一个脚本admin_user.sh,其用法格式为:

admin_user.sh --add USERLIST --del USERLIST -v|--verbose -h|--help

其中,

-h|--help 选项,只能单独使用,用于显示帮助信息;

-add 选项,用于添加用户,USERLIST为用户列表,用户之间用逗号隔开;

-del 选项,用于删除用户,USERLIST为用户列表,用户之间用逗号隔开;

使用 -add 或者 --del 选项时,如果同时使用了-v 选项,显示详细的提示;

#!/bin/bash
#
DEBUG=0
ADD=0
DEL=0

for I in `seq 0 $#`;do
 if [ $# -gt 0 ];then
  case $1 in
    -v|--verbose)
      DEBUG=1
      shift
      ;;
    -h|--help)
      echo "Usage: `basename $0` --add USERLIST --del USERLIST -v|--verbose -h|--help"
      exit 0
      ;;
    --add)
      ADD=1
      ADDUSERS=$2
      shift 2
      ;;
    --del)
      DEL=1
      DELUSERS=$2
      shift 2
      ;;
    *)
      echo "Usage: `basename $0` --add USERLIST --del USERLIST -v|--verbose -h|--help"
      exit 7
      ;;
  esac
 fi
done

# 添加用户

if [ $ADD -eq 1 ];then
  for USER in `echo $ADDUSERS | sed ‘s/,/ /g‘`;do
    if id $USER &> /dev/null;then
      [ $DEBUG -eq 1 ] && echo "user $USER exists."
    else
      useradd $USER
      [ $DEBUG -eq 1 ] && echo "Add user $USER successful."
    fi
  done
fi

# 删除用户

if [ $DEL -eq 1 ];then
  for USER in `echo $DELUSERS | sed ‘s/,/ /g‘`;do
    if ! id $USER &> /dev/null;then
      [ $DEBUG -eq 1 ] && echo "user $USER not exists."
    else
      userdel -r $USER
      [ $DEBUG -eq 1 ] && echo "Del user $USER successful."
    fi
  done
fi

原文地址:https://www.cnblogs.com/ElegantSmile/p/11360301.html

时间: 2024-08-22 10:10:06

Shell脚本——添加和删除用户的相关文章

Shell 脚本添加或删除用户及命令使用方法

Shell 要求:写一个脚本 一.添加10个用户user1到user10,密码同用户名,,若用户存在,但要求只有用户不存在的情况下才能添加,格式为/useradd.sh 解答思路:1.使用for 循环语句添加用户 user1 到user 10 2.判断用户是否存在,若存在,则echo 用户已存在 ,若不存在,添加用户 ,并设置密码与用户名相同 . 脚本: vim useradd.sh  并赋予+x权限. #!/bin/bash # for I in{1..10};do      if id us

shell脚本之批量删除用户

1 #!/bin/bash 2 for i in {1..10};do 3 if id user$i &> /dev/null;then 4 userdel -r user$i &>/dev/null 5 echo "user$i is deleted" 6 else 7 echo "This user isn't exist" 8 fi 9 done 原文地址:https://blog.51cto.com/11342825/242496

Ansible 从MySQL数据库添加或删除用户

mysql_user - 从MySQL数据库添加或删除用户. 概要 要求(在执行模块的主机上) 选项 例子 笔记 状态 支持 概要 从MySQL数据库添加或删除用户. 要求(在执行模块的主机上) MySQLdb的 选项 参数 需要 默认 选择 注释 append_privs (1.4 加入) no no yes no 将priv定义的权限附加到此用户的现有权限,而不是覆盖现有的权限. check_implicit_admin (1.3 加入) no no yes yes 检查mysql是否允许以

shell脚本汇总 2 删除创建时间超过32天的文件

shell脚本汇总 2 删除创建时间超过32天的文件 #!/bin/bash #date:2017-04-11 #version:clear_ballcloud_back_v1.0 #contents: removing the  /www/web/ballcloud_bakck/* , if the file is created above 32 day # cd /www/web #sum the size of already delete directory dirsize=`du -

批量添加或删除用户

========================================================================================== #!/bin/bash # if [ ! $# -eq 1 ];then echo './user.sh --add|--del' exit 1 fi case "$1" in --add) for i in {1..10} do if id user$i &>/dev/null ;then

shell脚本添加用户删除用户删除文件的脚本实现

#/bin/bash # DEBUG=0 ADD=0 DEL=0 RM=0 while [ $# -gt 0 ] do case $1 in -v|-verbose) DEBUG=1 shift ;; -h|--help) #帮助文档 echo "`basename $0` --add LIST --del LIST -h|--help --rm LIST" exit 0 ;; --add) #添加用户 ADD=1 ADDUSER=$2 shift 2 ;; --del) #删除用户

bash脚本添加、删除Linux用户

bash脚本:面向过程的编程中 顺序执行:默认法则,逐条执行各语句 选择执行:分支,条件判断,符合条件的分支予以执行: 循环执行:将同一段代码反复执行有限次,所以,循环必须有退出条件,否则将陷入死循环: 程序代码:语句和表达式组成 控制语句: bash循环控制语句: for while until for循环: for var_Name in 列表; do 语句1 语句2 ... done for userName in gentoo mandriva debian; do useradd $u

使用shell脚本添加用户

该文演示如何使用shell脚本完成添加用户,首先进行一个判断,如果用户存在,提示该用户已经存在,否则进行添加新的用户. 示例代码如下: 1 #!/bin/bash 2 3 grep_user() 4 { 5 R=`grep "^$1:" /etc/passwd | wc -l` 6 echo $R 7 } 8 9 echo -n "input username:" 10 11 read USERNAME 12 13 RET=`grep_user $USERNAME`

saltstack批量添加批量删除用户

批量添加用户 [[email protected] init]# cat useradds.sls{% set users = ['name1,name2'] %}{% for user in users %}{{ user }}:user.present:- shell: /bin/bash- home: /home/{{ user }}- password: '$1$sbvWg7.V$r/nWDs7g0YynB1CVsfUPA/'- groups:- {{ user }}- require: