我在学校的时候,我们教过 Windows。然后我选择了计算机工程学士学位课程,在那里我们必须使用 Linux 而不是 Windows。他们从来没有教过 Linux 的基础知识,而是直接开始教编程。这对我来说并不难,因为我对 Linux 有点熟悉。但是我对Linux中的管理员或root或超级用户系统仍有一些疑问。现在我的问题包括几个不同的子问题。所以这里是这样的:
我知道#
终端提示中的 (hash) 表示一个人正在以超级用户身份运行,而$
(dollar) 表示一个人不是。但即使我的帐户是管理员帐户,我也没有#
在终端提示中看到。相反,我必须使用su
命令登录才能拥有管理权限。这是为什么?
管理员、root 和超级用户的术语是否相同?我很困惑,因为在 Windows 中,只有一个术语管理员,如果您的帐户是管理员帐户,那么您基本上始终以管理员权限登录,即您不必像在Linux。
我们在大学计算机上安装了 Ubuntu,如果您必须以管理员身份登录,那么您输入su
,然后它会提示您输入密码,您必须输入当前帐户密码才能成为超级用户。但是我不喜欢 Ubuntu 的设计,所以我切换到并在我的笔记本电脑上安装了 Fedora,安装程序要求我输入两个密码,一个用于我的普通帐户(具有管理员权限),另一个用于“root”用户。那么这是否意味着每当我必须使用我的普通帐户以管理员身份登录时,我就必须登录我的“root”密码而不是我的普通密码?如果是这样的话,如果软件不直接给我管理员权限,为什么它会要求我输入普通密码?
编辑:
有人可以向我解释 Linux 中的管理系统吗?什么是根?为什么我是管理员却没有管理员权限?
Unix/Linux 系统上的每个帐户都有一个数字标识符,即“用户 ID”或 UID。按照惯例,UID 0(零)被命名为“root”,并被赋予特殊的权限(通常是访问系统上任何内容的权限)。
你可以只登录为root用户直接,如果你有root的密码。但是,这样做通常被认为是不好的做法。
一方面,通常情况是 Unix/Linux 为您提供了足够的空间,让您在没有安全保障的情况下用自己的脚开枪——有许多错别字和事故,最简单的恢复是完全重新安装和/或从备份恢复. 因此,当您需要防止不小心做一些您不想做的事情时,必须实际切换到 root。
它还有助于限制恶意软件的传播。如果您的 Web 浏览器在 UID 0 下运行——我们说“作为 root”——那么远程网站可能会利用一个编程错误来完全控制您的计算机。保持“常规”用户帐户限制了这种损害。
这两者都遵循称为“最小特权原则”的一般最佳实践——老实说,这在一般系统设计中是一件好事。您可以在担心以 root 身份登录被高估?
现在,叶你如何的问题可以得到访问受保护的东西作为一个非root用户。有两种基本方式 -su
和sudo
. 第一个需要 root 密码,第二个在通常的配置中需要您的密码。通常情况下,您使用sudo
“以 root”身份运行单个命令,而不是在整个会话中切换到 root 帐户。(您也可以使用su -c
,您经常会在文档中看到的内容。)有关这些的相对优点的详细讨论,请参阅获取 root 权限的最安全方法是:sudo、su 还是 login?. (而且,为了完整起见,还有其他机制不是 sudo,而是以相同的方式工作,例如 PackageKit,通常用于 GUI 应用程序。)
您询问术语“root”、“超级用户”和“管理员”是否相同。“root”和“超级用户”基本上都是。准确地说,也许有人会说:“该root
帐户的超级用户,因为它有UID 0”。
“管理员”可能意味着相同的意思,但在 Fedora 中,我们*以稍微不同的方式使用它。并非系统上的每个用户都有权通过 sudo 获得 root 权限。在 Fedora 的默认设置中,组成员wheel
可以执行此操作。并且,在安装程序和文档等地,我们称此为“管理员帐户”。一个不是 root,但有权访问 root 权限的人。
(哦,还有最后一件事:提示中的#
vs$
只是一种视觉约定,并不是确定的。您可以更改环境变量PS1
以使提示执行各种操作。)
* 我在 Fedora 上工作。
归档时间: |
|
查看次数: |
3950 次 |
最近记录: |