您的位置:首页 > 运维架构

用openssl生成加密的密码文件脚本

2017-08-06 11:17 218 查看
#原文来源:Linux Study 用openssl生成加密的密码文件脚本

#!/bin/bash

#Function:将用户输入的明文密码通过openssl工具转换为加密后的密码并保存为密码文件

#Author:zzjiwang

#Version:1.0

#Date:2017-07-28 16:50

genpass() {

local currentDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

local tmp=$(mktemp ${currentDir}/pass.XXXXXX)

for((i=1;i<=2;i++))

do

        echo -n "Enter your password: "

        stty -echo

        read pass1 < /dev/tty

        stty echo

        echo

        echo -n "Retype your password: "

        stty -echo

        read pass2 < /dev/tty

        stty echo 

        echo

        if [ "${pass1}" != "${pass2}" ];then

                echo "Sorry,passwords do not match."

                continue

        else

                break

        fi  

done

if [ "${pass1}" != "${pass2}" ];then

        echo "Failed to generate password file,the two password input is inconsistent,please check."

        [ ! -s ${tmp} ] && rm -f ${tmp}

        return 1

fi

(umask 077 ;echo "${pass1}" | openssl passwd -1 -salt 34lfper0LEo -stdin > ${tmp})

if [ $? -eq 0 ];then

        echo "Generate password file successfuly: ${tmp}" 

        return 0

else

        echo "Generate password file failed, please check." 

        return 1

fi

}

genpass
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