Как пометить «разрешить запуск файла как программы» на внешнем диске

15

Если я попытаюсь установить эту опцию для файла на внешнем диске, он просто отключится. Делать не chmod +xимеет никакого эффекта. Диск монтируется с опциями по умолчанию.

Borsook
источник
4
Какая файловая система на нем?
Никгулецкий

Ответы:

32

Ваш внешний диск, вероятно, отформатирован NTFS или FAT32. Эти файловые системы не поддерживают разрешения для файлов Linux.

Теперь у вас есть как минимум пять вариантов:

  • Просто скопируйте его на рабочий стол (или в свою домашнюю папку) и установите разрешения для этого файла.
  • Сделайте резервную копию данных на нем и переформатируйте диск в ext4файловую систему. Это можно сделать с помощью Дисковой утилиты или GParted.
  • Запустите файл с программой, откройте терминал и запустите:
    • для скриптов Bash: bash /path/to/your/file.sh
    • для скриптов Python: python /path/to/your/file.py
    • для сценариев Perl: perl /path/to/your/file.pl
    • для исполняемых файлов Windows: wine /path/to/your/file.exe
    • для 32-битных двоичных файлов: /lib/ld-linux.so.2 /path/to/your/file
    • для 64-битных двоичных файлов: /lib/ld-linux-x86-64.so.2 /path/to/your/file
  • Скопируйте файл на свой компьютер (например, домашнюю папку), установите на нем бит выполнения и запустите его. (это не может быть сделано для всех файлов)
  • (возможно, опасно) Смонтируйте раздел с битом выполнения, установленным для всех файлов. Для этого следуйте этим инструкциям:

    1. Смонтируйте раздел (например, открыв его в файловом браузере)
    2. Откройте терминал и запустите:

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

      Если вы не можете записать / получить доступ к файлам, запустите команду ,uid=$(id -u)после fmask=022:

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

    «Возможно, опасно», поскольку вы предоставляете права на выполнение всем файлам, используйте эту опцию, только если другие методы не работают.

Lekensteyn
источник
7
+1 для файла `/lib/ld-linux.so.2, который является новым для меня
enzotib
2
wine /path/to/your/fileтакже работает для приложений Windows.
Немо
@ Capt.Nemo Хороший совет, добавил
Лекенштейн
Хороший ответ; @Cap - Хороший комментарий!
Boehj
3

Если файловая система отформатирована как FAT или NTFS, вы всегда можете смонтировать ее с соответствующими разрешениями. Разрешения по умолчанию при монтировании из командной строки включают разрешения на выполнение для всех пользователей.

Для того, чтобы получить больше результатов конкретных см ручных страниц mount.ntfs-3gи mount, последний в разделе опции монтирования для жира , в частности , посмотрите на варианты uid, gid, umask, fmask, dmask,

enzotib
источник
0

В Ubuntu 10.04 не было проблем с настройкой разрешений для запуска программ или чтения / записи на внешних дисках.

Для меня это непреходящая черта, которая делает его лучшей версией для USB.
Все, что было убрано, чтобы остановить это - и это плохая беспроводная связь по умолчанию - это то, что делает 10.10 и более таким беспорядком.

Исправление подобных вещей не должно быть делом пользователя. Если мобильное выполнение является обязательным, используйте 10.04.

247wkman
источник