Voglio fare un file bloccato contro la cancellazione ma essere comunque scrivibile. Come faccio a fare questo?
Il file in questione è un volume Truecrypt come file su una condivisione di rete SMB NAS, quindi non voglio eliminarlo accidentalmente.
Voglio fare un file bloccato contro la cancellazione ma essere comunque scrivibile. Come faccio a fare questo?
Il file in questione è un volume Truecrypt come file su una condivisione di rete SMB NAS, quindi non voglio eliminarlo accidentalmente.
Risposte:
Per Windows:
Per Unix (incluso OS X):
Si noti che ciò impedirà solo che il file venga rimosso (eliminato), ma non farà nulla contro il troncamento accidentale o la sovrascrittura con immondizia. Se un file è scrivibile, puoi scrivere qualsiasi cosa, punto.
Inoltre, le autorizzazioni per i file sono quasi impossibili da tradurre tra i sistemi operativi. Se il NAS esegue Linux e si tenta di impostare le autorizzazioni da Windows, il risultato finale potrebbe essere diverso da quello previsto.
In Linux è possibile creare un collegamento reale ad esso. Quindi puoi scrivergli ed "eliminarlo", ma rimuoverai solo il riferimento nella tua directory. L'altro collegamento diretto punterà comunque al contenuto del file, quindi non sarà comunque eliminato.
Nel mondo Unix, non "elimini" i file. Basta ridurre il numero di collegamenti fisici ad esso. Quando nient'altro lo indica, lo spazio è considerato libero e può essere utilizzato ...
I backup. Non puoi davvero proteggere un file scrivibile da danni anche se puoi dalla cancellazione. Eseguire il backup ogni giorno.
Oltre alle precedenti risposte, prenderei in considerazione la possibilità di dare un'occhiata a selinux. Lì puoi definire limiti piuttosto granulari.
Su un file system di mucca come btrfs è possibile ottenere questo risultato usando sottovolumi + istantanee o cp con --reflink = sempre ciò comporterà effettivamente tutti i file desiderati che consumerebbero la stessa quantità di spazio di uno + alcuni overhead (ma senza un numero folle di copie o istantanee, in particolare combinato con file di dimensioni ridotte, ciò non dovrebbe essere evidente) fino a quando non vengono modificati, nel qual caso solo le parti che sono state modificate vengono memorizzate separatamente e il resto è ancora condiviso. Quindi impostare le autorizzazioni su ciascuna separatamente (per ottenere ciò che si desidera fare semplicemente un'istantanea o copiarla con autorizzazioni di sola lettura (e facoltativamente montarla su ro o non un tutto se è un'istantanea e se è un file usare chattr + i (gli utenti possono scrivere o modificare il file anche se si dispone delle autorizzazioni di scrittura) su una copia se si è paranoici).
In UNIX "standard", sembra impossibile proteggere un singolo file dalla cancellazione se la directory è scrivibile. Intuitivamente, ci si potrebbe aspettare che cancellare la protezione w dai bit della modalità con 'chmod' dovrebbe proteggere dall'eliminazione, ma QUESTO NON È IL CASO. Allo stesso modo, in AFS, non è possibile proteggere singoli file dall'eliminazione, poiché le voci ACL (che mancano o negano la relativa "d" permmissione) si applicano solo alla directory nel suo insieme.