在赠送我的 Ubuntu 机器之前我必须做什么?

Rof*_*ion 39 security

我有一台运行 Ubuntu 的旧笔记本电脑。现在我想赠送这台笔记本电脑,但我想删除所有私人数据。那我应该删除什么?我不想格式化整个系统,因为新所有者仍将使用该操作系统。

use*_*own 31

您通常在 /home 中拥有所有私人数据,尤其是浏览器缓存等。

您可能在 /etc/Network-Manager 中有私人互联网设置。访问 /etc,并查看目录。重新配置你的东西,删除私人数据(WLAN 密钥),看看是否一切都消失了。如果没有,请手动移除。mc(午夜指挥官)是一个很有用的工具,可以遍历目录,查看和删除文件。(切碎,见底部)。

另一个包含私有数据的目录可能是 /var/spool 或 /var/cache。例如,cups-printer-spooler 会生成打印作业的摘要,并且可以重建文档名称、作业日期。也许您也想清洁它们。

/tmp 中的这些文件会在每次启动时自动删除。所以如果你不重组只有你可能知道的东西,

  • 为新用户创建一个没有密码的新帐户(首次登录时会提示他输入密码),并授予该用户成为超级用户的权利。groups在您自己的配置文件中发出命令,在删除之前复制有用的权限,例如 lpadmin、plugdev、scanner...。
  • 使用恢复选项登录以获得 root 访问权限,以及
  • cd /home/roflcoptr
  • find . -delete # 或者,代替 -delete,您可以考虑 shred:
  • find . -execdir shred -n 1 {} +
  • 控制与 ls
  • 删除你的普通账户(见:/etc/passwd、/etc/shadow)(从评论中建议,感谢@intuited,给他一个star)

如果您考虑清理空白空间(@intuiteds 第二个建议,也许我们应该捐赠一颗星?),使用 live-cd 粉碎整个系统(可以无人值守地继续)然后安装一个新系统会更容易(需要大约 25 分钟,互动很少,主要是在开始时)。这通常可能是更快的解决方案。不止一个 shred 迭代是无稽之谈。

  • 您还应该更改您的密码和/或删除您的帐户,特别是如果您有可能在其他地方使用该密码。 (9认同)
  • 似乎您还想覆盖驱动器上的空白空间,以防止恢复以前删除的机密文件。 (7认同)
  • a) 读取擦除数据的整个想法可以追溯到 Peter Gutman,他在 90 年代中期在旧硬盘驱动器上重建了单个字节。今天,重构单个位的概率只有 56%,因此重构整个字节几乎是不可能的。链接 [heise.de (LANG=DE)] (http://www.heise.de/newsticker/meldung/Sicheres-Loeschen-Einmal-ueberschreiben-genuegt-198816.html) 和 [伟大的擦拭争议] (http: //www.springerlink.com/content/408263ql11460147/) (5认同)

int*_*ted 18

最安全的选择是使用DBAN 之类的东西来安全地擦除磁盘,然后从头开始重新安装。

如果您想向接收者提供相同的应用程序配置文件,您可以使用dpkg --get-selections在擦除前转储系统包状态,然后dpkg --set-selections在重新安装后使用来告诉新系统您要安装这些包。这将允许您方便地重新安装您设置的所有应用程序。

该工具aptitude-create-state-bundle也可用于此目的,并且可能更可取,因为它在更高级别上工作并且可以记住您明确安装了哪些软件包。


Rya*_*son 11

在我看来,彻底擦除磁盘并重新安装操作系统更容易、更省时,而且更有可能擦除您想要擦除的所有内容。确实,擦除整个磁盘需要很长时间,但您可以在等待期间做其他事情。从现有操作系统中删除特定的包和文件是一个复杂的过程,需要大量思考并留下大量出错空间。完全重新安装完成同样的事情,只是更有效,您的工作更少。


小智 5

作为对已经给出的非常好的建议的补充:

如果您出于开发目的一直在运行本地服务器,例如 apache2、mysql 等。我建议使用“清除”选项(它会破坏 conf 文件)删除它们,请务必删除数据和日志目录和文件(例如默认情况下在 /var/log/ 和 /var/www/ 或 /var/lib/xxxx/ 中找到,但在您选择的其他地方,您进行了自定义配置),然后根据需要使用默认设置重新安装它们新用户。

对于偏执/干净的人,另一个建议是为机器重新生成一个新的 ssh 服务器主机密钥。

rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server
Run Code Online (Sandbox Code Playgroud)

以便它不再被其他人视为已知宿主。