• shell应用之批量添加用户实例


    这里要实现功能介绍
    *读取一个用户列表文件
    *给列表中的用户添加随机密码需要包含大小写字符和数字
    *保存对应的用户和密码文件
    *这些用户属于同个用户组

    1、列表文件

    [root@mail ~]# cat listuser.txt 
    andy
    tom
    ailis
    wate
    job
    eils
    

    2、这里我们用mkpasswd 命令生成,没有这个命令安装以下
    expect这个包

    [root@mail ~]# mkpasswd -d 3 -l 13 -s 0 -C 2
    Ppkvy0pOwg6m1
    

    3、给用户设定密码或修改密码

    第一种 echo -e "123123
    123123
    " | passwd root  #>echo-e 是接收特殊符号,
    是换换行
    第二种 echo -e "123123" |passwd --stdin root
    

    脚本实例1

    #!/bin/bash 
    if [ $# -eq 0 ] ;then
            echo "input file path"
            exit 1
    fi
    
    if [ ! -f $1 ] ;then
            echo "input file name"
            exit 1
    fi
    
    while read aa ;do
            pd=`mkpasswd -l 12 -s 0`
            useradd $aa
            echo $pd |passwd --stdin $aa
            echo "$aa and $pd" >> user_passwd.txt
    done < $1
    
    [root@mail sbin]# sh mkku.sh /home/rrad/listuser.txt 
    更改用户 andy 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    更改用户 tom 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    更改用户 ailis 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    更改用户 wate 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    更改用户 job 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    更改用户 eils 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    
    [rrad@mail ~]$ cat listuser.txt 
    andy
    tom
    ailis
    wate
    job
    eils
    [rrad@mail ~]$ 
    

    脚本实例2

    [root@mail sbin]# cat user.sh 
    #!/bin/bash
    if ! which mkpasswd &> /dev/null
    then
    	echo "need mkpasswd"
    	yum install -y expect
    fi
    
    for i in `seq -w 1 10`
    do 
    	pd=`mkpasswd -l 12 -C 6 -d 3 -s 0`
    	echo "add_$i"
    	useradd add_$i
    	echo $pd |passwd --stdin add_$i
    	echo "add_$i  :  $pd" >> ./user_passwd
    done
    [root@mail sbin]# cat user_passwd 
    add_01  :  PR5jBW1GdiH4
    add_02  :  uwM2LD4ZQF8l
    add_03  :  k1KTLuKc8G2Q
    add_04  :  B06lMOOikL7N
    add_05  :  1ex68WCNKWJe
    add_06  :  HK8CWV0eA3sy
    add_07  :  MvE23Q9BUeiD
    add_08  :  9vLY6FzLGgZ8
    add_09  :  TCuV13VZEs9l
    add_10  :  6KUVPv5cB8yA
    

    简书链接
    -----END----

  • 相关阅读:
    Windows netstat 查看端口、进程占用
    nginx开启gzip
    linux查看内存
    linux查看进程、端口
    linux查看磁盘信息
    vmware克隆一台机器后修改etho
    java对象访问
    学生基本信息管理
    作业09-异常
    博客作业06--图
  • 原文地址:https://www.cnblogs.com/haozheyu/p/9922059.html
Copyright © 2020-2023  润新知