我使用以下 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 二进制文件呢?
我遇到了完全相同的问题,我的解决方案是在选项之后编写de mount
exec
选项。那是因为选项隐式激活选项,所以你必须明确指定.users
users
noexec
exec
我从“为什么我不能在 Linux 的另一个分区上运行程序?”得到这个。在 Unix 和 Linux 堆栈交换上。
有几个人在聊天频道里琢磨着这个。有人建议你看看乔治爱迪生对这个问题的回答,看看它是否对你有帮助:
.exe 文件权限失败
请注意,您必须在 NTFS 分区上有额外的挂载选项才能直接从这些分区执行二进制文件 -
users
选项和exec
选项。users
允许非超级用户卸载(以及挂载),并exec
允许从中运行可执行文件(但是请记住,这并不能保证一切正常)。这是 udisks 包的“功能”,默认情况下,限制对 ntfs 分区(或其他非 Linux 分区)的权限修改。
要启用此功能,您可能需要阅读,
启用在 NTFS 分区设置文件的可执行权限