天天看點

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

#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 &lt; create_script

Enter password:

插入資料類似于:

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

Query OK, 1 row affected (0.00 sec)

mysql&gt; 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 &amp;&amp; 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,如需轉載請自行聯系原作者