为什么 Ubuntu 拒绝执行来自 NTFS 分区的文件?

为什么 Ubuntu 拒绝执行来自 NTFS 分区的文件?

我使用以下 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 execmount 选项选项users。这是因为users选项隐式激活noexec选项,因此您必须明确指定exec

我从Unix & Linux Stack Exchange 上的“为什么我不能在 Linux 中的另一个分区上运行程序?”

答案2

聊天频道里有几个人正在思考这个问题。其中一人建议你看看乔治·爱迪生对这个问题的回答,看看它是否对你有帮助:
.exe 文件权限失败

请注意,您必须在 NTFS 分区上拥有额外的挂载选项才能直接从这些分区执行二进制文件 - 选项users,以及exec选项。 users允许非超级用户卸载(以及挂载),并exec允许从中运行可执行文件(但是,请记住,这并不能保证一切都正常工作)。

答案3

这就是 udisks 包的“功能”,默认情况下,限制对 ntfs 分区(或其他非 Linux 分区)的权限修改。

要启用此功能,您可能需要阅读,

启用设置 NTFS 分区文件的可执行权限

相关内容