这两天在看puppet,准备用这个管理我手下系统的用户添加分配与删除工作,不过每次要是都用系统的passwd命令生成用户密码那就有点太麻烦了,在网上找了一下,可以通过perl生成linux系统用户保存在shadow中的密码,分享如下。

perl -e 'print crypt("88991026",q($1$aCwLBNGo)),"\n"'                             \\其中88991026为要给用户设置的密码,$1$aCwLBNGo字符串是自定义字符串,shadow里一般用$1$后面跟8个字符这种格式。

生成的密码串样式如下:

$1$aCwLBNGo$0napSn3Qck9Sj4FqP5RFz0

中间有个$,前面算salt,后面的加密值,合在一起叫hash
crypt 本身默认用des算法
如果salt以$1$开头就使用md5算法

des算法命令如下:

perl -e 'print crypt("88991026","/g"),"\n"'

生成的密码串样式如下:

/gSr78Mzt1eYI