Opcje montowania „dmask” i „fmask”

22

Próbowałem ręcznie zainstalować to polecenie:

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

Nie rozumiem co dmaski fmaskrobię tutaj. Wiem, że są one używane do konfigurowania uprawnień, ale kiedy sprawdzam uprawnienia do plików i folderów w zamontowanym katalogu, nie są one takie same, jak ustawiłem za pomocą fmaski dmask.

Co oni właściwie robią?

użytkownik2650973
źródło

Odpowiedzi:

41

fmaski dmaskmountopcjami dla systemu plików FAT , opartymi na fstab.

Służą do definiowania uprawnień ( umaskustawia je zarówno na pliki, jak i katalogi, a fmaskdotyczy tylko plików i dmaskkatalogów).

Maski NIE są uprawnieniami do pliku, służą do uzyskania wymaganych uprawnień. Ponadto maski nie mogą dodawać żadnych uprawnień, ograniczają jedynie uprawnienia, jakie może mieć plik lub katalog.


Jest umaskto ustawienie domyślne dla plików i folderów, jeśli chcesz dostosować uprawnienia do plików i folderów, których powinieneś używać fmaski dmaskużywać tak samo jak umask.

Uprawnienia do maski nie są jak ósemkowe kody uprawnień przekazywane do chmodpolecenia, jednak ta tabela jest naprawdę pomocna w zrozumieniu, w jaki sposób działają uprawnienia do masek:

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

Działa jak normalne uprawnienia ósemkowe, ale odejmuje się od 7 i używa wartości bezwzględnej. na przykład, jeśli chcesz ustawić uprawnienia 0777, musisz ustawić je 0000w umask(np. umask=0000), jeśli chcesz to ustawić 0755, ustawisz na 0022:

  • Pierwszy znak oznacza, że ​​jest to ósemkowe uprawnienia
  • Drugi jest dla właściciela
  • Trzeci to grupa
  • Czwarty jest dla innego, tj. Każdego innego użytkownika

( Źródło )


man mount daje to:

   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.

Znajdziesz także przykłady i wyjaśnienia techniczne od Drenrizy na Ubuntuforums i oczywiście Wikipedia jak zwykle bardzo pomaga.

MrVaykadji
źródło
1
Czy próbowałeś zmienić pierwszą cyfrę z 0 na inne? Maska bitów 1 = setuid 2 = setgid 4 = lepki.
Paul Stelian,