gig*_*iga 11 command-line sudo su
当我su在终端中输入命令时,我得到
su: Authentication failure
Run Code Online (Sandbox Code Playgroud)
为什么这在 Ubuntu 中不起作用?我已经在另一个 Linux 发行版(Parrot OS)中尝试过这个命令,它确实有效。
Zan*_*nna 23
因为在 Ubuntu 中,默认情况下 root 没有密码。
没有参数,su意味着“将用户切换到 root”,为此你必须输入 root 的密码,而不是你自己的。除非你给 root 一个密码,否则它没有密码,所以你不能真正以 root 身份登录。
这是一些背景:
在 Unix 世界中,由于 Unix 的多用户传统,普通用户和管理员之间一直存在较大的分歧。Unix 中采用的方法是仅在需要时授予超级用户权限。为此,通常使用 su 和 sudo 命令。
直到几年前,大多数 Linux 发行版都依赖 su 来实现这个目的。su 不需要 sudo 所需的配置,并且在 Unix 中拥有 root 帐户是传统的。这就引入了一个问题。用户被诱惑以不必要的身份运行。事实上,一些用户专门以 root 用户身份操作他们的系统,因为它消除了所有那些烦人的“权限被拒绝”消息。这就是您如何将 Linux 系统的安全性降低到 Windows 系统的安全性。不是个好主意。
当 Ubuntu 被引入时,它的创建者采取了不同的策略。默认情况下,Ubuntu 禁用 root 帐户的登录(由于未能为该帐户设置密码),而是使用 sudo 授予超级用户权限。初始用户帐户通过 sudo 被授予对超级用户权限的完全访问权限,并且可以向后续用户帐户授予类似的权力。
您可以使用su切换用户,如果您知道要切换到的用户的密码,例如,我可以su pixie作为我的备份用户登录。
通常,您应该使用sudo自己的密码进行身份验证或启动 root shell,使用sudo -i
那是因为在其他发行版中安装它们时,它们通常会提示您设置root密码以及用户帐户密码。Ubunturoot在安装过程中不会要求输入密码,只需要一个用户的用户帐户密码,该用户将有权sudo访问而root在 Ubuntu 中禁用该帐户。如果要启用此功能,请为该root帐户设置一个密码,以启用该root帐户以允许该su命令工作。
sudo passwd root
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
简要地
Ubuntu中默认禁用root帐户,因此没有设置密码,因此会导致身份验证失败
要成为 Ubuntu 的 root,你可以使用这个
sudo -i
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18207 次 |
| 最近记录: |