有时候经常为如何设置一个安全、符合密码复杂度的密码而绞尽脑汁,说实话,这实在是一个体力活而且浪费时间,更重要的是设置密码的时候经常纠结。终于有一天实在忍不住了,于是学习、整理了一下如何使用Linux下命令来随机生成安全、符合密码复杂度的命令。
俗话说“工欲善其事必先利其器”。如果能用挖土机的,你为什么要用锄头? 最近一直在反思自己:习惯性用原始、老旧的方式解决问题。而不擅长利用一些工具快捷、方便的解决问题。
1:mkpaswd命令
mkpasswd 是Linux自带的一个密码生成工具,可以说是非常安全、可靠的(如果你担心一些在线的随机密码生成工具,会收集、记录你生成的密码的话)。个人非常喜欢这个工具的原因就是它可以设置生成密码的复杂度。另外,它不仅可以随机帮你生成密码,还可以直接帮你修改相关账号密码。如果你找不到这个命令,那么可能你没有安装expect包。
方式1: yum安装方式。
yum -y install expect
方式2: rpm安装方式。
[root@DB-Server Server]# ls *expect*expect-5.43.0-5.1.i386.rpm expect-5.43.0-5.1.x86_64.rpm expect-devel-5.43.0-5.1.i386.rpm expect-devel-5.43.0-5.1.x86_64.rpm expectk-5.43.0-5.1.x86_64.rpm pexpect-2.3-3.el5.noarch.rpm[root@DB-Server Server]# rpm -ivh expect-5.43.0-5.1.x86_64.rpmwarning: expect-5.43.0-5.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186Preparing... ########################################### [100%] 1:expect ########################################### [100%]
关于mkpasswd命令的一些参数,如下所示:
参数 功能描述 -l 定义生成密码的长度,默认9 -d 定义密码里面包含数字的最少个数,默认2 -c 定义密码里面包含小写字母的最少个数,默认2 -C 定义密码里面包含大写字母的最少个数,默认2 -s 定义密码密码包含特殊字符的最少个数,默认1 -p 指定另外一个生成密码的程序,默认是/etc/yppasswd
[root@DB-Server Server]# mkpasswd -l 14 -d 2 -C 2 -s 2 -v kerryspawn passwd kerrypasswd: Unknown user name 'kerry'.password for kerry is 1S[(qillErt8xf[root@DB-Server Server]# mkpasswd -l 14 -d 2 -C 2 -s 2 -v testspawn passwd testpasswd: Unknown user name 'test'.password for test is 1ar1t$-qwIHcrb[root@DB-Server Server]# mkpasswd -l 14 -d 2 -C 2 -s 2 -v oraclespawn passwd oracleChanging password for user oracle.New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.password for oracle is 24_vFkxqsol^pR[root@DB-Server Server]# [root@DB-Server Server]# mkpasswd -l 14 -d 2 -C 2 -s 2 oraclei&jijfgB92*fDa[root@DB-Server Server]#
2:apg命令
apg是一款开源免费的密码随机生成器,官方网址为http://www.adel.nursat.kz/apg/
安装方式:
1:Ubuntu下的apt-get方式:
sudo apt-get install apg
新闻热点
疑难解答