Montar um sistema de arquivos FAT com permissões corretas
Dica publicada em Linux / Sistema de Arquivos
Montar um sistema de arquivos FAT com permissões corretas
Ao montar um sistema de arquivos exFAT, FAT32 ou similar, que possui um sistema de permissões diferente do que é usado em outras sistemas de arquivos mais comuns no mundo Linux (como ext4), é comum obter erros de permissão negada, o que obriga a acessar os arquivos como root.
Isso atrapalha muitas coisas (por exemplo, você não irá conseguir abrir uma foto dentro desse sistema de arquivos no GIMP, a menos que mova o arquivo ou use chmod e chown toda vez que precisar usar um arquivo naquele sistema de arquivos).
A minha dica é aprender a utilizar algumas opções de montagem que configuram as permissões do sistema de arquivos da forma que você quiser e facilita muito quando você tiver que lidar com um sistema de arquivos FAT (olhe esse exemplo de comando mount):
mount -o rw,uid=$(id -u),gid=$(id -g),umask=133,dmask=022 /dev/sdxy
A opção uid irá definir o ID do usuário considerado "dono" dos arquivos. A opção gid irá definir o ID do grupo "dono" dos arquivos. No exemplo acima, uid será sempre igual ao ID do usuário atual, e a opção gid será igual ao ID do grupo atual. As opções umask e dmask configuram as permissões de leitura, escrita e execução, para arquivos e diretórios no sistema de arquivos (respectivamente).
O sintaxe das opções umask e dmask é:
É meio confuso, visto que a opção corresponde a uma "máscara", e os números (0-7) representam o oposto do que eles normalmente representam (no comando chmod), mas isso não é um problema, já que a minha outra dica minha é guardar o comando acima num alias, no seu profile, e nunca mais ter que digitar todas essas opções manualmente.
Isso atrapalha muitas coisas (por exemplo, você não irá conseguir abrir uma foto dentro desse sistema de arquivos no GIMP, a menos que mova o arquivo ou use chmod e chown toda vez que precisar usar um arquivo naquele sistema de arquivos).
A minha dica é aprender a utilizar algumas opções de montagem que configuram as permissões do sistema de arquivos da forma que você quiser e facilita muito quando você tiver que lidar com um sistema de arquivos FAT (olhe esse exemplo de comando mount):
mount -o rw,uid=$(id -u),gid=$(id -g),umask=133,dmask=022 /dev/sdxy
A opção uid irá definir o ID do usuário considerado "dono" dos arquivos. A opção gid irá definir o ID do grupo "dono" dos arquivos. No exemplo acima, uid será sempre igual ao ID do usuário atual, e a opção gid será igual ao ID do grupo atual. As opções umask e dmask configuram as permissões de leitura, escrita e execução, para arquivos e diretórios no sistema de arquivos (respectivamente).
O sintaxe das opções umask e dmask é:
- Primeira casa (esquerda pra direita): Permissões do usuário.
- Segunda casa (esquerda pra direita): Permissões do grupo.
- Terceira casa (esquerda pra direita): Permissões para outros usuários.
- 0 - Leitura, escrita e execução.
- 1 - Leitura e escrita.
- 2 - Leitura e execução.
- 3 - Apenas leitura.
- 4 - Escrita e execução.
- 5 - Apenas escrita.
- 6 - Apenas execução.
- 7 - Nenhuma permissão.
É meio confuso, visto que a opção corresponde a uma "máscara", e os números (0-7) representam o oposto do que eles normalmente representam (no comando chmod), mas isso não é um problema, já que a minha outra dica minha é guardar o comando acima num alias, no seu profile, e nunca mais ter que digitar todas essas opções manualmente.
Boa Cara.
___________________________________________________________