Shell创建用户并生成随机密码脚本分享

 更新时间:2014年12月23日 11:22:48   投稿:junjie  
这篇文章主要介绍了Shell创建用户并生成随机密码脚本分享,本文生成的随机密码会比较复杂和实用,需要的朋友可以参考下

创建随机数的方法:

复制代码 代码如下:

1~~~~
/dev/urandom

在Linux中有一个设备/dev/urandom是用来产生随机数序列的。利用该设备我们可以根据在需要生成随机字符串。

比如我们要产生一个8位的字母和数字混合的随机密码,可以这样:

复制代码 代码如下:

[linux@test /tmp]$ cat /dev/urandom | head -1 | md5sum | head -c 8
6baf9282
2~~~~

其实,linux已经提供有个系统环境变量了。
复制代码 代码如下:

[chengmo@centos5  shell]$ echo $RANDOM  
66918  
[chengmo@centos5  shell]$ echo $RANDOM  
10092

可能有疑问了,如果超过5位的随机数怎么得到呢?
十位数的话,用%取10余数
复制代码 代码如下:

echo $((RANDOM%10))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vi  passwd.sh
#创建一个 10 位的随机的密码。。。
#!/bin/bash 
a=(a b c d e A B C D E F @ $ % ^ 0 1 2 3 4 5 6 7 8 9) 
for ((i=0;i<10;i++));do 
         echo -n ${a[$RANDOM % ${#a[@]}]} 
done 
echo 

执行脚本:
复制代码 代码如下:

[root@2 shell]# sh passwd.sh
BF8366c@13
vi   useradd.sh
#创建5个账号,引用了随机的密码。
#!/bin/bash 
i=1
while [ $i -le 5 ] 
do 
    useradd red$i  
a=`sh ./passwd.sh` 
    echo " red$i:$a  " >> sumuserpasswd
    echo "~~~~~~~~~~~" >> sumuserpasswd 
    echo red$i:$a|chpasswd
#   echo $a | passwd –-stdin red"$i"
    let i++ 
done

执行:sh useradd.sh
复制代码 代码如下:

[root@2 shell]# cat /etc/passwd|grep red
red1:x:515:515::/home/red1:/bin/bash
red2:x:516:516::/home/red2:/bin/bash
red3:x:517:517::/home/red3:/bin/bash
red4:x:518:518::/home/red4:/bin/bash
red5:x:519:519::/home/red5:/bin/bash
#查看结果
[root@2 shell]# cat sumuserpasswd 
red1:$Ca7%298d2
~~~~~~~~~~~~~
red2:eEaBBB7Fb4
~~~~~~~~~~~~~
red3:%3E385cecE
~~~~~~~~~~~~~
red4:3@F%@B0584
~~~~~~~~~~~~~
red5:AdEe^6BF$F
#测试一下
[root@2 shell]# su red1
[red1@2 shell]$ su red2
口令:
[red2@2 shell]$

也可以用html的方式来显示我们的结果:

html表格代码

复制代码 代码如下:

<body>
<tableborder='1'>
<tr>
<td>user</td>
<td>passwd</td>
</tr>
<tr>
<td>test1</td>
<td>123123</td>
</tr>
<tr>
<td>test2</td>
<td>aaabbb</td>
</tr>
</table>
</body>

可以把账号和密码以html语法的方式导向到网页里面
复制代码 代码如下:

TEMP=index.html     
echo "<html><body><h3>账号和密码</h3>" > $TEMP   
echo "<tableborder=\"1\">" >> $TEMP   
echo "<tr><td>username</td><td>password</td></tr>>> $TEMP   
echo "<tr><td>$i</td><td>$a</td></tr>" >> $TEMP
echo "</table></body></html>" >>$TEMP
echo "open index.html"

相关文章

  • Linux vim编辑命令模式

    Linux vim编辑命令模式

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。这篇文章给大家介绍了Linux vim编辑命令模式,非常不错,感兴趣的朋友参考下吧
    2016-11-11
  • 在Linux命令行中列出带有ls文件的技巧

    在Linux命令行中列出带有ls文件的技巧

    今天小编就为大家分享一篇关于在Linux命令行中列出带有ls文件的技巧,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 关于使用shell脚本循环处理文本的问题

    关于使用shell脚本循环处理文本的问题

    今天给大家普及关于使用shell脚本循环处理文本的问题,其实操作步骤很简单,本文通过脚本实例给大家讲解,感兴趣的朋友跟随小编一起看看吧
    2021-06-06
  • Linux Shell中判断进程是否存在的代码

    Linux Shell中判断进程是否存在的代码

    有时候我们需要在linux中判断进程是否存在,然后再执行相应的操作,这里简单的分享下,方便需要的朋友
    2013-01-01
  • 利用shell脚本进行批量处理文件后缀名

    利用shell脚本进行批量处理文件后缀名

    这篇文章主要给大家介绍了关于如何使用shell脚本进行批量处理文件后缀名,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-12-12
  • Linux 脚本编写基础知识

    Linux 脚本编写基础知识

    在学习shell 脚本之前,需要你了解很多关于shell的知识,这些知识是编写shell脚本的基础,所以希望你能够熟练的掌握
    2013-05-05
  • 每天一个linux命令 chgrp命令

    每天一个linux命令 chgrp命令

    这篇文章主要为大家详细介绍了一个linux命令:chgrp命令,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 详解shell脚本的编写规范

    详解shell脚本的编写规范

    这篇文章主要介绍了编写shell脚本的规范,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Linux中的bz2压缩格式的实例详解

    Linux中的bz2压缩格式的实例详解

    这篇文章主要介绍了Linux中的bz2压缩格式的实例详解的相关资料,希望通过本文大家能理解掌握这部分内容,需要的朋友可以参考下
    2017-08-08
  • Shell脚本中$符号的嵌套使用方法小结

    Shell脚本中$符号的嵌套使用方法小结

    在编写Shell脚本时,通过嵌套使用$符号,间接获取变量或表达式的值的具体方法,文中根据实例编码详细介绍的十分详尽,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-05-05

最新评论