Wie kann sichergestellt werden, dass Wine keine EXE-Dateien automatisch ausführt?

7

Ich möchte Wine nur zum Ausführen eines Programms installieren, aber ich möchte keine andere Windows-Datei öffnen (aus Sicherheitsgründen). Kann sichergestellt werden, dass Wine EXE-Dateien nicht automatisch ausführt? Vielen Dank.

Roque
quelle
Warum konzentrieren Sie sich auf ausführbare Windows-Dateien? Jede ausführbare Datei oder jedes ausführbare Shell-Skript kann mit /path/to/executableoder ausgeführt werden ./executable. Ausführbare Linux-Dateien sind nicht magisch sicherer als ausführbare Windows-Dateien, insbesondere wenn letztere unter Wine ausgeführt werden!
David Foerster

Antworten:

3

Wine führt Dateien nicht automatisch aus (schlechte Wortwahl von Ihrer Seite).

Wenn Sie jedoch möchten, dass Exe-Dateien standardmäßig mit etwas anderem geöffnet werden, müssen Sie das zugehörige Programm für Exe-Dateien in etwas anderes als Wine ändern (dies können Sie über das Eigenschaftenfenster in Nautilus tun).

Um Ihr Programm auszuführen, können Sie eine .desktop-Datei erstellen oder einfach "Öffnen mit" aus dem Kontextmenü verwenden.

RolandiXor
quelle
Ich würde es nicht glauben, wenn ich es nicht gesehen hätte, aber wenn ich eine Konsole öffne und "a.exe" kreuzkompiliere, dann führe es aus, wie $ ./a.exe voila, Wein erscheint und führt es für mich aus. Es ist bizarr ...
Rogerdpack
1
Dies liegt daran, dass Wine (durch Binformat-Unterstützung) so eingestellt ist, dass Exes ausgeführt werden, wenn Sie versuchen, sie auszuführen. Ich weiß nicht, ob das deaktiviert werden kann, ohne Wein zu entfernen. Übrigens ist Ihre Frage vage, ob Sie das meinen.
RolandiXor
2
Ok, es sieht so aus, als ob die betreffende binfmt-Unterstützung über deaktiviert werden kann sudo update-binfmts --disable wine(Sie können die Liste über sehen update-binfmts --display). Vielen Dank für den Tipp. Schließlich werden meine Konsolen-Exe nicht automatisch ausgeführt, was beim Cross-Compilieren problematisch sein kann.
Rogerdpack
update-binfmtsbenötigt das binfmt-supportPaket, nicht standardmäßig installiert packages.debian.org/pt-br/sid/binfmt-support
That Brazilian Guy
3

Soweit ich weiß, führt Wine standardmäßig KEINE EXE-Dateien aus, basierend auf meinen bisherigen Erfahrungen mit Wine unter Ubuntu 13.04.

Ich bin mir nicht sicher, ob frühere Ubuntu / Wine-Versionen das automatische Ausführen von ausführbaren Dateien zuließen, aber zumindest können Sie ziemlich sicher sein, dass dies derzeit nicht der Fall ist.

Raghd Hamzeh
quelle
Mit 12.10 ist es sicher ... gibt es eine Möglichkeit, es zu deaktivieren?
Rogerdpack
Mit 13.04 führt er auch (für mich jedenfalls) eine exe-Datei aus, wenn Sie sie im Unity-Datei-Explorer doppelklicken, und wenn Sie sie in der Befehlszeile wie "./a.exe" ausführen, ruft sie automatisch Wein auf, für den sie ausgeführt werden soll Du.
Rogerdpack
3

Wenn Sie das winePaket installieren , registriert es sich selbst, sodass EXE-Dateien, wenn sie über die Befehlszeile ausgeführt werden, "automatisch über Wine ausgeführt" werden, wenn sie einer bestimmten Signatur entsprechen und ein ausführbares Bit gesetzt ist (wie über chmod +x).

Um eine versehentliche direkte Ausführung von exes von der Konsole aus zu verhindern

/path/to/program.exe

Sie können das binfmt_miscKernelmodul mit dem folgenden Befehl einrichten:

sudo update-binfmts --disable wine

