超级用户和 root 用户一样吗?

Sun*_* FE 31 permissions macos

谷歌点击通知sudo意味着超级用户,因为我在这里阅读了这篇SO 帖子

我只是想验证一下,当我这样做

sudo node my_node_program
Run Code Online (Sandbox Code Playgroud)

我以root用户身份运行程序。

superuser === root
Run Code Online (Sandbox Code Playgroud)

经过一番研究,Apple 声明 root 是超级用户,这意味着超级用户是一个组,而 root 是该组中的用户。

请参阅support.apple.com

似乎每个人都在混淆术语/概念。

dav*_*dgo 40

是的,一般来说,root 和超级用户是一样的;“root”是在 Unix 类型系统上通常赋予具有完整系统权限的用户的名称。

从技术上讲,其他用户/帐户可以拥有相同级别的访问权限。这纯粹是语义,但我猜有些人称这些帐户为“超级用户帐户”(描述帐户类型和访问权限),而其他人称这些帐户为“root 帐户”,指的是与 root 具有相同访问权限的帐户 - 即所有内容.

顺便说一句,SUDO 并不意味着超级用户

SUDO 是一种提升/更改权限的机制。可以使用 SUDO 将普通帐户提升为超级用户权限,但它也可用于提供更有限的访问权限,例如允许用户以另一个用户身份运行内容,这通常比超级用户受到更多限制。(例如,用户可能习惯sudo以 Web 服务器用户身份运行某些内容,这将允许他们访问他们通常无权访问的资源,但不允许他们修改安全权限或访问只有 root帐户/超级用户帐户应有权访问。)

  • 事实上,`substitute user do` 比`super user do` 更适合它。 (24认同)
  • @XtremeBiker 我总是把 `sudo` 读作 `switch user do`。 (24认同)

nxn*_*nev 20

超级用户是指用于系统管理的用户帐户的通用术语。这意味着超级用户能够执行特权操作,例如创建/删除用户帐户。请注意,超级用户帐户的实际名称和实现因操作系统而异。

在类 Unix 操作系统(macOS、GNU/Linux、BSD 等)中,超级用户是 UID(用户标识符)为零的帐户,无论它如何命名。在大多数这些操作系统中,按照约定将其命名为root

因此,虽然超级用户root在大多数类 Unix 操作系统中可以互换使用,但它们的含义并不相同。


HBr*_*ijn 12

“超级用户”通常是安全模型中授予所有权限的角色的描述

从历史上看,与超级用户角色相关的登录名/用户名是root在类 UNIX 操作系统上,如 MacOS(例如 MS Windows 上的“管理员”)。

超级用户和 root 用户一样吗?

是的,出于所有意图和目的,“以超级用户”“以 root ”身份运行程序 是相同的,您将能够做您作为“普通”用户无法做的事情(例如启动监听1-1024 范围内的保留端口,创建新用户和其他系统管理任务。)

我只是想验证一下,当我这样做

sudo node my_node_program
Run Code Online (Sandbox Code Playgroud)

我以root用户身份运行程序。

正如手册所述(检查man sudo)在sudo没有使用可选-u [username|#uid-number]参数指定用户的情况下运行,将默认以root.