配置Squid的PAM認證

使用PAM模塊作squid的用戶認證主要是為了配置方便,讓ipsec vpn、squid、sshd等服務可以用一個帳號。

首先編譯squid的pam_auth模塊:

cd /usr/src/squid/squid-2.7.STABLE9/helpers/basic_auth/PAM/
make
cp pam_auth /usr/lib/squid/

pam_auth需要以root身份來運行,否則沒有權限來讀取系統的用戶信息,用下面的命令setuid:

chmod a+s /usr/lib/squid/pam_auth

然後,創建一個系統的pam模塊:

vim /etc/pam.d/squid

在該文件中插入以下代碼:

auth required /lib/security/pam_unix.so
account required /lib/security/pam_unix.so

最後,在squid的配置文件中設置一下即可:

auth_param basic program /usr/lib/squid/pam_auth
auth_param basic children 5
auth_param basic realm Hello!# 這裡輸入squid登陸框的歡迎信息
auth_param basic credentialsttl 2 hours # 驗證有效的時間,2小時,可以根據需要設置

acl squid_user proxy_auth REQUIRED
http_access allow squid_user

可以通過以下命令新建一些最小化權限的用戶用於驗證:

useradd -s /bin/false USERNAME
passwd USERNAME

更新1:

Debian從squeeze更新至wheezy後,pam模塊需要更正一下,無需指定pam_unix.so的路徑,更正如下(Ubuntu 12.04也是):

auth required pam_unix.so
account required pam_unix.so

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注