Ограничить доступ к некоторым сайтам для разных пользователей

1530
Mustafa Orkun Acar

В системе на основе Debian; как суперпользователь, мне нужно ограничить доступ к некоторым веб-сайтам, но только для конкретного пользователя. Например, abc.com для user1, xyz.com для user2 ...

Я попробовал файл / etc / hosts. Добавление строки как

127.0.0.1 abc.com 

делает то, что я хочу. Но это относится ко всем пользователям, так как существует только один файл hosts. Насколько я узнал, невозможно настроить файл hosts для разных пользователей. Есть ли другие способы сделать это?

4
http://unix.stackexchange.com/questions/10438/can-i-create-a-user-specific-hosts-file-to-complement-etc-hosts Logman 10 лет назад 0
https://wiki.debian.org/DebianEdu/HowTo/SquidGuard Daniel Vérité 10 лет назад 0

2 ответа на вопрос

1
Gheesh

If users are locally logged in, you can use iptables:

iptables -A OUTPUT -o EXTERNAL_IF -m owner --uid-owner USERNAME -d DESTINATION_WEB -j REJECT 

where:

  • EXTERNAL_IF is the name of the Internet-bound interface (e.g. eth0)
  • USERNAME is the login id of the restricted user
  • DESTINATION_WEB is the DNS name or IP address of the destination website. Beware of sites that host many websites (such as blogger) or those that have multiple public IPs (such as Google)
Знаете ли вы, как я могу получить информацию EXTERNAL_IF через терминал с помощью скрипта? Mustafa Orkun Acar 10 лет назад 0
Попробуйте это: `ip r | grep ^ default | sed 's /.* dev \ ([a-z0-9] * \). * / \ 1 /' ` Gheesh 10 лет назад 0
-2
blogger

You can try also starting such tiny script for different users that restarts browser and gives notification to users. It restricts to some websites based on their web-browser title.

Добро пожаловать в суперпользователя - мы ожидаем, что ответы будут автономными, а не просто ссылками - учитывая его собственный блог, можете ли вы отредактировать свой ответ, включив в него основные части своего ответа? Journeyman Geek 10 лет назад 0

Похожие вопросы