在linux中生成随机密码的方法有很多种,如mkpasswd命令使用它之前需要事先安装expect模块,当然还有其它的办法,下面我有介绍,
Linux 生成随机密码/修改密码linux操作系统
。Linux生成随机密码方式:
strings /dev/urandom | grep -o ‘[[:alnum:]]’ | head -n 30 | tr -d ‘n’; echo
Linux修改密码方法:
passwd root
然后输入两次新密码
root 可以替换成需要修改的用户
除了上面的随机密码生成我们还有其它办法
1.用mkpasswd命令:
使用mkpasswd命令,需要事先安装expect模块,以CentOS为例:
yum -y install expect
安装好后,直接运行mkpasswd,就能生成随机密码了。并且命令还有参数,比如设置生成的随机密码的最小长度,等等,看看help就知道了。
2.用passwdgen命令:
和mkpasswd大致一致,需事先安装passwdgen模块:
yum -y install passwdgen
安装好后,直接运行passwdgen,即可得到随机密码,同样passwdgen命令也有参数,可以参考help。
补充一些生成随机密码命令
以下是十种生成随机密码的实例
1.SHA+date+base64,密码长度32
date +%s | sha256sum | base64 | head -c 32 ; echo
2.使用urandom,过滤掉其他符号,只留字母和数字,密码长度32
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;
3.使用openssl的随机函数
openssl rand -base64 32
4.urandom的另一个用法,urandom+tr
tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1
5.使用urandom加字符函数
strings /dev/urandom | grep -o ':alnum:' | head -n 30 | tr -d 'n'; echo
6.urandom最简单的使用
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6
7.urandom的另一个用法,urandom+dd
dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev
8.如果你经常使用单手输入密码,那么可以参考以下方法生成"左手密码"
/dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; echo ""
9.使用randpw加urandom
randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}
10.最后来个最简洁的
date | md5sum