如果您使用sudo su -
或,sudo -s
您将拥有完全的 root 权限。
这个root用户是官方用户还是来自Canonical的?
~$ sudo su -
[sudo] password for username:
root@lp:~# id
uid=0(root) gid=0(root) groups=0(root)
root@lp:~# pwd
/root
root@lp:~#
答案1
是的,root用户是官方用户。
该用户受到悠久的历史影响。它是拥有所有权利或权限的用户的常规名称。大多数 Unix 操作系统都有 root 用户。它并不总是被称为“root”。您可能知道 Windows 操作系统的管理员。
该sudo
程序允许以 root 身份执行某些操作,例如运行命令、运行 shell 或登录(仅在终端中)。使用sudo
允许仅在需要时访问 root 权限,符合最小特权原则。该sudo
程序还提供对随其运行的命令的执行环境的控制,即运行命令时是否使用 root 的用户配置或您自己的配置。
在 Ubuntu 中,默认情况下禁止直接以 root 用户身份登录,以减少因以 root 用户身份犯错误而导致系统损坏或产生安全问题的可能性。
root 用户可以执行普通用户无法执行的操作,例如:
- 更改文件/目录的所有者和权限,无论当前所有者或权限如何
- 绑定1024以下的网络端口
root 用户的 UID 始终为 0,可通过此 UID 进行识别。可以创建另一个名为 root 的用户,但不允许有两个用户具有相同的 UID,因此只有一个 root。必须有这样的用户。
题外话sudo
:
该sudo
程序之所以有效,是因为它具有“受保护位“(设置用户 ID 位)。这允许任何用户以程序所有者的身份运行该程序。显然,这是一个巨大的安全风险,因此sudo
会进行严格检查,以查看试图运行它的用户是否有权使用sudo
,以及允许他们使用哪些命令运行。此配置存储在文件中/etc/sudoers
,该文件只能使用visudo
命令进行编辑(您需要sudo
运行visudo
)。在安装过程中,在 Ubuntu 中设置第一个用户帐户。这个第一个用户将自动拥有使用运行任何命令的权限sudo
。
如果sudo
可执行文件或/etc/sudoers
具有错误的权限,sudo
将拒绝运行。
答案2
这是root
。
在 Ubuntu 中root
默认没有设置密码,因此您必须以sudo su -
或sudo -s
身份登录root
。或者,如果您真的想要,请为 root 设置密码并绕过 sudo 的需要(不建议)
sudo su -
打开root
用户默认环境,这样您就获得root
用户shell等。
sudo -s
将打开变量中定义的 shell$SHELL
或/etc/passwd
为调用用户不是根用户。通过这种方法,您可以保留一些额外的环境变量,以便您知道谁执行了 sudo 等操作...