Я следовал этому руководству: Как заблокировать доступ в Интернет для винных приложений?
И созданный следующие правила:
sudo addgroup no-internet # Create group "no-internet"
sudo adduser $USER no-internet # Add current user to no-internet
sudo iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
sudo ip6tables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP # To also block IPv6 traffic
Я затем запускаю ВИННОЕ приложение: sg no-internet -c "wine-stable pathToApp"
Но как я делаю это персистентным правилом так, чтобы я не запускал ВИННОЕ приложение через sg no-internet -c "wine-stable pathToApp"
(т.е. даже если я запускаю приложение непосредственно), и также оно будет работать даже после перезагрузки?
Проблемой является основная группа по умолчанию пользователя. Если пользователь был создан и имеет группу пользователей по умолчанию их имени пользователя (который большинство случаев будет этим на установке по умолчанию), то gid-owner
проверка не будет соответствовать, потому что идентификатор Группы владельца процесса не no-internet
, это - группа того пользователя а не идентификатор целевой группы, которому Вы пытаетесь соответствовать.
Примечание: Если Вы вносите это изменение в своего в настоящее время рабочего пользователя, который имеет sudo
Вы, вероятно, повредите вещи, таким образом, я предложу, чтобы Вы создали вторичного проверочного пользователя* и протестировали интернет-правила оттуда
Предположение, что Ваш iptables
правила сохранят, затем внесут это дополнительное изменение:
sudo usermod -g no-internet $USER
Затем протестируйте соединение того пользователя с Интернетом, после того как они зарегистрированы (ping 8.8.8.8
должен сказать "операцию, не разрешенную", curl https://google.com
должен добраться, "Не мог разрешить" ошибку, и т.д.).
* Примечание, которое я использовал deaduser
который я создал со следующей командой и затем вошел в систему как тот пользователь для тестирования интернет-соединения: sudo useradd --create-home --user-group -g no-internet deaduser
, и затем вошел в систему насильственно как тот пользователь с sudo su - deaduser
протестировать конфигурацию правил.
Тесты, которые я сделал, были ping 8.8.8.8
(который получил "операцию, не разрешенную" ответ), и curl google.com
(который добрался, "Не мог разрешить" ошибку).