Squid 3.1.7通過mysql_auth方式認證(FreeBSD平台)
一、下載下傳相應軟體及更新檔
#fetch http://people.arxnet.hu/airween/mysql_auth/mysql_auth-0.8.tar.gz
#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檔案,如圖
<a href="http://blog.51cto.com/attachment/201101/140129913.png" target="_blank"></a>
二、建立相應資料庫及管理資料庫的使用者與密碼
建立對應的資料庫即用上圖的腳本即可(上面的腳本已被本人修改,自定義了資料庫的相關資訊,使用者可根據需要自行修改,亦可保持預設值不變)。
#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平台下如下圖修改
<a href="http://blog.51cto.com/attachment/201101/140929154.png" target="_blank"></a>
系統會尋找第一個路徑下的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中添加以下幾行
<a href="http://blog.51cto.com/attachment/201101/141831539.png" target="_blank"></a>
最後不要忘了添加http_access allow mysqlauth all
本文轉自dongfang_09859 51CTO部落格,原文連結:http://blog.51cto.com/hellosa/486637,如需轉載請自行聯系原作者