Назад | Перейти на главную страницу

Squid ncsa_auth аутентификация и группы пользователей

У меня есть два типа пользователей, получающих доступ к Squid. Я хочу, чтобы первая группа всегда имела доступ к Интернету, вторая должна иметь доступ к Интернету только в определенное время.

У меня есть пользователи в том же файле (созданном с помощью htpasswd).

Как этого добиться?

Заранее спасибо,

Прежде всего вам необходимо настроить аутентификацию

Добавьте следующее в раздел аутентификации вашего squid.conf

auth_param basic program /usr/lib/squid/ncsa_auth /usr/local/etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 8 hours

Вы захотите изменить путь к файлу паролей, чтобы он соответствовал расположению вашего файла паролей. Вы можете изменить credentialsttl если вы хотите, чтобы люди чаще проходили аутентификацию.

В разделе ACL вашего squid.conf добавьте следующее

acl allowed_anytime proxy_auth "/usr/local/etc/squid/allowed_anytime"
acl allowed_by_time proxy_auth "/usr/local/etc/squid/allowed_by_time"

acl allow_hours time SMTWHFA 09:00-17:00

http_access allow  allowed_anytime

http_access allow allowed_by_time allow_hours

http_access deny all

Вы можете создать свой allowed_anytime и allowed_by_time в другом месте, так что измените пути выше.

Файл allowed_anytime должен содержать список пользователей, которые могут пользоваться Интернетом все время, например

user1
user2
user3
...

Файл allowed_by_time должен содержать список пользователей, которые могут использовать Интернет в течение времени, указанного в allow_hours acl например

user4
user5
user6
user7
...