使用 dscl 意外删除所有 OSX 用户

使用 dscl 意外删除所有 OSX 用户

好的,我刚刚做了一件非常愚蠢的事情,通过运行以下命令删除了 OSX 10.6.6 机器上的所有用户帐户:

sudo dscl . -delete /users

我实际上想要做的是使用以下命令删除一个麻烦的帐户:

sudo dscl . -delete /users/localadmin

...但我心不在焉地过早按下了回车键,删除了所有东西。我尝试使用-list并确认我确实删除了所有帐户。机器目前运行良好,但我确信一旦我注销/重新启动,它就会完全损坏。

_installer我不介意删除普通用户帐户(反正我只想要一个)。但是系统帐户(如和_jabber_lda等)的_windowserver消失肯定会带来大问题。

所以我的问题是,我该如何恢复标准系统帐户集?我必须从头开始重新安装 OSX 吗?或者我可以:

  • 取消删除这些系统帐户,或者
  • 运行一些命令来重新创建系统帐户?

答案1

如果这是在 Mac OS X 工作站安装(而不是 Mac OS X Server)上,您可以从 Apple 下载“服务器管理”工具并使用“工作组管理器”首先从工作系统中导出标准帐户集,然后将它们导入缺少这些帐户的系统中。

这可能有点误导。无论你处理的是 Mac OS X 还是 Mac OS X Server,你都可以执行相同的过程。只是对于服务器,工具已经存在,而对于工作站操作系统,你需要下载它们。

答案2

我采取的解决方案是:

  • 擦除系统磁盘
  • 重新安装 Mac OS X
  • 从备份中恢复我的 /Users 文件

事实证明,清除系统磁盘至关重要。我最初尝试重新安装 OS X。但由于某种原因,OS X 安装程序会在启动时挂起 — 即使我直接从安装程序 DVD 启动也是如此。我怀疑安装程序试图读取系统磁盘上的用户帐户,但它无法处理丢失的用户帐户。

我最初尝试使用 GParted Live 擦除磁盘,但这似乎只是弄乱了分区,无法将其擦除。因此,我将 Mac 置于目标磁盘模式,并通过 Firewire 将其连接到另一台 Mac;然后我成功地在第二台 Mac 上使用磁盘实用程序擦除了磁盘。因此,在这种情况下,我强烈建议在重新安装之前使用目标磁盘模式擦除所有内容。

相关内容