Co to jest Linux dla SET FILE / ERASE_ON_DELETE?

16

W VMS można powiedzieć systemowi plików, aby po usunięciu usunął śmieci z istniejącej zawartości pliku. Oto polecenie DCL, aby zidentyfikować plik do tego rodzaju leczenia:

 $ SET FILE/ERASE_ON_DELETE SAMPLE.TXT

Pozwala to na ustawienie zasad w jednym momencie, a później użytkownicy pliku nie muszą zajmować się szczegółami bezpieczeństwa. Standardowe usunięcie, które usuwa nazwę pliku z katalogu i zwalnia miejsce na inny plik do użycia, zmodyfikuje również istniejącą zawartość, aby uniemożliwić odczytanie jej przez następnego użytkownika. Normalne usunięcie:

$ DELETE SAMPLE.TXT.*

Co to jest Linux?

CW Holeman II
źródło

Odpowiedzi:

19

Jest to obsługiwane tylko przez niektóre systemy plików Linux:

chattr +s sample.txt

może (lub nie) robić, co chcesz.

Od man chattr:

NAME
       chattr - change file attributes on a Linux second extended file system
...
       When a file with the ‘s’ attribute set is deleted, its blocks are
       zeroed and written back to the disk.  Note: please make sure to read
       the bugs and limitations section at the end of this document.
...
BUGS AND LIMITATIONS
       The  ‘c’, ’s’, and ‘u’ attributes are not honored by the ext2
       and ext3 filesystems as implemented in the current mainline Linux
       kernels. These attributes may be implemented in future versions of
       the ext2 and ext3 filesystems.

Nie wiem, które konkretne wersje jądra głównego (jeśli takie istnieją) implementują to.

Anthon
źródło
2
Wow, uczysz się czegoś nowego każdego dnia. Czy xfs lub zfs implementują tę flagę?
8

Pamiętaj, że przy obecnej technologii czasami nie masz nad tym kontroli. Dzięki dyskom SSD każdy zapis może odbywać się w innej lokalizacji, zachowując stare dane ... i nie można tego zastąpić systemem operacyjnym, systemem plików ani żadnym innym oprogramowaniem. Więcej na http://www.anandtech.com/printarticle.aspx?i=3531 .

liori
źródło
7

Najbliższym odpowiednikiem, jaki zwykle znajdziesz w systemach uniksowych, jest szyfrowanie. Prostym sposobem na skonfigurowanie zaszyfrowanego katalogu w systemie Linux (i większości innych unikatów) jest Encfs . Szybki start:

mkdir .ciphertext encrypted
encfs .ciphertext encrypted
# work on encrypted/file
fusermount -u encrypted

Istnieje kilka innych opcji szyfrowania systemu plików. Zobacz Jak najlepiej zaszyfrować i odszyfrować katalog za pomocą wiersza polecenia lub skryptu? , Najlepszy sposób na pełne szyfrowanie dysku? oraz kilka innych wątków na temat Super User , Server Fault i Ask Ubuntu .

Nie wiem przed jakimi zagrożeniami FILE/ERASE_ON_DELETE. Należy pamiętać, że w systemie Unix dawną zawartość przepisanego lub usuniętego pliku może kiedykolwiek zobaczyć tylko administrator systemu lub ktoś mający fizyczny dostęp do dysku: nie ma „trybu szybkiego tworzenia pliku”, który zapełniłby plik losowymi danymi, które po prostu akurat znajdował się w regionie dysku używanym przez plik.

Gilles „SO- przestań być zły”
źródło
4

Nie jestem pewien, czy tego właśnie szukasz:

dd if=/dev/urandom of=FILE

Zapisuje losowe bajty FILE.

Alan Haggai Alavi
źródło
Niezupełnie to samo, ale prawdopodobnie jest tak blisko, jak będziesz w standardowym Linuksie.
Rozumiem. Dzięki za poinformowanie mnie, Paul.
Alan Haggai Alavi