Como bloquear um arquivo contra exclusão, mas ainda torná-lo gravável?

Como bloquear um arquivo contra exclusão, mas ainda torná-lo gravável?

Quero bloquear um arquivo contra exclusão, mas ainda assim ser gravável. Como eu faço isso?

O arquivo em questão é um volume Truecrypt como um arquivo em um compartilhamento de rede NAS SMB, portanto, não quero excluí-lo acidentalmente.

Responder1

Para Windows:

  1. Negar permissão "Excluir" no arquivo.
  2. Remova ou negue a permissão "Excluir itens filhos" no diretório pai.

Para Unix (incluindo OS X):

  1. Remova a permissão "Gravar" no diretório pai.

Observe que isso apenas impedirá que o arquivo seja removido (excluído), mas não fará nada contra o truncamento acidental ou a substituição por lixo. Se um arquivo for gravável, você poderá escrever qualquer coisa nele, ponto final.

Além disso, as permissões de arquivo são quase impossíveis de traduzir entre sistemas operacionais. Se o NAS executar Linux e você tentar definir permissões no Windows, o resultado final poderá ser diferente do esperado.

Responder2

No Linux você pode criar um link físico para ele. Então você pode escrever nele e "excluí-lo", mas estará apenas removendo a referência em seu diretório. O outro link físico ainda apontará para o conteúdo do arquivo, portanto ele não terá sido excluído de qualquer maneira.

No mundo Unix, você não “deleta” arquivos. Você apenas diminui o número de links físicos para ele. Quando nada mais aponta para isso, o espaço é considerado livre e pode ser utilizado…

Responder3

Cópias de segurança. Você realmente não pode proteger um arquivo gravável dedanomesmo que você possa excluir. Faça backup diariamente.

Responder4

Em um sistema de arquivos cow como o btrfs você pode conseguir isso usando subvolumes + snapshots ou cp com --reflink=always isso efetivamente resultará em quantos arquivos você quiser que consumiriam a mesma quantidade de espaço que um + alguma sobrecarga (mas sem um número absurdo de cópias ou instantâneos, especialmente combinados com tamanhos de arquivo minúsculos, isso não deve ser notado) até que sejam modificados, caso em que apenas as partes que foram alteradas são armazenadas separadamente e o restante ainda é compartilhado. Em seguida, defina as permissões em cada um separadamente (para conseguir o que você deseja, basta fazer regularmente um instantâneo ou copiar com permissões somente leitura (e opcionalmente montá-lo ro ou não, se for um instantâneo e se for um arquivo, use chattr +i (os usuários podem (não escreva ou modifique o arquivo mesmo que tenha permissões de gravação) em uma cópia se você for paranóico).

informação relacionada