了解有关 root 权限的几点

了解有关 root 权限的几点

我只是想确认我对与 root 权限相关的一些事情的理解。以下说法是否正确:

  • 用户名“administrator”不是具有隐含特权的保留名称,它只是一个用户名,我可以使用它而不会无意中破坏固有的安全性?
  • 在终端中使用 SU 命令的效果仅限于该终端会话内的活动。例如,在该终端会话中成为 root 不会绕过从应用程序菜单启动的并发应用程序中的密码请求,或者如果我同时打开另一个终端会话,也不会授予我 root 权限。

另外,什么命令可以告诉我当前是否具有 root 权限?

答案1

“管理员”这个名字来自Windows世界。在 Unix 世界中,“系统管理员”是一个职位描述,但“管理员”对于帐户而言并没有任何特殊含义。

与 Windows 不同,Unix 帐户本质上没有特权概念。帐户中的权限由他们可以访问的文件、他们可以运行的 setuid 命令、他们被允许使用的 sudo 规则、适用的 SELinux 策略等授予。这些可以直接授予用户,或用户所属的组。

有一个例外:用户 ID 为 0 的帐户获得许多额外权限(基本上是执行几乎所有操作的权限)。该帐户通常被称为root(就内核而言,可以使用其他名称,因为内核不知道用户名,但这会破坏许多与管理相关的软件)。

root 帐户不适合用户在正常操作中登录。这是一个系统帐户。管理员仅以 root 身份运行命令来执行系统配置任务,不执行其他工作。管理员有时可能会以 root 身份登录来执行系统安装或修复,但不会使用 root 帐户执行与系统无关的任务,例如网页浏览和电子邮件,他们会使用自己的个人帐户。

通俗地说,管理员帐户是能够以 root 身份运行命令的用户的帐户。通常这是通过以下方式完成的须藤,一个程序,允许用户以其他用户(包括 root)的身份运行命令(如果他们被 sudo 配置授权)。

权限与进程相关联并由其子进程继承。当您使用提升的权限运行进程时(例如通过susudo),只有该进程及其启动的进程具有提升的权限。会话的其余部分不受影响。

答案2

用户名“administrator”不是具有隐含特权的保留名称,它只是一个用户名,我可以使用它而不会无意中破坏固有的安全性?

您可以通过用户 ID 号为 0 来获得 root 权限。如果用户“管理员”具有不同的 ID 号,则它只是普通用户

在终端中使用 SU 命令的效果仅限于该终端会话内的活动。

效果适用于由su(或使用该-c选项运行的任何命令)生成的 shell。并且该 shell/命令的子进程的任何进程都将保留这些特权(除非它们明确删除它们)。

另外,什么命令可以告诉我当前是否具有 root 权限?

id会告诉您正在以哪个用户/组身份运行,以及用户/组 ID 号。如果用户的 ID 号为 0,则您拥有 root 权限。

相关内容