System plików przechowywany na dysku nie przechowuje uprawnień do plików, ale sterownik systemu plików musi dostarczyć je do systemu operacyjnego, ponieważ są one integralną częścią koncepcji systemu plików Unix, a interfejsy wywołań systemowych nie mogą w żaden sposób pokazać, że uprawnienia są brakujący.
Zastanów się także, co by się stało, gdyby plik nie miał żadnych bitów uprawnień? Czy byłoby to to samo, co 0777
, tj. Dostęp do wszystkich; lub to samo, co oznacza 0000
brak dostępu do nikogo? Ale oba są uprawnieniami do plików, więc dlaczego ich nie pokazać? Lub zrób coś bardziej użytecznego i ustal sposób na rozsądne uprawnienia.
Tak więc sterownik fałszuje niektóre uprawnienia, takie same dla wszystkich plików. Uprawnienia wraz z właścicielem i grupą plików można konfigurować w czasie montowania. Są one opisane w sekcji „Opcje montowania dla tłuszczu” na stronie podręcznika mount (8) :
Opcje montowania dla fat
(uwaga: fat nie jest oddzielnym systemem plików, ale wspólną częścią systemów plików msdos, umsdos i vfat.)
uid=value
i gid=value
Ustaw właściciela i grupę wszystkich plików. (Domyślnie: UID i GID bieżącego procesu.)
umask=value
Ustaw umask (maskę bitową uprawnień, które nie są obecne). Domyślnie jest to umask bieżącego procesu. Wartość podana jest ósemkowo.
dmask=value
Ustaw umask stosowane tylko do katalogów. Domyślnie jest to umask bieżącego procesu. Wartość podana jest ósemkowo.
fmask=value
Ustaw umask stosowany tylko do zwykłych plików. Domyślnie jest to umask bieżącego procesu. Wartość podana jest ósemkowo.
Pamiętaj, że uprawnienia są prezentowane jako maski, więc ostateczne uprawnienia są negacją maski. fmask=0133
spowoduje, że wszystkie pliki będą miały uprawnienia 0644
, lub rw-r--r--
.
Ponadto wartości domyślne są dziedziczone z wywołania procesu mount()
, więc jeśli zadzwonisz mount
z wiersza poleceń, umask
zastosowane zostaną powłoki .