我正在准备一个带有 shred 的设备,以便稍后使用 dm-crypt/cryptsetup/luks 加密。
如何在使用 shred 或 openssl/dd 和 /dev/urandom 之前和之后检查设备以确保执行了什么操作?有可能吗?
答案1
在 POSIX 系统上,磁盘设备是一个文件,因此可以通过任何支持读取文件的工具读取它 - 无论是cat
,dd
还是 LibreOffice Writer(好吧,只是开个玩笑)。
因此,基本上你需要解决两个问题:
- 如何解释将要阅读的内容。
- 确定您观察到的任何情况是否意味着您的测试通过或失败。
由于磁盘驱动器通常包含非人类可读的数据,因此用肉眼查看它的最简单方法是使用类似od
(应该立即可用)或xxd
(更方便一点,但在最小系统上可能不可用)的东西。因此,类似
# od </dev/sda3 | less
应该可以查看磁盘驱动器上有什么。
第二个问题比较棘手,因为它更偏向哲学而非技术(@sebix 试图指出这一点)。问题是不清楚你真正想表达什么。如果你想以某种方式措施openssl
你的和咒语之后的数据的随机性/dev/urandom
,你必须1)想出一种方法来定义一个方法测量随机性;2)执行它。
我怀疑你是不是真的有这个意思,所以我会大胆猜测:你可能只是想看看磁盘驱动器上的数据是否看起来很随机。
如果是,那么最简单的方法是首先dd if=/dev/zero of=/dev/sda3 ...
用零字节填充驱动器,然后使用“随机咒语”重写它,然后使用od
或类似工具来验证驱动器上确实存在随机数据。
如果你真的想措施数据的随机性,那么这里就不适合提问:尝试在 上提问,math.stackexchange.com
并将问题标记为与统计相关。换句话说,读取数据的方法是一个技术问题,而对数据进行统计分析的方法则不是。