当您设置新的 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 用户:
- 系统偏好设置
- 用户和组
- 登录选项(单击此处的锁定并进行身份验证)
- 点击“加入”(NAS)
- 打开目录实用程序
- 点击锁(再次验证)
- 编辑菜单 -> 启用 root 用户
- (编辑菜单->更改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”的帐户时都会调用该密码。