“ dmask”和“ fmask”安装选项


22

我试过手动安装此命令:

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

我没有得到什么dmask,并fmask在这里做。我知道它们用于设置权限,但是当我检查安装目录中文件和文件夹的权限时,它们与我使用fmask和设置的权限不同dmask

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

Answers:


41

fmaskdmaskmount选择的FAT文件系统的基础上fstab

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

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


umask是对文件和文件夹的默认值,如果你想定制文件和文件夹的权限,你应该使用fmaskdmask相同用途的umask

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

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

它用作普通的八进制权限,但从7中减去,并使用绝对值。例如,如果要设置权限,0777则需要0000umask(例如umask=0000)中进行设置,如果要设置为0755,则将其设置为0022

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

来源


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论坛,当然还有维基百科有很大帮助,像往常一样。


1
您是否尝试将第一个数字从0更改为其他数字?1 = setuid 2 = setgid 4 =粘性的位掩码。
Paul Stelian
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.