basic_getpwnam_auth просто не работает на Squid

Ребята! Это сводит меня с ума, поэтому я должен опубликовать это. Вот в чем дело: я просто пытаюсь настроить базовое http athenication для простого сервера squid. ОС CentOS 6.5, а установочный пакет - от yum:

[root@localhost squid]# cat ./squid.conf
#auth_param basic program /usr/lib64/squid/ttt.sh
auth_param basic program /usr/lib64/squid/basic_getpwnam_auth
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 5 minutes
auth_param basic casesensitive off
authenticate_ttl 2 hour
acl passwd proxy_auth REQUIRED
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
http_access allow passwd
http_access deny all
http_port 3128
coredump_dir /var/spool/squid
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

Когда я пытался войти, это всегда не удалось. Поэтому я сделал этот ttt.sh, чтобы обернуть вспомогательную программу, чтобы увидеть, что именно произошло:

#!/bin/bash    
while read line
do
  echo "$line" | tee -a  /tmp/ttt.stdout | /usr/lib64/squid/basic_getpwnam_auth | tee -a /tmp/ttt.stdout 
done

Учетная запись используется для проверки имени "ttt" с паролем "t", и результат говорит:

#/tmp/ttt.stdout
ttt t
ERR Wrong password

Имя учетной записи и пароль в порядке, когда я тестировал его на cmdline, получилось тоже хорошо.

[root@localhost squid]# echo ttt t | ./ttt.sh
OK 
[root@localhost squid]# cat /tmp/ttt.stdout 
ttt t
OK 

Теперь я полностью потерян. Пожалуйста, кто-нибудь, спаси меня...

0 ответов

Другие вопросы по тегам