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