Wine

如何在不授予任何 Internet 訪問權限的情況下執行 Windows 程序?

  • June 27, 2020

所以我在 Linux 上有 CrossOver,但由於這基本上是我也幫助 Wine 人員的項目,並且幾乎所有基礎知識都適用於兩者,所以我在wine下詢問。

是否可以在 Wine 下啟動 Windows 程序,使其完全無法訪問 Internet?

到目前為止,當談到這一點時,我空手而歸。我正在考慮編寫我自己的共享對像以便修補,LD_PRELOAD但這種事情無論如何都是題外話。

從純粹的使用者角度來看,有什麼方法可以實現我想要的嗎?核心名稱空間可以以任何方式用於此目的嗎?

您可以取消共享網路命名空間:

sudo unshare -n -- su your_user -c your_command

我可以想到這種複雜的方式:創建一個單獨的使用者帳戶,例如 wineuser 並在其下執行您的 Windows 應用程序。您可能希望在您的使用者帳戶下執行此命令:(xhost +SI:localuser:wineuser以允許 wine 使用者訪問您的圖形會話)並在 wine 帳戶下導出 DISPLAY 變數,例如export DISPLAY=:0

要限制此使用者訪問 Internet,請執行此命令/添加此 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

引用自:https://unix.stackexchange.com/questions/595422