Mysql
Squid3 - 無法使用 Mysql 驗證使用者名/密碼
我正在使用 squid_passwd 文件和 Mysql 測試身份驗證。這是我的配置
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/squid_passwd # auth_param basic program /usr/lib/squid3/basic_db_auth --dsn "DBI:mysql:database=abc" --user "root" --password "aaa" --table "user" --usercol "User_Name" --passwdcol "Password" --cond "" --plaintext auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 1 minute auth_param basic casesensitive off # auth_param basic children 5 # auth_param basic realm Squid proxy-caching web server # acl blocked dstdomain .google.com.vn .google.com.sg acl db_auth proxy_auth REQUIRED # acl restricted_users proxy_auth "/etc/squid3/restrictedusers" # http_access deny restricted_users blocked http_access allow db_auth # And finally deny all other access to this proxy http_access deny all
這是內容
squid_passwd
a2:$apr1$ovwnKYTS$hashedPassword a1:$apr1$ovwnKYTS$hashedPassword
當我使用
squid_passwd
時,它工作正常(我為firefox設置了代理,然後使用使用者名/密碼成功登錄但是,當我使用 Mysql 配置時(使用 Mysql 註釋該行
squid_passwd
並取消註釋該行使用 Mysql),我無法登錄到代理伺服器,即使測試命令有效/usr/lib/squid3/basic_db_auth --dsn "DBI:mysql:database=abc" --user "root" --password "aaa" --table "user" --usercol "User_Name" --passwdcol "Password" --cond "" --plaintext a1 password OK
(和
cache.log
squid的也表示認證成功)這是我的使用者表
mysql> select User_Name, Password from user; +-----------+----------+ | User_Name | Password | +-----------+----------+ | a1 | password | | a2 | password | +-----------+----------+
我在這裡做錯了什麼?
嘗試在系統中禁用 SELinux。這將解決問題。