“dmask”和“fmask”挂载选项

“dmask”和“fmask”挂载选项

我尝试使用此命令手动挂载:

sudo mount -t vfat /dev/sdb1 /media/external -o uid=1000,gid=1000,utf8,dmask=027,fmask=137

我不知道这里的dmask和做什么。我知道它们是用来设置权限的,但是当我检查挂载目录中的文件和文件夹的权限时,它们与我使用和fmask设置的权限不一样。fmaskdmask

那么,他们实际上在做什么?

答案1

fmask并且dmaskmount选项FAT 文件系统, 基于fstab

它们用于定义权限umask将它们设置为文件和目录,而fmask仅适用于文件和dmask目录)。

掩码不是文件的权限,它们用于获取您想要的权限。此外,掩码不能添加任何权限,它们仅限制文件或目录可以拥有的权限。


umask是文件和文件夹的默认设置,如果您想自定义文件和文件夹的权限,您应该使用fmaskdmask相同的用法umask

掩码权限与传递给命令的八进制权限代码不同chmod,但是此表对于理解掩码权限的工作原理非常有帮助:

    0   1   2   3   4   5   6   7
r   +   +   +   +   -   -   -   -
w   +   +   -   -   +   +   -   -
x   +   -   +   -   +   -   +   -

它的工作方式与普通八进制权限相同,但从 7 中减去,并使用绝对值。例如,如果您想将权限设置为,0777则需要在(例如)0000中设置它,如果您想将其设置为,您将它设置为:umaskumask=000007550022

  • 第一个字符表示其八进制权限
  • 第二个是给主人的
  • 第三是团体
  • 第四个是其他,即任何其他用户

来源


man mount给出这个:

   umask=value
          Set the umask (the bitmask  of  the  permissions  that  are  not
          present).  The default is the umask of the current process.  The
          value is given in octal.

   dmask=value
          Set the umask applied to directories only.  The default  is  the
          umask of the current process.  The value is given in octal.

   fmask=value
          Set the umask applied to regular files only.  The default is the
          umask of the current process.  The value is given in octal.

您还可以在以下网址找到 Drenriza 的示例和技术解释Ubuntu论坛而且当然维基百科像往常一样,有很大帮助。

相关内容