Nautilus não é possível mover arquivos para a lixeira quando a lixeira está em eCryptfs / Os arquivos estão em uma unidade diferente

1

Eu costumava pressionar a tecla Delete nos arquivos selecionados em Nautilus , e então isso iria acabar com o (s) arquivo (s) sem confirmação. Isso foi muito conveniente.

Mais tarde, decidi que minha Lixeira pode conter arquivos confidenciais e, portanto, movi-a para a pasta eCryptfs Private e criei o link simbólico ~/.local/share em seu lugar.

Depois disso, quando eu excluo arquivos que estão dentro de eCryptfs , o comportamento é o esperado, sem problemas. Por outro lado, quando tento excluir arquivos em meu diretório pessoal, mas fora eCryptfs, recebo esta mensagem:

O mesmo comportamento é observado ao excluir itens de uma unidade diferente ...

Existe uma solução alternativa para apenas colocá-la automaticamente na lixeira criptografada, mesmo que ela pertença a outra unidade / montagem não criptografada?

Se isso realmente não pode ser feito, então é dois Trashes possível? Um para arquivos criptografados e outro para arquivos não criptografados?

    
por Majal 27.05.2016 / 13:49

1 resposta

2

Quando você move arquivos para o lixo com o Nautilus ou gvfs-trash eles são nunca movidos para um volume diferente. Eles são “ rename d” para uma entrada de diretório diferente (dentro do diretório de lixeira) no mesmo volume. Observe que a documentação dessa função explica que os arquivos não podem ser “renomeados” em diferentes volumes ou pontos de montagem.

Isso significa que mover um arquivo para a lixeira de um volume criptografado (seja por eCryptFS, dm-crypt / LUKS ou qualquer outra coisa que exija que o kernel monte alguma coisa) resultará na descriptografia never do arquivo. Portanto, não acho benéfico vincular ~/.local/share/Trash a algo abaixo de ~/Private . Você pode testar isso com os seguintes comandos:

cd ~/Private
touch foobar.txt
gvfs-trash foobar.txt
ls -1 ~/.local/share/Trash/files/foobar.txt* ~/Private/.Trash-*/files/foobar.txt*

que deve lhe dar algo como:

ls: cannot access /home/david/.local/share/Trash/files/foobar.txt*: No such file or directory
/home/david/Private/.Trash-1000/files/foobar.txt

Curiosamente, o arquivo não aparece na minha pasta de lixo virtual:

$ gvfs-ls trash:// | grep -cwFe foobar.txt
0

(Enquanto o mesmo funciona quando eu faço gvfs-trash ~/foobar.txt .)

Pelo motivo descrito acima, acho que é impossível, com a implementação atual do gvfs-trash, ter uma lixeira em um volume diferente do volume original do arquivo enviado para a lixeira.

    
por David Foerster 02.06.2016 / 15:12