Le système de fichiers stocké sur le disque ne stocke pas les autorisations de fichiers, mais le pilote de système de fichiers doit les fournir au système d'exploitation, car elles font partie intégrante du concept de système de fichiers Unix et les interfaces d'appel système n'ont aucun moyen de présenter les autorisations. manquant.
Pensez également à ce qui se produirait si un fichier ne contenait aucune autorisation. Serait-ce la même chose 0777
, c'est-à-dire l'accès à tous? ou le même que 0000
, c'est-à-dire pas d'accès à personne? Mais les deux sont des autorisations de fichiers, alors pourquoi ne pas les afficher? Ou faites quelque chose de plus utile et disposez d'un moyen de définir des autorisations raisonnables.
Le pilote simule donc certaines autorisations, les mêmes pour tous les fichiers. Les autorisations avec le propriétaire et le groupe de fichiers sont configurables au moment du montage. Celles-ci sont décrites dans "Options de montage pour la graisse" dans la page de manuel mount (8) :
Options de montage pour fat
(Remarque: fat n'est pas un système de fichiers distinct, mais une partie commune des systèmes de fichiers msdos, umsdos et vfat.)
uid=value
et gid=value
Définissez le propriétaire et le groupe de tous les fichiers. (Par défaut: l'UID et le GID du processus en cours.)
umask=value
Définissez le umask (le masque de bits des autorisations qui ne sont pas présentes). La valeur par défaut est l'umask du processus en cours. La valeur est donnée en octal.
dmask=value
Définissez l'umask appliqué aux répertoires uniquement. La valeur par défaut est l'umask du processus en cours. La valeur est donnée en octal.
fmask=value
Définissez umask appliqué aux fichiers normaux uniquement. La valeur par défaut est l'umask du processus en cours. La valeur est donnée en octal.
Notez que les autorisations sont présentées sous forme de masques. Par conséquent, les autorisations finales correspondent à la négation du masque. fmask=0133
tous les fichiers auraient des autorisations 0644
, ou rw-r--r--
.
De plus, les valeurs par défaut sont héritées de l'appel du processus mount()
. Par conséquent, si vous appelez à mount
partir de la ligne de commande, le shell umask
s'appliquera.