linux下如何用脚本快速添加用户,设置随即密码

如果要批量创建用户,可以使用下面脚本来实现:

1:首先创建一个存放用户密码的文件/user.txt,格式是每一行 用户名:密码

jack:241234

john:209876

cathering:23545

...

2:编写脚本如下:

 

  
  
  
  
  1. #!/bin/bash 
  2.  
  3. #Auth:jarson 
  4.  
  5. #Date:2010-3-18 
  6.  
  7. [ $USER != 'root' ]&&exit 1 
  8.  
  9. for i in `cat /user.txt` 
  10.  
  11. do 
  12.  
  13. USER=`echo $i|cut -f1 -d:` 
  14.  
  15. PASS=`echo $i|cut -f2 -d:` 
  16.  
  17. if id $USER &>/dev/null 
  18.  
  19. then 
  20.  
  21. echo "The user $USER is exist!" 
  22.  
  23. else 
  24.  
  25. useradd $USER 
  26.  
  27. echo $PASS|passwd --stdin $USER 
  28.  
  29. echo "username is $USER, and password is $PASS" 
  30.  
  31. fi 
  32.  
  33. done 
3:用bash adduser.sh执行即可。

 

也可以改良此脚本,比如密码是随机产生,而非使用此文本文件里面的,而且要求密码为6位数字,那么可以这么来做。

 

  
  
  
  
  1. #!/bin/bash 
  2.  
  3. #Auth:jarson 
  4.  
  5. #Date:2010-3-18 
  6.  
  7. [ $USER != 'root' ]&&exit 1 
  8.  
  9. for i in `cat /user.txt` 
  10.  
  11. do 
  12.  
  13. USER=`echo $i|cut -f1 -d:` 
  14.  
  15. PASS=`echo $[$RANDOM*2+100000]` #再次调用了bash里面的random来产生随机数,后面加100000可以保证数字有6位 
  16.  
  17. if id $USER &>/dev/null 
  18.  
  19. then 
  20.  
  21. echo "The user $USER is exist!" 
  22.  
  23. else 
  24.  
  25. useradd $USER 
  26.  
  27. echo $PASS|passwd --stdin $USER 
  28.  
  29. echo "username is $USER, and password is $PASS">>/root/usercreate.log 
  30.  
  31. fi 
  32.  
  33. done 

 

你可能感兴趣的:(linux,shell,脚本,密码,scripts)