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


15

如果我尝试为外部驱动器上的文件设置此选项,则它本身将取消标记。这样做chmod +x没有效果。该驱动器已安装有默认选项。


4
什么是文件系统?
nickguletskii 2011年

Answers:


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)after之后运行命令fmask=022

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

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


7
对我来说是新的`/lib/ld-linux.so.2文件+1
enzotib 2011年

2
wine /path/to/your/file也适用于Windows应用程序。
Nemo

@ Capt.Nemo很好的提示,添加
Lekensteyn 2011年

好的答案;@Cap-好评论!
boehj 2011年

3

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

为了获得更具体的结果,看到的手册页mount.ntfs-3gmount,后者在部分安装选项的脂肪,特别是看看选项uidgidumaskfmaskdmask


0

Ubuntu 10.04在设置运行程序或读取/写入外部驱动器的权限方面没有问题。

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.