我使用以下 fstab 行挂载了一个 NTFS 分区(其中有一些 Linux 二进制文件和脚本以及 Win32 和数据文件):
/dev/sda5 /mnt/dat ntfs-3g rw,dev,exec,auto,async,users,umask=000,uid=1000,gid=1000,locale=en_US.utf8, errors=remount-ro 0 0
似乎所有文件都设置了可执行属性,但如果我尝试实际执行它们,就会出现“权限被拒绝”错误。即使使用 sudo。即使执行(以及读取和写入)权限已授予所有人,并且所有文件所有者都设置为用户。
那么,如何设置系统以便能够从 NTFS 运行 Linux 二进制文件?
答案1
我遇到了完全相同的问题,而我的情况的解决方案是写入 de exec
mount 选项后选项users
。这是因为users
选项隐式激活noexec
选项,因此您必须明确指定exec
。
我从Unix & Linux Stack Exchange 上的“为什么我不能在 Linux 中的另一个分区上运行程序?”。
答案2
聊天频道里有几个人正在思考这个问题。其中一人建议你看看乔治·爱迪生对这个问题的回答,看看它是否对你有帮助:
.exe 文件权限失败
请注意,您必须在 NTFS 分区上拥有额外的挂载选项才能直接从这些分区执行二进制文件 - 选项users
,以及exec
选项。 users
允许非超级用户卸载(以及挂载),并exec
允许从中运行可执行文件(但是,请记住,这并不能保证一切都正常工作)。