web-dev-qa-db-ja.com

wineprefixパスへのワインアクセスを制限する

その中のWineを制限する方法はありますかwineprefixそれ以外のファイルを読み取れないようにしますか?

可能であれば、wineを介して実行される可能性のある悪意のあるソフトウェアからシステムを完全に保護するための良い方法はどれですか?

ホームディレクトリがランダムなwindows.exeによって消去されないようにしたいだけです。

3
Fedcomp

あなたの質問を読んで私はあなたの懸念に同意しました、そして私はそれがより簡単でより安全でデフォルトの振る舞いであると思います仮想マシンでWindowsアプリケーションを実行するとき(virtualbox []のように]たとえば)システム(およびネットワーク)から、または共有フォルダーの限られたセットから完全に分離することができます。

反対側別のユーザーとしてワインを実行することは常に可能です、あなたとは異なるグループのMrWineとしましょう。次に、そのユーザーにローカルのワインパスへのアクセスを許可するには、 MrWineのグループのディレクトリとファイル(デフォルトでは、UNIXの世界[ 1 ]のothersのみ)。 自分自身を閉じることはできますが、システムの一部をワインにアクセスできます。マルウェアが予測されたり、効果があったりすることはめったにありませんが、より確実にしたい場合は、仮想マシンなどの別の閉じた環境で再度実行する必要があります。

インターネットで検索すると、この行と一致し、MrWineユーザーのwineディレクトリを使用するという違いはあるものの、段階的な手順を示す興味深いリンク[ 2 ]が見つかりました。手順の下に、テストされていない変更がいくつかあるので、古い元の投稿を直接参照することもできます。


  1. ワインをインストールする
  2. MrWineのアカウントを作成して設定します(コマンドは異なる必要があります)

    Sudo adduser --disabled-login --Shell /sbin/nologin MrWine 
    Sudo usermod --append --groups audio wine
    
  3. Sudoを使用してMrwineアカウントでコマンドを起動することを自分のユーザーアカウントに許可します

    Sudo env VISUAL=/usr/bin/gedit visudo   # maybe Sudo visudo is enough
    FedComp ALL=(MrWine) NOPASSWD: ALL      # Use your linux names here
    
  4. 他のユーザーアカウントによるWineの使用を停止するため、Sudoなしで、自分のユーザーと一緒にワインをエラーで実行することはできません。

    Sudo chown -R MrWine:MrWine ~/.wine  
    Sudo chmod -R o-rwx ~/.wine
    
    # The following lines can be dangerous if there are files 
    # called wine* in /usr/bin  directory that are not of the wine program  
    
    Sudo chown root:wine /usr/bin/wine*
    Sudo chmod o-x /usr/bin/wine*
    
  5. Umaskフォーム022を027に変更することをお勧めします

    umask 027 
    
  6. MrWineのXサーバーへのグラフィカルアクセスを許可するwineのランチャーを作成します(xhost +SI:FedComp:MrWineを使用)。次のようなスクリプトの方が良いです(RunWine.shchmod u+x RunWine.shと呼びましょう)

    #!/bin/bash
    xhost +SI:FedCom:MrWine   # use the couple of your username
                              # and the one you chose for wine
    
    EnvOptions="HOME=/home/MrWine USER=MrWine USERNAME=MrWine LOGNAME=MrWine " 
    Sudo -u MrWine env "$EnvOptions" wine "$@"
    
  7. MrWineとしてプログラムをインストールして実行します

    Sudo chown MrWine:MrWine /home/MrWine/.wine/drive_c/My\ Installer.exe
    ~/RunWine.sh "C:\My Installer.exe"
    ~/RunWine.sh "C:\Program Files\ProgDir\ProgName.exe" 
    

詳細な説明については、元のブログを参照してください[ 2 ]。

3
Hastur