在VMS中,可能会告诉文件系统在删除文件时在文件的现有内容上写入垃圾。这是DCL命令来标识用于这种处理的文件:
$ SET FILE/ERASE_ON_DELETE SAMPLE.TXT
这允许在某个时间点设置策略,然后文件的以后用户不必处理该安全细节。标准删除操作会将文件名移出目录,并释放空间供其他文件使用,这也会修改现有内容,以防止下一个用户读取它。正常删除:
$ DELETE SAMPLE.TXT.*
Linux是什么呢?
在VMS中,可能会告诉文件系统在删除文件时在文件的现有内容上写入垃圾。这是DCL命令来标识用于这种处理的文件:
$ SET FILE/ERASE_ON_DELETE SAMPLE.TXT
这允许在某个时间点设置策略,然后文件的以后用户不必处理该安全细节。标准删除操作会将文件名移出目录,并释放空间供其他文件使用,这也会修改现有内容,以防止下一个用户读取它。正常删除:
$ DELETE SAMPLE.TXT.*
Linux是什么呢?
Answers:
仅某些Linux文件系统支持此功能:
chattr +s sample.txt
可能(也可能不会)做您想要的。
来自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.
我不知道哪个特定的主线内核版本(如果有)实现了这一点。
请注意,使用当前技术,有时您将无法控制。使用SSD磁盘,每次写入都可以在不同的位置进行,从而保留旧数据...而这不能被OS,文件系统或软件中的任何内容覆盖。有关更多信息,请访问http://www.anandtech.com/printarticle.aspx?i=3531。
在UNIX系统上,通常可以找到的最接近的等效项是加密。Encfs是在Linux(和大多数其他unices)上设置加密目录的简单方法。快速开始:
mkdir .ciphertext encrypted
encfs .ciphertext encrypted
# work on encrypted/file
fusermount -u encrypted
文件系统加密还有其他几种选择。请参阅如何通过命令行或脚本最佳地加密和解密目录?,进行全盘加密的最佳方法?,以及超级用户,服务器故障和Ask Ubuntu上的其他几个线程。
我不知道什么威胁FILE/ERASE_ON_DELETE
可以防范。请注意,在Unix上,只有系统管理员或对驱动器有物理访问权的人才能看到重写或删除的文件的先前内容:没有“快速文件创建模式”会用随机数据填充文件碰巧在文件使用的磁盘区域中。