zoukankan      html  css  js  c++  java
  • Linux系统批量添加用户,从一个文件中读取用户列表

     1 #!/bin/bash
     2 #Function: Add system user from a file list
     3 #Author: Mach
     4 #Email: mach_aly@aliyun.com
     5 #Modify time: 04.10/2017, refactoring
     6 #Modiry time: 04.15/2017, add function Filteruser()
     7 
     8 Adduser(){
     9     if [ ! -f $1 ]; then
    10         echo "Error: $1 file non-existent."
    11         exit 1
    12     fi
    13     Filteruser $1
    14     for NM in $(cat $1)
    15     do
    16         useradd $NM && echo "Add user $NM successful."
    17     done
    18 }
    19 
    20 Filteruser(){
    21     rm exisuserlist.log > /dev/null 2>&1
    22     for NM in $(cat $1)
    23     do
    24         grep -w "^$NM" /etc/passwd > /dev/null 2>&1
    25         if [ "$?" -eq 0 ]; then
    26             echo -e "user '$NM' has existent.\n" | tee -a ./exisuserlist.log
    27         fi
    28     done
    29     if [ -f exisuserlist.log ]; then
    30         echo "Please handle the above user name.(./exisuserlist.log)"
    31         exit 1
    32     fi
    33 }
    34 
    35 Addgroup(){
    36     grep -w "^$2" /etc/group > /dev/null 2>&1
    37     if [ "$?" -ne 0 ]; then
    38         useradd -Ms /bin/fales $2 && echo "Add UNIgroup $2 successful."
    39         echo -e "$(id -gn $2) (unified IDnum group)\n" >> ./newadduserlist.log
    40     fi
    41     for NM in $(cat $1)
    42     do
    43         usermod -G $2 $NM && echo "Add user $NM to group $2 successful."
    44     done
    45 }
    46 
    47 PDandlog(){
    48     for NM in $(cat $1)
    49     do
    50         echo -en "$NM\t\t$(id -Gn $NM)\t\t" >> ./newadduserlist.log
    51         PD=`echo $RANDOM | md5sum | head -c 8`
    52         echo $PD | tee -a ./newadduserlist.log | passwd --stdin $NM
    53         echo -e "\n" >> ./newadduserlist.log
    54     done
    55 }
    56 
    57 if [ "$UID" -ne 0 ]; then
    58     echo "Error: Need root permission!"
    59     exit 1
    60 fi
    61 
    62 case $# in
    63     1)
    64         Adduser $1
    65         PDandlog $1
    66         ;;
    67     2)
    68         Adduser $1
    69         Addgroup $1 $2
    70         PDandlog $1
    71         ;;
    72     *)
    73         echo "Error: Parameters error."
    74         echo "usage: $0 UserListFile [GroupName]"
    75         ;;
    76 esac
  • 相关阅读:
    开发金额处理BigDecimal
    Strtuts2.3.15 bug ,可以远程执行命令
    java 获取properies资源信息
    获取程序运行所在ip
    JVM虚拟机内存和String 类型深入
    数据库表结构上下文
    properties配置文件实现DBManager
    查询功能的包装类
    通过反射生成类的utils
    jdbc反射操作
  • 原文地址:https://www.cnblogs.com/mach/p/6689375.html
Copyright © 2011-2022 走看看