一、服务端配置
1、修改open***的主配置文件,添加如下内容
[[email protected] 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
[[email protected] open***]# cat checkpsw.sh #!/bin/sh ########################################################### # checkpsw.sh (C) 2004 Mathias Sundman <[email protected]***.se> # # This script will authenticate Open××× users against # a plain text file. The passfile should simply contain # one row per user with the username first followed by # one or more space(s) or tab(s) and then the password.
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、赋予该脚本执行权限
4、准备用户名和密码认证文件,用户名和密码用空格隔开,同时确保open***启动用户可读取该文件
5、重启open***的服务进程
二、修改客户端的配置文件,添加下面一行
三、开启windows客户端,进行密码认证

文献出自:http://www.2cto.com/os/201408/324437.html