如何在外部驱动器上标记“允许将文件作为程序执行”

如何在外部驱动器上标记“允许将文件作为程序执行”

如果我尝试为外部驱动器上的文件设置此选项,它只会自行取消标记。这样做chmod +x没有效果。驱动器使用默认选项安装。

答案1

您的外部磁盘可能已格式化为 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)如果您无法写入/访问文件,请使用after运行命令fmask=022

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

    “可能有危险”因为您授予所有文件的执行权限,仅当其他方法不起作用时才使用此选项。

答案2

如果文件系统格式为 FAT 或 NTFS,您始终可以使用适当的权限挂载它。从命令行挂载时的默认权限包括所有用户的执行权限。

mount.ntfs-3g要获得更具体的结果,请参见和的手册页mount,后者位于脂肪装载选项,特别看看选项uid,,,,,​gidumaskfmaskdmask

答案3

Ubuntu 10.04 在设置运行程序或在外部驱动器上读/写的权限时没有任何问题。

对我来说,这是一个持久的特质,使它成为有史以来在 USB 上运行的最佳版本。
无论为了阻止这种情况而取消了什么 - 以及它糟糕的默认无线连接 - 都使 10.10 及更高版本如此令人沮丧。

修复这样的问题应该不是是用户的工作。如果必须进行移动执行,请使用 10.04。

相关内容