Ограничить доступ к некоторым сайтам для разных пользователей
В системе на основе Debian; как суперпользователь, мне нужно ограничить доступ к некоторым веб-сайтам, но только для конкретного пользователя. Например, abc.com для user1, xyz.com для user2...
Я пробовал файл /etc/hosts. Добавление строки как
127.0.0.1 abc.com
делает то, что я хочу. Но это относится ко всем пользователям, поскольку существует только один файл hosts. Насколько я знаю, невозможно настроить файл hosts для разных пользователей. Есть ли другие способы сделать это?
2 ответа
Если пользователи вошли локально, вы можете использовать iptables:
iptables -A OUTPUT -o EXTERNAL_IF -m owner --uid-owner USERNAME -d DESTINATION_WEB -j REJECT
где:
- EXTERNAL_IF - это имя интернет-интерфейса (например, eth0)
- USERNAME - это логин ограниченного пользователя.
- DESTINATION_WEB - это DNS-имя или IP-адрес веб-сайта назначения. Остерегайтесь сайтов, на которых размещено много веб-сайтов (например, блоггер) или сайтов, имеющих несколько общедоступных IP-адресов (например, Google).
Вы также можете попробовать запустить такой крошечный скрипт для разных пользователей, который перезапускает браузер и выдает уведомления пользователям. Это ограничивает некоторые веб-сайты на основе их названия веб-браузера.