Por padrão, a menos que a partição montada seja uma partição ext2 / 3/4 ou uma partição que possa manipular permissões de estilo UNIX (como partições Mac HFS / HFS +), a unidade é montada como root:root
para usuário / grupo propriedade por padrão. exFAT / FAT / FAT32 / NTFS não suportam permissões de estilo UNIX, portanto você não pode usar esses tipos de permissões.
Assim, você precisa definir permissões na montagem para o que você precisa que elas sejam. Existem muitas opções diferentes que você pode definir, mas nós vamos
Primeiro, precisamos obter algumas informações. Você precisará executar o comando id
no terminal. Isso nos dará algumas informações que precisaremos quando construirmos os pontos de montagem, ou seja, seus uid
e gid
. Abaixo está o exemplo de tal saída do meu próprio laptop, embora o seu provavelmente seja substancialmente diferente:
$ id
uid=1000(teward) gid=1000(teward) groups=1000(teward),4(adm),6(disk),20(dialout),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare),132(sbuild),137(lxd),140(wireshark),998(pgadmin4)
De relevância nesta instância específica são os valores uid
e gid
, que no meu caso são 1000
para ambos. O seu pode ser diferente, mas precisaremos manter esses valores em mãos.
Em seguida, reestruture sua linha /etc/fstab
. Seu sistema fez auto
para detectar o disco externo, o que é bom, mas há um pequeno problema com isso - isso depende do sistema operacional ser capaz de determinar o tipo de sistema de arquivos no disco. Então vamos substituir isso por ntfs
.
Isso faz do seguinte o início da sua /etc/fstab
line:
/dev/sdb4 /mnt/sdb4 ntfs
A parte chave do que você precisa fazer agora é ajustar as opções para montagem. defaults
é um bom ponto de partida, mas não o que você precisa. Idealmente, você deve ter as seguintes opções adicionais em suas opções:
locale=en_US.utf8,windows_names,umask=7000,uid=UID,gid=GID
Você precisa substituir UID
e GID
nas linhas uid=
e gid=
pelos valores numéricos uid
e gid
que obtivemos anteriormente de id
.
Como você pode se perguntar o que essas opções fazem, deixe-me explicar com algumas edições da minha outra resposta:
locale=en_US.utf8
- enforces the US English locale with UTF8windows_names
- enforces that Windows name restrictions are in place for new files in the partition.umask=7007
- Basically, inverse chmod. Define what permissions are not permitted for files. Essentially, I don't prohibit anything read/write/execute here except for 'other users' than yourself, so all files on the mounted location get, effectively, read, write, and execute privileges for your user. I don't want any of the special bits set (setuid, setgid, sticky), so I have to eliminate them from the first octet - since the numeric sum of those is a '7' and i'm prohibiting those permissions, I put a leading 7.uid=1000
,gid=1000
- Have the partition mounted into that folder with user and group ownership of UID (User ID) and GID (Group ID) of1000
(this is my user's user and group,teward
, on the Ubuntu system).
Adicioná-los à linha de opções permitirá que o seu dispositivo externo seja compatível com a inicialização dupla do Windows com a nomenclatura de arquivos e também imponha o UTF8. Ele também definirá as permissões corretamente, para que seu usuário possa apenas ler / gravar na partição. Isso faz com que sua linha /etc/fstab
seja esta:
/dev/sdb4 /mnt/sdb4 auto defaults,x-gvfs-show,locale=en_US.utf8,windows_names,umask=7000,uid=UID,gid=GID 0 0
Não precisamos fazer nada com os dois últimos zeros, tudo bem sair daqui. Apenas certifique-se de atualizar os valores GID
e UID
para os valores reais.
Em seguida, use sudo umount /dev/sdb4 && sudo mount /dev/sdb4
para desmontar e remontar a partição com as novas opções. Você deve ter privilégios de leitura / gravação em todo o disco agora.