Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Here is my Squid configuration file.

I would like to give specific users access to specific web content, But through this configuration file, if I give permission for a specific user to access the tutorial, social networking is blocked but movie is accessible. Even if I grouped allow and deny separately and checked, the same problem continues; I can't grant access to the tutorial but still block access to movies

acl localnet src 10.1.1.0/24
acl special src "/etc/squid/special.txt" # All Access IPs
acl unlimited src "/etc/squid/unlimited.txt"        # Full Download access
acl allow_proxy src "/etc/squid/allow_proxy.txt"    # Allow Proxy sites
acl allow_social src "/etc/squid/allow_social.txt"  # Allow Social networking

acl allow_tutorial src "/etc/squid/allow_tutorial.txt"  # Allow Tutorial
acl allow_movie src "/etc/squid/allow_movie.txt"    # Allow Jobs
acl allow_jobs src "/etc/squid/allow_jobs.txt"      # Allow Movie

#Allow / Block
acl goodkey url_regex "/etc/squid/goodkey.txt"
acl proxy url_regex "/etc/squid/proxy.txt"
acl social url_regex "/etc/squid/social.txt"
acl tutorial url_regex "/etc/squid/tutorial.txt"
acl movie url_regex "/etc/squid/movie.txt"
acl jobs url_regex "/etc/squid/jobs.txt"

#Download Limit
reply_body_max_size 3000 KB localnet !unlimited
request_body_max_size 3000 KB localnet !unlimited

#Allow
http_access allow special
http_access allow goodkey

#Proxy
http_access allow allow_proxy
http_access deny proxy

#Social
http_access allow allow_social
http_access deny social

#Tutorial
http_access allow allow_tutorial
http_access deny tutorial

#Movie
http_access allow allow_movie
http_access deny movie

#Jobs 
http_access allow allow_jobs
http_access deny jobs

#ACL Allow
http_access allow localnet

#And finally deny all other access to this proxy
http_access allow localhost
http_access deny all
share|improve this question
add comment

1 Answer

You must combine your ACLs on a single http_access line like this:

http_access allow allow_tutorial tutorial
http_access deny allow_tutorial

By setting ACLs this way you are telling squid:

  1. If any IP from ACL allow_tutorial tries to visit any URL from ACL tutorial allow it
  2. If any IP from ACL allow_tutorial tries to visit any URL deny it
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.