Mysql

Squid3 - 無法使用 Mysql 驗證使用者名/密碼

  • July 24, 2014

我正在使用 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.logsquid的也表示認證成功)

這是我的使用者表

mysql> select User_Name, Password from user;
+-----------+----------+
| User_Name | Password |
+-----------+----------+
| a1        | password |
| a2        | password |
+-----------+----------+

我在這裡做錯了什麼?

嘗試在系統中禁用 SELinux。這將解決問題。

引用自:https://serverfault.com/questions/615046