Squid 3.1.7通过mysql_auth方式认证

Squid 3.1.7通过mysql_auth方式认证(FreeBSD平台)

一、下载相应软件及补丁

#fetch http://people.arxnet.hu/airween/mysql_auth/mysql_auth-0.8.tar.gz

#fetch http://www.zero-sys.net/portal/download/additionalselect.patch

#tar xvzf mysql_auth-0.8.tar.gz

#cd mysql_auth-0.8

#patch -p1 < ../additionalselect.patch

 patching file src/confparser.c

patching file src/define.h

patching file src/mysql_auth.c

patching file src/mysql_auth.conf

注:这个补丁主要是增加一个可以暂时封停账号的字段isactive,此字段需要自己手动创建,语句

alter table table_name add column isactive enum('0','1') 或者修改mysql_auth-0.8目录下的scripts/create_script文件,如图

二、创建相应数据库及管理数据库的用户与密码

创建对应的数据库即用上图的脚本即可(上面的脚本已被本人修改,自定义了数据库的相关信息,用户可根据需要自行修改,亦可保持默认值不变)。

#mysql -uroot -p < create_script

Enter password:

插入数据类似于:

mysql> insert into data (user, password, isactive) values ('liwentao', '123456',’1’);

Query OK, 1 row affected (0.00 sec)

mysql> insert into data (user, password,isactive) values ('liwentao', password("123456"),’1’);

Query OK, 1 row affected (0.00 sec)

三、修改参数 FreeBSD平台下如下图修改

系统会寻找第一个路径下的mysql/mysql.h,第二个路径下的libmysqlclients.a(路径不对,导致编译出错) 修改完之后, make && make install

四、添加用户 系统自带了一个叫mypasswd的程序,可以帮助用户添加相应的用户名及密码 #mypassword test 111111 Password record ADDED succesfully. 删除用户用-d参数

五、测试用户 利用系统的mysql_auth命令测试用户 #mysql_auth test username password 出现OK即可

六、修改squid 在squid.conf中添加以下几行

最后不要忘了添加http_access allow mysqlauth all

七、让squid配置生效
#squid -k parse
无错误输出,即
# squid -k reconfigure
以上测试在freebsd 8.1平台测试通过
 
原文地址:https://www.cnblogs.com/studio313/p/2742824.html