设置 NTFS 分区的权限

设置 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分区什么权限?

答案1

我知道这个问题是前一段时间问的,但无论如何我都会尝试为未来的用户回答:

关于文件系统中的掩码:

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 文件部分将如下所示:

#<file system>           <mount point>   <type>  <options>                  <dump>  <pass>
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

安装后,您可以按照自己想要的任何方式使用驱动器。

相关内容