So markieren Sie "Ausführen von Dateien als Programm zulassen" auf einem externen Laufwerk

15

Wenn ich versuche, diese Option für eine Datei auf einem externen Laufwerk festzulegen, hebt sie die Markierung auf. Tun chmod +xhat keine Wirkung. Das Laufwerk wird mit Standardoptionen bereitgestellt.

Borsook
quelle
4
Was ist das Dateisystem darauf?
nickguletskii

Antworten:

32

Ihre externe Festplatte ist wahrscheinlich mit NTFS oder FAT32 formatiert. Diese Dateisysteme unterstützen keine Linux-Dateiberechtigungen.

Sie haben jetzt mindestens fünf Möglichkeiten:

  • Kopieren Sie es einfach auf den Desktop (oder in Ihren Home-Ordner) und legen Sie die Berechtigungen für diese Datei fest.
  • Sichern Sie die Daten darauf und formatieren Sie das Laufwerk im ext4Dateisystem neu. Dies kann mit dem Festplatten-Dienstprogramm oder mit GParted erfolgen
  • Führen Sie die Datei mit einem Programm aus, öffnen Sie ein Terminal und führen Sie Folgendes aus:
    • für Bash-Skripte: bash /path/to/your/file.sh
    • für Python-Skripte: python /path/to/your/file.py
    • für Perl-Skripte: perl /path/to/your/file.pl
    • Für ausführbare Windows-Dateien: wine /path/to/your/file.exe
    • für 32-Bit-Binärdateien: /lib/ld-linux.so.2 /path/to/your/file
    • für 64-Bit-Binärdateien: /lib/ld-linux-x86-64.so.2 /path/to/your/file
  • Kopieren Sie die Datei auf Ihren Computer (z. B. Home-Ordner), setzen Sie das Ausführungsbit darauf und führen Sie es aus. (Dies kann nicht für alle Dateien durchgeführt werden.)
  • (Möglicherweise gefährlich) Hängen Sie die Partition mit dem für alle Dateien gesetzten Ausführungsbit ein. Befolgen Sie dazu die folgenden Anweisungen:

    1. Hängen Sie die Partition ein (indem Sie sie beispielsweise in einem Dateibrowser öffnen).
    2. Öffnen Sie ein Terminal und führen Sie Folgendes aus:

      sudo mount -o remount,fmask=027 /media/YOURDRIVE
      

      Wenn Sie keine Dateien schreiben / darauf zugreifen können, führen Sie den Befehl mit ,uid=$(id -u)after aus fmask=022:

      sudo mount -o remount,fmask=027,id=$(id -u) /media/YOURDRIVE
      

    "Möglicherweise gefährlich", da Sie Ausführungsberechtigungen für alle Dateien erteilen. Verwenden Sie diese Option nur, wenn die anderen Methoden nicht funktionieren.

Lekensteyn
quelle
7
+1 für `/lib/ld-linux.so.2 Datei, die für mich neu ist
enzotib
2
wine /path/to/your/filefunktioniert auch für Windows-Anwendungen.
Nemo
@ Capt.Nemo Guter Tipp, hinzugefügt
Lekensteyn
Gute Antwort; @Cap - Netter Kommentar!
Boehj
3

Wenn das Dateisystem als FAT oder NTFS formatiert ist, können Sie es immer mit den entsprechenden Berechtigungen bereitstellen. Die Standardberechtigungen beim Mounten über die Befehlszeile umfassen Ausführungsberechtigungen für alle Benutzer.

Um spezifischere Ergebnisse finden Sie in die Handbuchseiten zu erhalten mount.ntfs-3gund mount, letztere in den Abschnitt Mount - Optionen für Fette , insbesondere einen Blick auf Optionen uid, gid, umask, fmask, dmask,

Enzotib
quelle
0

Ubuntu 10.04 hatte keine Probleme, Berechtigungen zum Ausführen von Programmen oder Lesen / Schreiben auf externen Laufwerken festzulegen.

Für mich ist dies eine dauerhafte Eigenschaft, die es zur besten Version macht, die jemals auf einem USB-Stick ausgeführt wurde.
Was auch immer weggenommen wurde, um dies zu stoppen - und es ist eine schlechte Standard-WLAN-Konnektivität - macht 10.10 und darüber hinaus zu einem solchen Durcheinander von Frustration.

Das Beheben solcher Probleme sollte nicht Sache des Benutzers sein. Wenn mobile Ausführung ein Muss ist, verwenden Sie 10.04.

247wkman
quelle