无法为NTFS分区上的文件设置权限


12

我记得在安装10.10 RC之前,我能够运行放置在NTFS分区上的Linux .exe。但是,如果我现在尝试运行它,因为没有执行权限,所以无法运行它。糟糕的是,我也无法更改权限。我在chmod-ding +x但其权限完全没有变化。

所以这似乎是一个错误?有什么帮助吗?

虽然当我将它放在ext4分区上时,我可以设置权限。但是我想像以前一样从默认的NTFS位置开始执行此操作。

Answers:


12

NTFS不支持执行权限,因为它是为Windows设计的,而Windows不具有与Linux相同的“可执行”文件概念。如果您尝试在Wine中运行Windows .exe文件,则如果您显式运行wine,它仍然可以正常工作,如下所示:

wine /path/to/executable.exe

如果确实需要直接执行文件,则可以使用中的选项设置将应用于所有文件的权限。如果这不是NTFS的默认选项,则可能还需要添加该选项(我现在没有方便检查的驱动器)。值用于告诉驱动程序关闭哪些位,例如,为了允许所有用户进行读取,写入和执行,您应该具有以下内容:fmask/etc/fstabexecfmask

/dev/hda1  /mnt/windows  ntfs-3g  defaults,exec,fmask=000  0  0

如果已经有一个fmask选项,打开执行位的最简单方法是从任何奇数位减去1。

如果您不知道权限屏蔽的工作原理,那么基本思想就是读取,写入和执行权限分别由值4、2和1表示。您可以将它们加在一起以合并权限,例如,读+写为6。权限掩码是三个数字的组合,适用于所有者,组和“其他”(其他任何人)。

请记住,fstab中的fmask(也umaskdmask)是您要关闭的权限。

作为一个稍微有趣的示例,这会将所有者的权限设置为“ rwx”,对组的权限设置为“ rx”,对其他所有人的权限设置为“ r”:

/dev/hda1  /mnt/windows  ntfs-3g  defaults,exec,fmask=023  0  0

谢谢马修... fstab条目是解决我问题的关键...因为我最近安装了ubuntu RC,所以我没有包括用于自动挂载ntfs驱动器的fstab条目。 ..所以exec标志是关键。.我相信通过“双击”在我的计算机视图中的驱动器上进行手动安装时不包含该标志。:)
ashishsony 2010年

这是我要更改第二个驱动器上的内容的权限所要做的。
dkuntz2

“与大多数人相反,NTFS是与POSIX兼容的¹ 文件系统,可以在NTFS上使用权限” askubuntu.com/a/74851/253474 technet.microsoft.com/zh-cn/library/cc976809.aspx
phuclv

0

我在/etc/fstab文件中使用了以下内容:

/dev/sda5    /media/disk    ntfs,   user,noauto,exec    0 2

这样可以防止在启动时挂载该分区,但可以通过以下方式以root身份挂载:

sudo mount /dev/sda5

要么

sudo mount /media/disk 

从命令行。

从“ Places”挂载会出现错误,因此此解决方案并不完美,但我愿意接受。希望这对其他人有用。


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.