OS X 和 Ubuntu 上有 root 密码吗?

OS X 和 Ubuntu 上有 root 密码吗?

当您设置新的 Ubuntu 或 OS X 安装时,通常会为您创建一个用户。在 OS X 上,它是您选择的任何用户名。在 Ubuntu(服务器版本)上,通常ubuntu会创建用户。

据我了解,还有一个 root 用户,您可以通过类似的方式访问它sudo su - root,并输入您创建的用户或用户的密码ubuntu,该用户是管理员组的一部分。一旦你切换到root我认为你可以使用该passwd命令并更改 root 的密码。

root之前的密码是什么?它存在吗?它是一串随机的数字和字母吗?系统如何处理这个问题?

答案1

我只能回答Ubuntu。
在 Ubuntu 中,root用户有一个锁定的密码。从passwd手册页:

   -l, --lock
           Lock the password of the named account. This option disables a 
           password by changing it to a value which matches no possible 
           encrypted value (it adds a '!' at the beginning of the password).

你可以看到!/etc/shadow.

帐户被锁定的用户无法更改其密码,但 root 可以,无需事先输入旧密码。

答案2

以下是如何在 OSX 中解锁(?)或创建实际的 root 用户:

  1. 系统偏好设置
  2. 用户和组
  3. 登录选项(单击此处的锁定并进行身份验证)
  4. 点击“加入”(NAS)
  5. 打开目录实用程序
  6. 点击锁(再次验证)
  7. 编辑菜单 -> 启用 root 用户
  8. (编辑菜单->更改root密码)

享受 !

答案3

正如 enzotib 所说,Ubuntu 有一个 root 帐户,但默认情况下它是锁定的。

现在,关于 Mac:

您可能会猜到,root(以及所有守护程序帐户)不会出现在“设置”的“用户和组”部分中。

看看我的 Mac /etc/passwd,有一个条目root,以及一条消息

Note that this file is consulted directly only when the system is running
in single-user mode.  At other times this information is provided by 
Open Directory.

我试图找到开放目录用户列表,但没有成功,但在配置中提到了明确授予 root 权限,即使它们是隐含的。当我第一次设置机器时,从未提示我输入 root 密码,所以我猜测 root 帐户已被锁定,就像在 ubuntu 中一样。我没有(也不想)尝试为 root 提供密码并使用它登录,但你可能可以。

密码行:

root:*:0:0:System Administrator:/var/root:/bin/sh

keith 注释中的 perl 命令:0在末尾添加了 a 。没有密码哈希。我也找不到影子文件,我无法在任何地方找到它们来检查 root 是否有密码。

答案4

Ubuntu 为指定用户设置密码,并将其用于超级用户(root)级别的任务,例如安装和删除系统范围的软件和目录以及主目录之外的文件删除/执行。 root 帐户实际上已经存在,但没有指定的密码有点隐藏。 Canonical 和 Ubuntu 使用约定实际上阻止您直接调用它。

它设置一个指定的用户帐户,而不是设置一个通用的“ubuntu”帐户。至少对于已安装的系统来说是这样。如果您使用 Live CD,可能会有一个通用的“ubuntu”帐户,我不记得了,我已经好几年没有使用过 Live CD 了。

MacOsX 中的行为实际上非常相似。系统会要求您设置密码,每次您尝试执行超级用户级别的任务(例如安装或升级软件)但没有名为“root”的帐户时都会调用该密码。

相关内容