Как запустить программу Windows, не предоставляя ей доступ к Интернету?

В скрипте $#расширяется до количества позиционных параметров. Мы можем использовать это, чтобы проверить, было ли передано правильное количество опций, и сразу выйти, если нет:

#!/bin/sh

if [ "$#" -ne 1 ]; then
    printf 'ERROR! You must provide one and only one argument!\n' >&2
    exit 1
fi

Где можно об этом прочитать:

2.5.1 Параметры позиционирования

Условная конструкция if

2.7.2 Перенаправление вывода

2
27.06.2020, 23:05
2 ответа

Я могу представить себе этот запутанный способ :создания отдельной учетной записи пользователя, например. wineuser и запустите под ним свое Windows-приложение. Возможно, вы захотите запустить эту команду под своей учетной записью пользователя :xhost +SI:localuser:wineuser(, чтобы позволить пользователю вина получить доступ к вашему графическому сеансу )и экспортировать переменную DISPLAY под учетной записью вина, например.export DISPLAY=:0

Чтобы ограничить этому пользователю доступ к Интернету, запустите эту команду/добавьте это правило iptables:

iptables -I OUTPUT -m owner --uid-owner wineuser -j DROP

(Или вы можете использовать REJECT вместо DROP ).


Вы также можете попробовать OpenSnitch:https://itsfoss.com/opensnitch-firewall-linux/или LAF (Брандмауэр приложений Linux):https://github.com/matrix-ac/LAF

5
18.03.2021, 23:23

Вы можете отменить совместное использование сетевого пространства имен:

sudo unshare -n -- su your_user -c your_command
4
18.03.2021, 23:23

Теги

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