В даний час я використовую ip в acl, і для цього я хочу використовувати ім’я користувача та пароль.
Відповіді:
Ось, що мені потрібно було зробити, щоб встановити базову автентифікацію на Ubuntu 14.04 (ніде більше не знайшов керівництва)
/etc/squid3/squid.conf
замість супер-роздутого конфігураційного файлу за замовчуванням
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
# Choose the port you want. Below we set it to default 3128.
http_port 3128
Зверніть увагу на програму basic_ncsa_auth замість старої ncsa_auth
Для squid 2.x вам потрібно відредагувати /etc/squid/squid.conf
файл і розмістити:
auth_param basic program /usr/lib/squid/digest_pw_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
sudo htpasswd -c /etc/squid3/passwords username_you_like
і двічі введіть пароль для вибраного імені користувача
sudo service squid3 restart
sudo htpasswd -c /etc/squid/passwords username_you_like
і двічі введіть пароль для вибраного імені користувача
sudo service squid restart
Для багатьох людей, які мене запитували: два інструменти створюють різні формати файлів:
htdigest
зберігає пароль у простому тексті.htpasswd
зберігає хешований пароль (доступні різні алгоритми хешування)Незважаючи на цю різницю у форматі, basic_ncsa_auth
ви все одно зможете проаналізувати файл паролів, створений за допомогоюhtdigest
. Отже, ви можете альтернативно використовувати:
sudo htdigest -c /etc/squid3/passwords realm_you_like username_you_like
Пам'ятайте, що цей підхід є емпіричним, бездокументарним і може не підтримуватися майбутніми версіями Squid.
На Ubuntu 14.04 htdigest
і htpasswd
обидва доступні в [apache2-utils][1]
пакеті.
Подібне, як і вище, застосовується, але шляхи до файлів різні.
Встановіть кальмари
brew install squid
Запустіть сервіс кальмарів
brew services start squid
Файл конфігурації кальмара зберігається за адресою /usr/local/etc/squid.conf
.
Прокоментуйте або видаліть такий рядок:
http_access allow localnet
Потім подібно до конфігурації Linux (але з оновленими шляхами) додайте це:
auth_param basic program /usr/local/Cellar/squid/4.8/libexec/basic_ncsa_auth /usr/local/etc/squid_passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
Зверніть увагу, що шлях до basic_ncsa_auth
може бути іншим, оскільки це залежить від встановленої версії під час використання brew
, ви можете перевірити це за допомогою ls /usr/local/Cellar/squid/
. Також зауважте, що ви повинні додати вище лише під наступним розділом:
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
Тепер створіть собі user: password basic auth credential (примітка: htpasswd
і htdigest
вони також доступні в MacOS)
htpasswd -c /usr/local/etc/squid_passwords username_you_like
Перезапустіть службу кальмарів
brew services restart squid
htpasswd
будь ласка sudo apt-get install apache2-utils
.