Файлова система, що зберігається на диску, не зберігає файлові дозволи, але драйвер файлової системи повинен надавати їх операційній системі, оскільки вони є невід'ємною частиною концепції файлової системи Unix, а інтерфейси системного виклику не можуть представити, що дозволи зниклий безвісти.
Також подумайте, що буде, якщо у файлу взагалі не було дозволів? Чи це було б те саме 0777
, тобто доступ до всіх; або те саме 0000
, тобто немає доступу до когось? Але обидва ці є права доступу до файлів, так чому б не показати їх? Або зробіть щось більш корисне і знайдіть спосіб встановити деякі розумні дозволи.
Отже, драйвер підробляє деякі дозволи, однакові для всіх файлів. Дозволи разом із власником файлів та групою можна настроювати під час монтажу. Вони описані у розділі "Параметри кріплення жиру" на ман-сторінці (8) :
Параметри
монтажу жиру (Примітка: жир - це не окрема файлова система, а загальна частина файлових систем msdos, umsdos та vfat.)
uid=value
та gid=value
Встановіть власника та групу всіх файлів. (За замовчуванням: UID та GID поточного процесу.)
umask=value
Встановіть umask (бітова маска дозволів, яких немає). За замовчуванням - umask поточного процесу. Значення наводиться у вісімці.
dmask=value
Встановіть umask, застосований лише до каталогів. За замовчуванням - umask поточного процесу. Значення наводиться у вісімці.
fmask=value
Встановіть umask, застосований лише до звичайних файлів. За замовчуванням - umask поточного процесу. Значення наводиться у вісімці.
Зауважте, що дозволи представлені як маски, тому остаточні дозволи є запереченням маски. fmask=0133
призведе до того, що всі файли мають дозволи 0644
, або rw-r--r--
.
Також за замовчуванням успадковується процес виклику mount()
, тому, якщо ви телефонуєте mount
з командного рядка, застосовуватимуться оболонки umask
.