“dmask” e “fmask” opções de montagem

14

Eu tentei este comando para montar manualmente:

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

Eu não estou recebendo o que dmask e fmask fazem aqui. Eu sei que eles estão acostumados a configurar permissões, mas quando eu verifico permissões de arquivos e pastas dentro do diretório montado, elas não são as mesmas que eu defini usando fmask e dmask .

Então, o que eles estão realmente fazendo?

    
por user2650973 05.03.2014 / 14:42

1 resposta

29

fmask e dmask são mount opções para o Sistema de arquivos FAT , baseado em fstab .

Eles são usados para definir permissões ( umask os define para arquivos e diretórios, enquanto fmask se aplica somente a arquivos e dmask para diretórios).

As máscaras NÃO são as permissões do arquivo, elas são usadas para obter as permissões desejadas. Além disso, as máscaras não podem adicionar permissões, limitam apenas as permissões que um arquivo ou diretório pode ter.

O umask é o padrão para arquivos e pastas. Se você quiser personalizar as permissões de arquivos e pastas, use fmask e dmask mesmo uso como umask .

As permissões de máscara não são como os códigos de permissão octal passados para o comando chmod , no entanto, essa tabela é realmente útil para entender como as permissões de máscaras funcionam:

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

Ele funciona como as permissões octal normais, mas subtraído de 7 e usa o valor absoluto. por exemplo, se você quiser definir as permissões para 0777 , precisará definir 0000 em umask (por exemplo, umask=0000 ). Se você quiser defini-la como 0755 , defina-a como 0022 :

  • O primeiro caractere representa que é uma permissão octal
  • O segundo é para o proprietário
  • O terceiro é o grupo
  • O quarto é para outro, ou seja, qualquer outro usuário

( Fonte )

man mount dá isto:

   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.

Você também encontrará exemplos e explicações técnicas da Drenriza em Ubuntuforums e de Claro Wikipedia ajuda muito, como de costume.

    
por MrVaykadji 05.03.2014 / 15:11