Dadurch wird die Unterstützung für die direkte Ausführung von Dateien mit Magie deaktiviert MZ.

CAVEAT : Dies scheint beim Neustart oder beim Wine-Upgrade rückgängig gemacht zu werden.

Wenn Sie es wirklich loswerden möchten ( bis zum Wein-Upgrade !), Führen Sie es aus

 sudo update-binfmts --package wine --remove wine /usr/bin/wine
Ruslan
quelle
Dies sollte die akzeptierte Antwort sein
crobar
1
  1. Wine wird auf den meisten Systemen standardmäßig nicht mit EXE-Dateien verknüpft. Abhängig von Ihrer Installation kann dies "möglich" sein.

    Der EINFACHSTE Weg, dies zu tun, wäre die Installation des Programms Ubuntu Tweak. Dieses kann von hier heruntergeladen werden: Ubuntu Tweak Download-Anweisungen

    Sobald Sie es heruntergeladen haben, öffnen Sie es einfach, wechseln Sie zur Registerkarte " Administratoren" und wählen Sie unter " System" die Option "Dateityp-Manager" . Wählen Sie hier die Dateikategorie Text aus und wählen Sie mit gedrückter Umschalttaste und / oder Strg-Taste alle gewünschten Dateitypen aus. Klicken Sie dann unten rechts auf Bearbeiten .

    Auf diese Weise können Sie den Mimetyp-Öffner für alle Dateien mehrfach einstellen.

    Siehe Bildschirm:

    http://i.stack.imgur.com/BZtGN.jpg

  2. Ich glaube, dass Sie dies zusätzlich zu dem obigen Punkt benötigen: Wie kann verhindert werden, dass Wine Dateizuordnungen hinzufügt?

Ref: Wie kann ich die Dateizuordnung global ändern?

TomKat
quelle
Nett! Ich denke, dass dies für den Datei-Explorer funktioniert, so dass ein Doppelklick auf eine EXE-Datei diese nicht automatisch ausführt, was nett ist, danke!
Rogerdpack
@rogerdpack Wenn es für Sie funktioniert, akzeptieren Sie die Antwort, indem Sie auf das grüne Häkchensymbol klicken, damit diejenigen, die das Q in Zukunft besuchen, wissen, was sie zuerst versuchen sollen. Vielen Dank. :-)
TomKat
Leider bin ich nicht der ursprüngliche Fragesteller der Frage ...
Rogerdpack
0

Wine führt standardmäßig keine EXE-Dateien aus, es sei denn, Sie fügen eine solche Zuordnungsregel hinzu. Wenn Sie dies getan haben, entfernen Sie es aus den Nautilus-Eigenschaften.

joon
quelle
0

Eine Möglichkeit besteht darin, Ihre ausführbare Weindatei umzubenennen, z.

 sudo mv /usr/bin/wine /usr/bin/wine.disabled

oder so ähnlich. Denken Sie daran, das zu entfernen oder umzubenennen, wenn Sie das Weinpaket entfernen :)

Manchmal verwenden Konfigurationsskripte immer noch "wine64", wenn es vorhanden ist (und update-binfmts reicht möglicherweise nicht aus, um es zu umgehen), daher müssen / möchten Sie dies möglicherweise auch umbenennen.

Rogerdpack
quelle
0

Ich habe den besten Weg in der Manpage für binfmt.d gefunden. Um eine Regel zu überschreiben, erstellen Sie in /etc/binfmt.d einen Symlink zu / dev / null mit demselben Namen. Im Falle von Wein befindet sich die Paketdatei unter /usr/lib/binfmt.d/wine.conf und kann mit überschrieben werden

sudo ln -s /dev/null /etc/binfmt.d/wine.conf

Diese Änderung ist dauerhaft und überlebt Neustarts und Weinaktualisierungen.

Tasnad
quelle
Ja, das ist wahrscheinlich richtig, aber ein "Sudo" davor würde immer noch nicht schaden, also verstehe ich den "Mus't" -Teil nicht. Abgesehen davon scheint mein Kommentar verschwunden zu sein, es hieß nur, Sudo hinzuzufügen.
Tasnad
Ich habe es modifiziert ... entspann dich.
ThunderBird