如何在 Mac OS X 中从命令行启用和禁用 root 用户
尽管大多数高级 Mac 用户会发现使用目录实用程序启用 root 在 Mac OS X 的 GUI 中,另一个选项是转向命令行。不,我们不是在谈论使用 sudo 或 su,我们是在谈论启用实际的 root 用户帐户,适用于某些复杂情况。
对于熟悉终端和命令行语法的人来说,从命令行在 Mac OS X 中启用根用户帐户甚至可能比从目录实用程序应用程序更容易,因为广泛或基于每个用户启用和禁用根用户帐户所需的步骤更少。这也是有利的,因为它可以在任何 Mac 上通过 SSH 远程启用可以连接到。
非常重要的一点是,启用根用户帐户仅适用于高级用户,他们了解何时以及为何可能需要拥有通用超级用户权限。对于系统管理员之外的任何事情或对一些特别高级和复杂的问题进行故障排除,这很少是必需的,并且对于绝大多数目的,只需使用 sudo 或 以 root 身份启动 GUI 应用程序 通常足以满足绝大多数情况。
如果您不知道自己在做什么,请不要启用根用户帐户,也不要使用根用户帐户。由于 root 用户对 Mac OS X 中的所有内容都具有普遍的访问权限,因此很容易搞砸某些事情,并且让该帐户处于活动状态会导致安全风险。这确实仅适用于高级 Mac 用户。
使用 dsenableroot 从 Mac OS X 的命令行启用 root 用户帐户
一个名为“dsenableroot”的简单命令行工具将在 Mac OS X 中快速启用 root 用户帐户。最简单的形式是,只需在终端提示符中键入“dsenableroot”,输入用户密码,然后输入并验证根用户密码。
% dsenableroot
用户名=Paul
用户密码:
root密码:
验证root密码:
dsenableroot:: ***成功启用root用户。
当您看到“dsenableroot:: ***成功启用 root 用户”时。消息,您知道已使用刚刚定义的密码启用了 root 用户。
如果您愿意,您还可以通过指定 -u 标志在每个用户帐户的基础上启用根用户:
dsenableroot -u 保罗
将“Paul”替换为特定 Mac 上的任何用户名都可以。
当然,一旦您使用完 root 用户,您可能还希望禁用 root 帐户访问权限。
在 Mac OS X 中从命令行禁用 Root 用户帐户
将 -d 标志传递给相同的 dsenableroot 命令字符串将全面禁用 root 用户,如下所示:
% dsenableroot -d
用户名=Paul
用户密码:
dsenableroot:: ***成功禁用根用户。
消息“dsenableroot:: ***成功禁用根用户。”表示根帐户现在已被禁用。
与启用特定用户类似,您也可以使用 -d 和 -u 标志为特定用户禁用:
dsenableroot -d -u Paul
这可能适用于特定用户帐户不再需要根帐户权限的情况。
一般来说,禁用根用户帐户是个好主意。
dsenableroot 实用程序适用于 MacOS Sierra、OS X El Capitan、OS X Yosemite、OS X Mavericks、Mountain Lion 等。对于使用更旧版本 OS X 的用户 像雪豹一样,改用 sudo passwd 方法。