Варианты монтирования «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.

Итак, что они на самом деле делают?

Ответы:


41

fmaskи dmaskявляются mountопции для файловой системы FAT , на основе fstab.

Они используются для определения разрешений ( umaskзадает их как для файлов, так и для каталогов, в то время как fmaskприменяется только к файлам и dmaskкаталогам).

Маски НЕ являются разрешениями файла, они используются для получения необходимых разрешений. Кроме того, маски не могут добавлять какие-либо разрешения, они ограничивают только те разрешения, которые могут иметь файл или каталог.


Значение umaskпо умолчанию для файлов и папок, если вы хотите настроить права доступа к файлам и папкам, которые вы должны использовать fmaskи dmaskиспользовать так же, как umask.

Разрешения маски не похожи на восьмеричные коды разрешений, передаваемые chmodкоманде, однако эта таблица действительно помогает понять, как работают разрешения масок:

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

Он работает как обычные восьмеричные разрешения, но вычитается из 7 и использует абсолютное значение. например, если вы хотите установить права доступа, 0777вам нужно будет установить его 0000в umask(например 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.

Вы также найдете примеры и технические объяснения от Дренризы на Ubuntuforums и, конечно, Википедия , как обычно, очень помогает.


1
Вы пытались изменить первую цифру от 0 до других? Битовая маска 1 = setuid 2 = setgid 4 = sticky.
Пол Стелиан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.