Jak zaznaczyć „zezwól na uruchamianie pliku jako programu” na dysku zewnętrznym

15

Jeśli spróbuję ustawić tę opcję dla pliku na dysku zewnętrznym, po prostu sama się odznacza. Robienie chmod +xnie ma żadnego efektu. Napęd jest montowany z domyślnymi opcjami.

Barszcz
źródło
4
Co to za system plików?
nickguletskii

Odpowiedzi:

32

Twój dysk zewnętrzny jest prawdopodobnie sformatowany NTFS lub FAT32. Te systemy plików nie obsługują uprawnień do plików systemu Linux.

Masz teraz co najmniej pięć opcji:

  • Po prostu skopiuj go na pulpit (lub do folderu domowego) i ustaw uprawnienia do tego pliku.
  • Wykonaj kopię zapasową danych i ponownie sformatuj dysk do ext4systemu plików. Można to zrobić za pomocą Narzędzia dyskowego lub GParted
  • Uruchom plik za pomocą programu, otwórz terminal i uruchom:
    • dla skryptów Bash: bash /path/to/your/file.sh
    • dla skryptów Python: python /path/to/your/file.py
    • dla skryptów Perla: perl /path/to/your/file.pl
    • dla plików wykonywalnych systemu Windows: wine /path/to/your/file.exe
    • dla 32-bitowych plików binarnych: /lib/ld-linux.so.2 /path/to/your/file
    • dla 64-bitowych plików binarnych: /lib/ld-linux-x86-64.so.2 /path/to/your/file
  • Skopiuj plik na komputer (np. Folder domowy), ustaw na nim bit wykonawczy i uruchom go. (nie można tego zrobić dla wszystkich plików)
  • (potencjalnie niebezpieczne) Zamontuj partycję z ustawionym bitem wykonania dla wszystkich plików. Aby to zrobić, postępuj zgodnie z tymi instrukcjami:

    1. Zamontuj partycję (na przykład otwierając ją w przeglądarce plików)
    2. Otwórz terminal i uruchom:

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

      Jeśli nie możesz zapisywać / uzyskiwać dostępu do plików, uruchom komendę ,uid=$(id -u)po fmask=022:

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

    „Prawdopodobnie niebezpieczne”, ponieważ przyznajesz uprawnienia do wykonywania wszystkim plikom, użyj tej opcji tylko wtedy, gdy inne metody nie działają.

Lekensteyn
źródło
7
+1 dla nowego pliku `/lib/ld-linux.so.2
enzotib
2
wine /path/to/your/filedziała również dla aplikacji Windows.
Nemo,
@ Capt.Nemo Dobra wskazówka, dodano
Lekensteyn,
Niezła odpowiedź; @Cap - Miły komentarz!
boehj
3

Jeśli system plików jest sformatowany jako FAT lub NTFS, zawsze możesz zamontować go z odpowiednimi uprawnieniami. Domyślne uprawnienia podczas montowania z wiersza poleceń obejmują uprawnienia do wykonywania dla wszystkich użytkowników.

W celu uzyskania bardziej szczegółowych wyników, patrz instrukcja stron mount.ntfs-3gi mountten ostatni w sekcji Opcje montowania dla tłuszczu , w szczególności przyjrzeć się opcji uid, gid, umask, fmask, dmask,

enzotib
źródło
0

Ubuntu 10.04 nie miał problemu z ustawieniem uprawnień do uruchamiania programów lub odczytu / zapisu na dyskach zewnętrznych.

Jest to dla mnie trwała cecha, która sprawia, że ​​jest to najlepsza wersja, jaką kiedykolwiek można uruchomić na USB.
Wszystko, co zostało zabrane, aby temu zapobiec - a to słaba domyślna łączność bezprzewodowa - sprawia, że ​​10.10 i więcej to taki bałagan frustracji.

Naprawianie takich rzeczy nie powinno być zadaniem użytkownika. Jeśli wykonanie mobilne jest koniecznością, użyj 10.04.

247wkman
źródło