网站搜索

谁是根?根为什么存在?


你有没有想过为什么Linux中有一个名为root的特殊帐户?您知道使用此帐户的推荐最佳做法是什么吗?您知道哪些场景必须使用它,哪些场景不需要使用它吗?如果您对其中一个或多个问题的回答“是”,请继续阅读。

在这篇文章中,我们将提供一个参考,其中包含您希望随身携带的根帐户的信息。

什么是根?

首先,让我们记住,类 Unix 操作系统中的目录层次结构被设计为树状结构。起点是一个由正斜杠 (/) 表示的特殊目录,所有其他目录最初都是从该目录分支出来的。由于这类似于实际的树,因此 / 称为根目录。

在下图中我们可以看到输出:

tree -d / | less

它说明了 / 和树的 root 之间的类比。

虽然 root 帐户命名的原因尚不清楚,但很可能是因为 root/ 内唯一具有写入权限的帐户

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

附带说明一下,root 目录 (/) 不得与 /root 混淆,后者是 root 用户的主目录。事实上,/root/的子目录。

获得root权限

当我们谈论root(或超级用户)权限时,我们指的是此类帐户在系统上拥有的权限。这些权限包括(但不限于)修改系统以及授予其他用户对其资源的某些访问权限的能力。

鲁莽地使用此权力最多可能会导致系统损坏,最坏的情况可能会导致彻底失败。这就是为什么在访问 root 帐户权限时,以下准则被视为最佳实践:

最初,使用root帐户运行visudo。使用该命令编辑 /etc/sudoers 以授予给定帐户(例如主管)所需的最低超级用户权限。

例如,这可能包括创建(adduser)修改(usermod)用户帐户的能力,仅此而已。

接下来,以主管身份登录并使用 sudo 执行用户管理任务。您会注意到,尝试执行需要超级用户权限的其他任务(例如删除软件包)应该会失败。

需要时请重复上述两个步骤,完成后,使用exit命令立即返回到您的非特权帐户。

此时您应该问自己,是否有其他定期弹出的任务需要超级用户权限?如果是这样,请在 /etc/sudoers 中为给定帐户或组授予必要的权限,并继续尽可能避免使用 root 帐户。

概括

这篇文章可以作为类Unix操作系统中正确使用root帐户的参考。请随意将其添加到您的书签中,并根据需要多次返回!

与往常一样,如果您对本文有任何疑问或建议,请使用下面的评论表给我们留言。我们期待您的回音!