Por que não posso alterar a propriedade na montagem da unidade NTFS?
Eu dou uid=1000,gid=1000,
etc no meu /etc/fstab
arquivo, mas descobri que não está funcionando. Então estou testando na linha de comando:
root@host:~# mount | grep /mnt/tmp1 | wc
0 0 0
root@host:~# mount -o uid=1000 /dev/nvme0n1p4 /mnt/tmp1/
root@host:~# mount | grep /mnt/tmp1
/dev/nvme0n1p4 on /mnt/tmp1 type fuseblk (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)
root@host:~# umount /mnt/tmp1
root@host:~# mount -o user_id=1000 /dev/nvme0n1p4 /mnt/tmp1/
root@host:~# mount | grep /mnt/tmp1
/dev/nvme0n1p4 on /mnt/tmp1 type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 21.10
Release: 21.10
Codename: impish
$ apt-cache policy mount
mount:
Installed: 2.36.1-8ubuntu1
Candidate: 2.36.1-8ubuntu2
Version table:
2.36.1-8ubuntu2 500
500 http://archive.ubuntu.com/ubuntu impish-updates/main amd64 Packages
*** 2.36.1-8ubuntu1 500
500 http://archive.ubuntu.com/ubuntu impish/main amd64 Packages
100 /var/lib/dpkg/status
Estou esquecendo de algo?
Por que não posso alterar a propriedade na montagem da unidade NTFS?
Você está usando o NTFS-3g, um driver de sistema de arquivos NTFS de espaço de usuário .
Entre o kernel e qualquer driver de sistema de arquivos de espaço do usuário, existe uma camada de interface chamada FUSE (abreviação de Filesystem in USErspace).
Observe que o tipo de sistema de arquivos é listado como
fuseblk
, não comontfs
ountfs-3g
. Quando você vêtype fuseblk (some options)
, as opções entre parênteses são opções FUSE , não opções reais do sistema de arquivos. Vejaman 8 fuse
se você quer saber mais detalhes.Especificamente,
user_id=0
significa que "este sistema de arquivos FUSE foi montado pelo root" e nada mais. As opções de montagem reais são entregues ao processo do driver do sistema de arquivos, que pode fazer o que quiser com elas. (O FUSE permite que apenas o usuário que montou o sistema de arquivos o acesse, a menos que a opção FUSEallow_other
seja especificada.)Infelizmente, a camada de interface FUSE não permite mostrar as opções de montagem reais do sistema de arquivos baseado em FUSE na
mount
saída do comando da mesma forma que os sistemas de arquivos clássicos baseados em kernel as mostram.Em vez disso, se você executar
pgrep -a ntfs-3g
, verá osntfs-3g
processos do driver do sistema de arquivos e suas opções de linha de comando, que incluirão as opções de montagem especificadas.Por exemplo, no meu sistema, tenho essas linhas em
/etc/fstab
:E assim, vou ver esses processos: