Options de montage «dmask» et «fmask»

22

J'ai essayé cette commande pour monter manuellement:

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

Je ne reçois pas quoi dmasket fmaskje fais ici. Je sais qu'ils sont utilisés pour configurer les autorisations, mais lorsque je vérifie les autorisations des fichiers et des dossiers dans le répertoire monté, elles ne sont pas les mêmes que celles que j'ai définies à l'aide de fmasket dmask.

Alors, que font-ils réellement?

user2650973
la source

Réponses:

41

fmasket dmasksont des mountoptions pour le système de fichiers FAT , basées sur fstab.

Ils sont utilisés pour définir les autorisations (les umaskdéfinissent à la fois sur les fichiers et les répertoires, alors qu'ils fmaskne s'appliquent qu'aux fichiers et dmaskaux répertoires).

Les masques ne sont PAS les autorisations du fichier, ils sont utilisés pour obtenir les autorisations souhaitées. De plus, les masques ne peuvent ajouter aucune autorisation, ils limitent uniquement les autorisations qu'un fichier ou un répertoire peut avoir.


Il umasks'agit de la valeur par défaut pour les fichiers et les dossiers, si vous souhaitez personnaliser les autorisations des fichiers et des dossiers, vous devez les utiliser fmasket les dmaskutiliser de la même manière que umask.

Les autorisations de masque ne sont pas comme les codes d'autorisation octaux transmis à la chmodcommande, mais ce tableau est vraiment utile pour comprendre le fonctionnement des autorisations de masques:

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

Il fonctionne comme les autorisations octales normales mais soustrait de 7 et utilise la valeur absolue. Par exemple, si vous souhaitez définir les autorisations, 0777vous devrez le définir 0000dans umask(par exemple umask=0000), si vous souhaitez le définir, 0755vous le définirez sur 0022:

  • Le premier caractère représente que ses autorisations octales
  • Le second est pour le propriétaire
  • Le troisième est le groupe
  • Le quatrième est destiné aux autres, c'est-à-dire à tout autre utilisateur

( Source )


man mount donne ceci:

   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.

Vous trouverez également des exemples et des explications techniques de Drenriza sur Ubuntuforums et bien sûr Wikipedia aide beaucoup, comme d'habitude.

MrVaykadji
la source
1
Avez-vous essayé de changer le premier chiffre de 0 à d'autres? Masque de bits de 1 = setuid 2 = setgid 4 = sticky.
Paul Stelian