Opciones de montaje “dmask” y “fmask”

22

Intenté este comando para montar manualmente:

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

No entiendo qué dmasky fmaskhago aquí. Sé que se usan para configurar permisos, pero cuando verifico los permisos de archivos y carpetas dentro del directorio montado, no son los mismos que configuré usando fmasky dmask.

Entonces, ¿qué están haciendo realmente?

usuario2650973
fuente

Respuestas:

41

fmasky dmaskson mountopciones para el sistema de archivos FAT , basadas en fstab.

Se utilizan para definir permisos (los umaskestablece en archivos y directorios, mientras que fmasksolo se aplica a archivos y dmaskdirectorios).

Las máscaras NO son los permisos del archivo, se usan para obtener los permisos que desea. Además, las máscaras no pueden agregar ningún permiso, solo limitan los permisos que puede tener un archivo o un directorio.


El umaskes el valor predeterminado para los archivos y carpetas, si desea personalizar los archivos y permisos de las carpetas que debe utilizar fmasky dmaskmismo uso como el umask.

Los permisos de máscara no son como los códigos de permisos octales pasados ​​al chmodcomando, sin embargo, esta tabla es realmente útil para comprender cómo funcionan los permisos de máscara:

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

Funciona como los permisos octales normales, pero se resta de 7 y utiliza el valor absoluto. por ejemplo, si desea establecer los permisos 0777, deberá establecerlo 0000en umask(por ejemplo umask=0000), si desea establecerlo, 0755deberá establecerlo en 0022:

  • El primer carácter representa que es un permiso octal
  • El segundo es para el propietario
  • El tercero es el grupo
  • El cuarto es para otro, es decir, cualquier otro usuario.

( Fuente )


man mount da esto:

   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.

También encontrará ejemplos y explicaciones técnicas de Drenriza en los foros de Ubuntu y, por supuesto, Wikipedia ayuda mucho, como de costumbre.

MrVaykadji
fuente
1
¿Intentaste cambiar el primer dígito de 0 a otros? Máscara de bits de 1 = setuid 2 = setgid 4 = adhesivo.
Paul Stelian