Em um sistema de arquivos que suporta atributos de arquivos normais do Unix, cada arquivo tem um usuário designado como proprietário. Somente o proprietário de um arquivo pode alterar seus timestamps com utime
. Outros usuários não podem alterar os timestamps, mesmo que tenham permissão de gravação.
Sistemas de arquivos FAT não registram nada como um dono. O driver do sistema de arquivos FAT finge que um usuário em particular é o proprietário de cada arquivo: o usuário que está fazendo a montagem ou o usuário fornecido pelo parâmetro uid
. Usando as regras normais, somente esse usuário pode alterar os timestamps. Os arquivos também têm um grupo proprietário, determinado pelo parâmetro gid
.
O sistema de arquivos FAT não registra as permissões do arquivo Unix, então o driver as cria. Ele atribui permissões com base nos parâmetros umask
, fmask
e dmask
, portanto, todos os diretórios e todos os arquivos regulares têm as mesmas permissões.
Quando outros usuários que não o proprietário tiverem acesso de gravação ao sistema de arquivos, faria sentido que eles tivessem permissão não apenas para modificar arquivos e diretórios regulares, mas também metadados de arquivos. Os principais metadados de interesse em um sistema de arquivos FAT são os registros de data e hora nos arquivos. Normalmente, apenas o usuário proprietário pode modificar registros de data e hora. Ao passar a opção allow_utime
mount, você pode permitir que outros usuários alterem os timestamps também. Por exemplo, para permitir que o grupo foo
modifique qualquer coisa no sistema de arquivos e permita que outras pessoas leiam, mas não escrevam, você passaria os parâmetros
gid=foo,umask=002,allow_utime=20
(este é realmente o valor padrão para allow_utime
baseado no umask).