su
当我在终端中输入命令时,我得到
su: Authentication failure
为什么这在 Ubuntu 中不起作用?我在另一个 Linux 发行版 (Parrot OS) 中尝试过此命令,它确实有效。
答案1
因为在Ubuntu中,默认情况下,root是没有密码的。
不带参数,su
表示“将用户切换为 root”,为此您必须输入 root 的密码,而不是您自己的密码。除非您为 root 提供密码,否则它没有密码,因此您实际上无法以 root 身份登录。
以下是一些背景信息:
在 Unix 世界中,由于 Unix 的多用户传统,普通用户和管理员之间的区别一直很大。Unix 采取的方法是仅在需要时授予超级用户权限。为此,通常使用 su 和 sudo 命令。
直到几年前,大多数 Linux 发行版都依赖 su 来实现此目的。su 不需要 sudo 所需的配置,而且在 Unix 中拥有 root 帐户是传统做法。这带来了一个问题。用户不必要地被诱惑以 root 身份操作。事实上,一些用户只以 root 用户身份操作他们的系统,因为这样可以消除所有那些烦人的“权限被拒绝”消息。这就是将 Linux 系统的安全性降低到 Windows 系统水平的方式。这不是一个好主意。
当 Ubuntu 推出时,它的创建者采取了不同的策略。默认情况下,Ubuntu 禁用 root 帐户的登录(通过不为该帐户设置密码),而是使用 sudo 授予超级用户权限。初始用户帐户通过 sudo 被授予对超级用户权限的完全访问权限,并且可以向后续用户帐户授予类似的权限。
您可以使用su
切换用户,如果您知道要切换到的用户的密码,例如,我可以su pixie
以我的备份用户身份登录。
通常情况下,你应该使用sudo
自己的密码进行身份验证,或者启动 root shell,使用sudo -i
答案2
这是因为在其他发行版中,安装时通常会提示您设置root
密码以及用户帐户密码。Ubuntu 在设置期间不会要求输入密码,只会要求输入有权访问root
的用户的用户帐户密码,而Ubuntu 中帐户则处于禁用状态。如果您想要启用此功能,请为将启用该帐户的帐户设置密码,以便命令能够正常工作。sudo
root
root
root
su
sudo passwd root
希望这可以帮助!
答案3
简要地
Ubuntu 默认禁用 root 帐户,因此没有设置密码,因此导致身份验证失败
要在 Ubuntu 中成为 root,你可以使用以下命令
sudo -i
答案4
(超级用户身份su
验证)未配置为安全和管理。当您安装 ubuntu 时,您将以sudo
“第一用户”[1000] 的身份获得所有管理访问权限。具有“root”权限sudo
。“来宾用户”[1001、1002、1003 等] 将无法使用 进行超级用户身份验证sudo
。管理员[具有“root”权限的用户]需要将其他“来宾用户”添加到“组”以获得超级用户权限。
您可以在 Ubuntu 中执行所有su
身份验证命令sudo
。
对于其他 Linux 发行版,系统将“root 用户”读取为 [500],将“第一个用户”读取为 [501]。
su
身份验证使您能够以 root 用户身份修改和删除任何文件或文件夹。
您可以通过以下方式以超级用户身份登录
sudo -i
但是,不建议这样做。