“root”用户不存在?

War*_*ers 3 command-line root users su passwd

当我运行su命令时,终端返回:

user 'su' does not exist
Run Code Online (Sandbox Code Playgroud)

如何添加root用户?任何人都可以回答这个问题吗?我试过了sudo adduser su,但在此之后,我遇到了同样的问题。

the*_*eye 5

sudo -i

这个命令会让你登陆 root shell。

其他解决方案之间的更多解释和比较here

                                                     corrupted by user's 
                HOME=/root      uses root's PATH     env vars
sudo -i         Y               Y[2]                 N
sudo -s         N               Y[2]                 Y
sudo bash       N               Y[2]                 Y
sudo su         N               N[1]                 Y


[1] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
probably set by /etc/environment
[2] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
Run Code Online (Sandbox Code Playgroud)

  • 我在 Legenda 中编辑为 [1] 和 [2] ;) (2认同)

Rin*_*ind 5

你成为 root sudo su(作为一个例子)。或者更好地说:您将管理员用户永久提升为管理员权限,直到您退出。例子:

rinzwind@discworld:~$ sudo su
[sudo] password for rinzwind: 
root@discworld:/home/rinzwind# 
Run Code Online (Sandbox Code Playgroud)

从技术上讲,没有 Ubuntu 没有活动的 root 用户。从Ubuntu RootSudo wiki页面:

在 Linux(以及一般的 Unix)中,有一个名为 Root 的超级用户。Root 的 Windows 等效项是 Administrators 组。超级用户可以做任何事情,因此作为超级用户进行日常工作可能很危险。您可能会错误地键入命令并破坏系统。理想情况下,您以仅具有手头任务所需权限的用户身份运行。在某些情况下,这必然是 Root,但大多数时候它是普通用户。

默认情况下,Root 帐户密码在 Ubuntu 中是锁定的。这意味着您不能直接以 Root 身份登录或使用 su 命令成为 Root 用户。但是,由于 Root 帐户实际存在,因此仍然可以使用 root 级别权限运行程序。这就是 sudo 的用武之地——它允许授权用户(通常是“管理”用户;有关更多信息,请参阅 AddUsersHowto)以 Root 身份运行某些程序,而无需知道 root 密码。

这意味着在终端中,您应该对需要 root 权限的命令使用 sudo;只需在您通常以 Root 身份运行的所有命令前添加 sudo。有关更广泛的使用示例,请参见下文。类似地,当您运行需要 root 权限的 GUI 程序(例如网络配置小程序)时,使用图形 sudo 并且还会提示您输入密码(更多内容见下文)。请记住,当 sudo 要求输入密码时,它需要您的用户密码,而不是 Root 帐户密码。

  • 现在是我,但“Ubuntu 技术上没有 root 用户”是不正确的。Ubuntu 的 root 用户没有 _password_,这就是 `su` 不起作用的原因。 (3认同)
  • 它被锁定,这意味着除非你想以非标准的 Ubuntu 方式工作,否则我们没有它;) 但我会改写它 :+) (2认同)