fstab & <delete>???

Iniciado por EJSJr, 05 de Abril de 2018, 02:18

tópico anterior - próximo tópico

EJSJr

Boa noite.
Tomara alguém possa me auxiliar/esclarecer.
Em /etc/fstab, inclui duas linhas para que uma partição NTFS e um drive externo, também NTFS, sejam montados ao iniciar (Ubuntu 16.04 LTS):
# Data is on /dev/sda5
UUID=15BD46FB95017549         /media/Data        ntfs    auto,user,exec,rw,sync    0       0
# WD-MyBook is on /dev/sdd1
UUID=FA246A7D246A3CAF       /media/WD-MyBook   ntfs    auto,user,exec,rw,sync    0       0
A montagem ocorre sem qualquer problema na inicialização, e seus arquivos são lidos e gravados com sucesso. No entanto, todas as vezes que desejo apagar um deles usando o gerenciador "Files 3.14.3" teclando <Delete> nada acontece. Só é possível com <Shift>+<Delete> ou na opção do mouse, mas aí aparece o aviso do apagar definitivamente, que não é o que desejo. Interessante que, usando o gerenciador em qualquer diretório de /home, qualquer arquivo é apagado sem qualquer problema.
Certamente, alguma das opções que inclui em fstab está errada, ou mesmo faltante.
Alguma dica? Alguma sugestão?
Ainda não tenho  muita experiência com Linux, e as inúmeras buscas que fiz foram infrutíferas.
Desde já agradeço.

zekkerj

O ntfs é um tipo de sistema de arquivos estrangeiro, o que significa que ele tem construções e estruturas internas que podem não ter correspondência com o kernel do Linux. Uma dessas construções é a identificação do usuário proprietário dos arquivos, que é feita no Windows de forma diferente da que é feita no Linux.

Ou seja, não é possível mapear o usuário Windows proprietário do arquivo ao usuário Linux que o acessa.

Também não é possível associar o usuário que está apagando o arquivo a uma pasta de lixeira, assim a única forma de apagar arquivos é a definitiva.

Normalmente o que se faz, na montagem de uma partição ntfs é adicionar um parâmetro "umask=xxx", onde o "xxx" é um código octal semelhante ao usado nos comandos "chmod" e "umask" pra ignorar parte ou toda a informação de propriedade dos arquivos.


Enviado do meu smartphone
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EJSJr

Citação de: zekkerj online 05 de Abril de 2018, 08:50
O ntfs é um tipo de sistema de arquivos estrangeiro, o que significa que ele tem construções e estruturas internas que podem não ter correspondência com o kernel do Linux. Uma dessas construções é a identificação do usuário proprietário dos arquivos, que é feita no Windows de forma diferente da que é feita no Linux.

Ou seja, não é possível mapear o usuário Windows proprietário do arquivo ao usuário Linux que o acessa.

Também não é possível associar o usuário que está apagando o arquivo a uma pasta de lixeira, assim a única forma de apagar arquivos é a definitiva.

Normalmente o que se faz, na montagem de uma partição ntfs é adicionar um parâmetro "umask=xxx", onde o "xxx" é um código octal semelhante ao usado nos comandos "chmod" e "umask" pra ignorar parte ou toda a informação de propriedade dos arquivos.


Enviado do meu smartphone

Obrigado por tua resposta.

Na pesquisa que fiz sobre "umask", interpretei que a propriedade dos NOVOS arquivos seguirá as diretivas deste parâmetro, não alterando os arquivos já existentes.

Adotei então, mudar a informação do usuário ao montar a partição em fstab. Assim, nas opções de ambas as partições, alterei para:
# Data is on /dev/sda5
UUID=15BD46FB95017549  /media/Data  ntfs  auto,uid=1000,gid=1000,exec,rw,sync    0       0
# WD-MyBook is on /dev/sdd1
UUID=FA246A7D246A3CAF  /media/WD-MyBook  ntfs  auto,uid=1000,gid=1000,exec,rw,sync    0       0

Ou seja, ao invés de "user", inclui meu id de usuário e grupo. Feito isto, agora consigo apagar os arquivos movendo-os para a lixeira no gerenciador de arquivos do SO.

Interessante notar que a propriedade é identificada de forma diferente, conforme o lugar:
$ ls -la /media/
drwxrwxrwx  1 ejsjr ejsjr  4096 Mar  2 01:38 Data
drwxrwxrwx  1 ejsjr ejsjr 12288 Mar 23 23:24 WD-MyBook

$ ls -l /dev/disk/by-label/
lrwxrwxrwx 1 root root 10 Abr  6 19:11 Data -> ../../sda5
lrwxrwxrwx 1 root root 10 Abr  6 19:11 WD-MyBook -> ../../sdc1

E mais, se, antes de alterar o usuário/grupo nas opções de montagem, a propriedade dos arquivos não era de "ejsjr" e sim de "root", como era possível editar arquivos sendo "ejsjr"? Só não era possível apagar arquivos. Parece que há algum erro  na interpretação das opções em fstab.


zekkerj

A referência ao umask é no sentido de que você vai usar os valores com o mesmo sentido, ou seja, os bits 1 representam permissões que serão mantidas ou respeitadas, e os bits 0 serão permissões que serão retiradas ou ignoradas.

Mas não significa que isso só vai valer pros arquivos novos no disco.


Enviado do meu smartphone
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D