我有远程 ssh 访问权限和 root 访问权限。我没有物理访问权限。我不需要涉及启动任何东西的解决方案,我想从当前正在运行的程序中执行此操作。
操作系统是 SL6。有没有办法将所有需要的内容加载到 RAM 中,然后使用 dd 或类似程序安全地擦除整个磁盘?显然,这最终会导致盒子无法正常工作,这是我想要的结果。
这似乎是可能的。
另外还有两个有趣的补充:
能够 ssh 进入,运行 screen,运行 dd 命令并分离。完成后一周后登录。:)
不知怎么的有进度条?
更新:我现在要使用 chroot 选项。目前正在做:
mkdir /dev/shm/ramdisk/ && cd ramdisk && mkdir bin lib64 && cd /lib64 && cp ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libtinfo.so.5 /dev/shm/ramdisk/lib64 && cd /bin && cp bash dd /dev/shm/ramdisk/bin && cd /dev/shm/ramdisk && chroot .
可以!但是我仍然需要 /dev/zero 和 /dev/sda。有什么想法吗?
更新2012-07-20:
mkdir /dev/shm/ramdisk/ && cd /dev/shm/ramdisk && mkdir bin lib64 && cd /lib64 && cp ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libtinfo.so.5 /dev/shm/ramdisk/lib64 && cd /bin && cp bash dd /dev/shm/ramdisk/bin && mkdir /dev/shm/ramdisk/dev && cd /dev/shm/ramdisk/dev && cp -a /dev/zero . && cp -a /dev/sda . && cd .. && chroot . dd if=/dev/zero of=/dev/sda bs=1M
这似乎正在做一些事情,但如果可能的话,我希望有某种进度指示器,以及一种分离然后稍后建立新的 ssh 连接的方法。
答案1
在 ramdisk 中创建一个映像,其中包含摧毁系统所需的任何工具,然后pivot_root
进入其中,运行该工具,就可以了。出去一个完整的系统并不是一件小事,但只要你知道自己在做什么,就可以做到。
答案2
我已经做过几次了
dd if=/dev/zero of=/dev/sda
无需额外准备。它起作用了。dd 完成 [响应 ping、转发数据包] 后,系统运行良好好几天。
答案3
建议:使用 wipe 而不是 dd - 它支持多遍安全擦除。
另一个建议:停止尽可能多的服务并删除尽可能多的软件包。删除不需要的所有数据以及所有旧日志文件和数据。用单个文件填充尽可能多的剩余空间,然后对该文件运行擦除。不要删除该文件。这将在系统无法使用之前擦除大部分磁盘。
然后,chroot ramdisk 的想法将是必要的,以帮助您避免回到盒子中的任何麻烦,但您可能希望在进行最后的擦除之前尽可能地使系统静止,因为日志记录和写入磁盘的其他守护进程可能意味着在擦除过程中,在文件系统结构完全损坏之前,真实数据被写入空闲数据块。