有些是转载别人的啊,大家可以互相参考一下。

 

 

Open*** 实现用户名密码验证 module 1
 实现了单用户和CA验证 Open*** 实现用户名密码验证.. 由于CA验证对用户管理非常麻烦(只有安全系数高)用户名密码方式是使用数据库 存放账户的!好现在就来说一下我的整个配置架设Open*** 实现了单用户和CA验证

Open*** 实现用户名密码验证..

由于CA验证对用户管理非常麻烦(只有安全系数高)…用户名&密码方式是使用数据库 存放账户的!好现在就来说一下我的整个配置过程(前提条件是CA验证通过)

1.数据库部分:

1.1:安装mysql(自己google)

1.2:新建***数据库+添加表等

以管理员身份登录数据库:

mysql> create database ***;

创建数据库***。

mysql> GRANT ALL ON ***.* TO ***@localhost IDENTIFIED BY ‘***123′;

授权localhost上的用户***(密码***123)有对数据库***的所有操作权 限。

mysql> flush privileges;

更新sql数据库的权限设置。

mysql> use ***;

使用刚创建的的***数据库。

mysql> CREATE TABLE ***user (

-> name char(20) NOT NULL,

-> password char(128) default NULL,

-> active int(10) NOT NULL DEFAULT 1,

-> PRIMARY KEY (name)

-> );

mysql> insert into ***user (name,password) values(’soai’,password(’soai’));

命令解释:

#创建***用户,对***这个database有所有操作权限,密码为***123

#active不为1,无权使用×××

#增加用户 用户名:elm 密码:elm

2.配置pam_mysql模块

创建/etc/pam.d/open***文件,文件内容如下:

auth sufficient pam_mysql.so user=*** passwd=***123 host=localhost db=*** \

table=***user usercolumn=name passwdcolumn=password \

where=active=1 sqllog=0 crypt=2

account required pam_mysql.so user=*** passwd=***123 host=localhost db=*** \

table=***user usercolumn=name passwdcolumn=password \

where=active=1 sqllog=0 crypt=2

crypt(0) — Used to decide to use MySQL’s PASSWORD() function or crypt()

0 = No encryption. Passwords in database in plaintext. NOT recommended!

1 = Use crypt

2 = Use MySQL PASSWORD() function

3.配置server.conf在原基础上添加一下内容

3.1现在把open***-auth-pam.so拷贝到当前目录下..

cp /usr/lib/open***/open***-auth-pam.so /etc/open***/

3.2在server.conf中添加如下内容:

plugin ./open***-auth-pam.so open***

#client-to-client

#duplicate-cn

client-cert-not-required

username-as-common-name

#client-to-client #如果让Client之间可以相互看见,去掉本行的注释掉,否则Client之间无法相互访问

#duplicate-cn #是否允许一个User同时登录多次,去掉本行注释后可以使用同一个用户名登录多次

plugin ./open***-auth-pam.so open*** #说明使用的插件,open***为插件的参数,使用pam的servicesname

client-cert-not-required #不请求客户的CA证书,使用User/Pass验证

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

4.现在需要把客户端client.o***修改一下:

原来是CA验证..现在不需要了..

把cert **.crt 和 key **.key 注释掉

添加auth-user-pass

OK