设置NTFS分区权限

我的电脑上有一个NTFS分区。 它在Linux和Windows双启动系统之间共享数据。

我的/etc/fstab行是:

 #Mount Dati at boot= UUID=01CD9E64E80BD460 /mnt/Dati ntfs nls=iso8859-1,umask=0022,uid=1000,gid=1000,dmask=027,fmask=137 0 0 

有一些问题,因为我无法使任何文件可执行。 我应该改变什么?

另外,有人可以帮我理解umask,dmask和fmask或发布一些指南的链接吗?

总结:我应该给Linux和Windows共享并在samba网络上共享的NTFS分区赋予什么权限?

我知道这个问题是在不久之前被问过的,但无论如何我都会尝试为未来的用户解答:

关于文件系统中的掩码:

在linux文件系统中使用掩码是为特定文件和文件夹控制 – 读取,写入和执行不同用户/组之间的权限。 我强调“控制”这个词,因为面具与给予许可不同。 恰好相反; 他们要控制或限制许可。 因此,如果要将文件的777设置为权限,则必须使用000作为该文件的掩码。 对于许可655,掩码将为122(即:对于许可,xyz掩码将为(777-xyz))。

什么是umask,dmask和fmask?

  • umask =用户掩码(文件夹目录!)
  • dmask =目录唯一掩码
  • fmask =仅文件掩码

如何设置NTFS分区文件的可执行权限?

运行此命令以获取每个NTFS驱动器的UUID(通用唯一标识符):

 $ sudo blkid 

你会得到这样的输出:

 /dev/sda6: LABEL="Software" UUID="FEDC5DB5DC5D6943" TYPE="ntfs" /dev/sda7: LABEL="Works" UUID="585AD06A35149024" TYPE="ntfs" 

现在编辑fstab文件:

 $ sudo vim /etc/fstab 

在fstab文件中使用以下选项添加/编辑每个驱动器指定行(请记住要小心使用其他选项,因为添加任何其他选项可能会导致问题):

 defaults,auto,umask=002 

因此,在编辑/添加nfts驱动器后,您的fstab文件部分将如下所示:

 #      UUID=FEDC5DB5DC5D6943 /media/software ntfs defaults,auto,umask=002 0 0 UUID=585AD06A35149024 /media/works ntfs defaults,auto,umask=002 0 0 

上面的umask将设置权限等于775,即管理员用户(即你)的读写执行和管理员用户组以及其他用户的读写权限。 对于samba共享,您可能需要在选项集中使用gid=YourGroupID,uid=YourUserID 。 您可以使用以下命令找到YourGroupID和YourUserID值:

 $ id YourUserName 

现在卸载已安装的驱动器:

 $ sudo umount -a 

然后通过此命令挂载:

 $ sudo mount -a 

安装后,您可以以任何方式使用驱动器。