在 MacOS X 中 sudo 是否需要启用 root 帐户?

在 MacOS X 中 sudo 是否需要启用 root 帐户?

如果 Mac 的所有者没有启用 root 账户(通过 NetInfo 管理器和常见的嫌疑人),那么是否可以成功执行 sudo 命令以实现 root 任务?为什么/为什么不行?

我没有纯净的 Mac 来测试这一点。

答案1

sudo是的,Mac OS X 允许在 root 帐户未激活时使用。管理员/etc/sudoers帐户创建后将加入;您也可以手动编辑它以传统方式添加或删除用户。

原因主要是出于安全考虑。任何 *nix 老手都会告诉你,在root不需要时以身份登录是个坏主意。Asroot具有读取、写入和执行权限一切,一些错误的击键就会让计算机变得一团糟。当然,这也使它成为黑客和恶意软件作者最喜欢的目标。据推测,Apple 默认停用 root 身份是为了阻止用户以该身份登录(也许他们习惯于在 Windows 上以管理员身份运行,尽管这与以 身份登录一样愚蠢root),同时也使恶意的人更难以访问 root 帐户(如果默认启用它,则需要使用默认密码(很容易猜到或猜出)或让用户选择一个密码(用户通常会选择糟糕的密码))。但是,即使禁用了 root 用户,它在 Mac OS X 上仍然存在 - 所做的只是阻止以 身份登录rootsu rootssh -l root等等)。如您所料,许多进程都以 身份运行root,包括使用 sudo 启动的进程。

答案2

默认情况下,管理员用户可以使用 sudo,非管理员用户则不能。如果需要,您可以通过编辑 /etc/sudoers 来自定义此功能。

相关内容