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

1480
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 9 лет назад 0
https://wiki.debian.org/DebianEdu/HowTo/SquidGuard Daniel Vérité 9 лет назад 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 9 лет назад 0
Попробуйте это: `ip r | grep ^ default | sed 's /.* dev \ ([a-z0-9] * \). * / \ 1 /' ` Gheesh 9 лет назад 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 9 лет назад 0

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