Root是谁?为什么会有Root账户?

系统 Linux
在 Linux 中为什么会有一个名为 root 的特定账户?该怎么使用 root 账户?它在哪些场景下必须使用,哪些场景下不能使用?对于以上几个问题,如果您感兴趣的话,那么请继续阅读。本文中,我们提供了一些关于 root 账户的参考资料,方便您了解。

[[184957]]

在 Linux 中为什么会有一个名为 root 的特定账户?该怎么使用 root 账户?它在哪些场景下必须使用,哪些场景下不能使用?对于以上几个问题,如果您感兴趣的话,那么请继续阅读。

本文中,我们提供了一些关于 root 账户的参考资料,方便您了解。

root 是什么?

首先,记住这一点,在 Unix 类操作系统中,目录的层级结构被设计为树状结构。起始目录是一个特殊目录,使用斜杠 / 表示,而其他目录都是由起始目录分支而来。由于这种结构很像现实中的树,所以 / 也被称为根(root)目录。

下图,我们可以看到以下命令的输出:

  1. $ tree -d / | less 

该命令主要是演示一下 / 根目录和树根(root)的类比。 

 

 

Linux 的目录层级 

Linux 的目录层级

虽然 root 账户命名的原因还不是很清楚,可能是因为 root 账户是唯一一个在根目录 / 中有写权限的账号吧。

此外,由于 root 账户可以访问 Unix 类操作系统中的所有文件和命令,因此,它也常被称为超级用户。

另外,根目录 / 和 /root 目录不能混淆了,/root 目录是 root 账户的家目录。实际上,/root 目录是根目录 / 的子目录。

获取 root 权限

当我们说到 root(或者超级用户)权限的时候,我们指的是这样一种账户的权限:其在系统上的权限包含(但不限于)修改系统并授权其他用户对系统资源的访问权限。

胡乱使用 root 账户,轻则系统崩溃重则系统完全故障。这就是为什么会说,以下准则是使用 root 账户的正确姿势:

首先,使用 root 账户运行 visudo 命令编辑 /etc/sudoers 文件,给指定账户(如:supervisor)授予***的超级用户权限。

***超级用户权限可以包含,例如:添加用户 (adduser)、修改用户 (usermod)等权限。

接着,使用 supervisor 账户登录并使用 sudo 执行用户管理任务。此时,你可能会发现,当你执行需要超级用户权限(例如:删除软件包)的其它任务时,会失败。 

 

 

没有使用超级用户权限运行命令 

没有使用超级用户权限运行命令

在必须使用超级用户权限时,重复执行以上两个步骤,一旦执行完成,则立即使用 exit 命令退回到无特限的账户。

此时,你需要确定一下其他周期性的任务是否需要超级用户权限?如果需要,那么在 /etc/sudoers 中,给指定的账户或组授予必要的权限,尽量避免直接使用 root 账户操作。

摘要

本文可以作为在 Unix 类操作系统中正确使用 root 账户的简单参考。收藏一下,你就可以随时翻阅!

还是一样,如果您对本文有什么疑问或建议,请使用以下的评论表单给我们评论留言,期待您的回音!

作者简介:

Gabriel Cánepa 来自 Villa Mercedes, San Luis, Argentina。他是一名 GNU/Linux 系统管理员和 Web 开发员,现在一家全球领先的消费品公司就职。他很喜欢使用 FOSS 工具来提高自己的工作效率。 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2021-05-28 08:01:00

JS原型概念

2020-10-15 13:19:24

为什么会存在乱码

2020-08-02 22:54:04

Python编程语言开发

2017-04-13 12:20:43

Mysqlroot密码

2015-08-17 10:16:00

CentOSDocker命令root

2017-12-21 19:38:50

润乾中间表

2021-12-20 14:42:39

程序员职业技术

2022-07-26 23:43:29

编程语言开发Java

2019-09-09 10:25:54

MySQLMariaDB roo密码

2009-12-29 12:50:24

Ubuntu root

2019-04-11 19:11:27

root手机安卓

2009-12-04 19:29:33

2009-12-01 17:25:34

root进入Suse

2010-01-06 15:29:51

2022-08-02 18:37:24

BI系统快照表

2013-01-15 09:41:45

编程语言

2019-12-02 14:22:01

浪费云计算支出

2012-08-03 10:46:31

2020-09-18 15:22:31

编程语言C语言Java

2012-08-01 14:04:46

Surface
点赞
收藏

51CTO技术栈公众号