Was ist Linux für SET FILE / ERASE_ON_DELETE?

16

In VMS kann das Dateisystem angewiesen werden, beim Löschen Junk über den vorhandenen Inhalt einer Datei zu schreiben. Hier ist der DCL-Befehl, um die Datei für diese Art der Behandlung zu identifizieren:

 $ SET FILE/ERASE_ON_DELETE SAMPLE.TXT

Auf diese Weise kann die Richtlinie zu einem bestimmten Zeitpunkt festgelegt werden, sodass spätere Benutzer der Datei dieses Sicherheitsdetail nicht mehr verarbeiten müssen. Ein Standardlöschvorgang, bei dem der Dateiname aus dem Verzeichnis entfernt und der Speicherplatz für eine andere Datei freigegeben wird, ändert auch den vorhandenen Inhalt, um zu verhindern, dass der nächste Benutzer ihn liest. Das normale Löschen:

$ DELETE SAMPLE.TXT.*

Was ist Linux dafür?

CW Holeman II
quelle

Antworten:

19

Dies wird nur von einigen Linux-Dateisystemen unterstützt:

chattr +s sample.txt

kann (oder kann nicht) tun, was Sie wollen.

Von 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.

Ich weiß nicht, welche speziellen Mainline-Kernel-Versionen (falls vorhanden) dies implementieren.

Anthon
quelle
2
Wow, du lernst jeden Tag etwas Neues. Implementiert xfs oder zfs dieses Flag?
8

Beachten Sie, dass Sie mit der aktuellen Technologie manchmal keine Kontrolle darüber haben. Bei SSD-Festplatten kann jeder Schreibvorgang an einem anderen Ort ausgeführt werden, wobei alte Daten erhalten bleiben. Dies kann nicht durch Betriebssystem, Dateisystem oder andere Software-Komponenten außer Kraft gesetzt werden. Weitere Informationen finden Sie unter http://www.anandtech.com/printarticle.aspx?i=3531 .

Liori
quelle
7

Das nächste Äquivalent, das Sie normalerweise auf Unix-Systemen finden, ist die Verschlüsselung. Eine einfache Möglichkeit, ein verschlüsseltes Verzeichnis unter Linux (und den meisten anderen Unices) einzurichten, ist Encfs . Schnellstart:

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

Es gibt mehrere andere Optionen für die Dateisystemverschlüsselung. Siehe So ver- und entschlüsseln Sie ein Verzeichnis am besten über die Befehlszeile oder das Skript? , Bester Weg, um die vollständige Festplattenverschlüsselung zu tun? und verschiedene andere Threads zu Super User , Server Fault und Ask Ubuntu .

Ich weiß nicht, FILE/ERASE_ON_DELETEgegen was Bedrohungen schützen. Beachten Sie, dass unter Unix der frühere Inhalt einer neu geschriebenen oder gelöschten Datei immer nur dem Systemadministrator oder einer Person mit physischem Zugriff auf das Laufwerk angezeigt werden kann: Es gibt keinen „schnellen Dateierstellungsmodus“, der eine Datei mit zufälligen Daten auffüllt, die nur so sind zufällig in der von der Datei verwendeten Festplattenregion.

Gilles 'SO - hör auf böse zu sein'
quelle
4

Ich bin mir nicht sicher, ob dies das ist, wonach Sie suchen:

dd if=/dev/urandom of=FILE

Es schreibt zufällige Bytes an FILE.

Alan Haggai Alavi
quelle
Nicht ganz das Gleiche, aber es ist wahrscheinlich so nah, wie Sie es von Standard-Linux erwarten.
Oh ich verstehe. Danke, dass du mich informiert hast, Paul.
Alan Haggai Alavi