完成***之open***安装和配置后升级认证方式


一、服务端配置


1、修改open***的主配置文件,添加如下内容

[root@ttt open***]# cat /etc/open***/server.conf |more

#########auth password########

script-security 3 ###--加入脚本处理,如用密码验证

auth-user-pass-verify /etc/open***/checkpsw.sh via-env ###指定只用的认证脚本

client-cert-not-required #####不请求客户的CA证书,使用User/Pass验证,如果同时启用证书和密码认证,注释掉该行

username-as-common-name ### 使用客户提供的UserName作为Common Name


############################

2、按照配置文件中的脚本路径放置checkpsw.sh

[root@ttt open***]# cat checkpsw.sh 

#!/bin/sh

###########################################################


PASSFILE="/etc/open***/psw-file"

LOG_FILE="/var/log/open***-password.log"

TIME_STAMP=`date "+%Y-%m-%d %T"`


###########################################################


if [ ! -r "${PASSFILE}" ]; then

echo "${TIME_STAMP}: Could not open password file \"${PASSFILE}\" for reading." >> ${LOG_FILE}

exit 1

fi


CORRECT_PASSWORD=`awk '!/^;/&&!/^#/&&$1=="'${username}'"{print $2;exit}' ${PASSFILE}`


if [ "${CORRECT_PASSWORD}" = "" ]; then 

echo "${TIME_STAMP}: User does not exist: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}

exit 1

fi


if [ "${password}" = "${CORRECT_PASSWORD}" ]; then 

echo "${TIME_STAMP}: Successful authentication: username=\"${username}\"." >> ${LOG_FILE}

exit 0

fi


echo "${TIME_STAMP}: Incorrect password: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}

exit 1

3、赋予该脚本执行权限

[root@ttt open***]# chmod +x checkpsw.sh


4、准备用户名和密码认证文件,用户名和密码用空格隔开,同时确保open***启动用户可读取该文件

[root@ttt open***]# cat psw-file 

client01 123456

client02 123456789

为了安全起见,将psw-file的权限尽量改小

[root@ttt open***]# chmod 400 psw-file

[root@ttt open***]# chown nobody.nobody psw-file


5、重启open***的服务进程


二、修改客户端的配置文件,添加下面一行

auth-user-pass


三、开启windows客户端,进行密码认证