为什么没有以 root 身份登录的选项?

为什么没有以 root 身份登录的选项?

为什么 Ubuntu 不允许 GUI 用户在系统启动时以 root 身份登录,就像 Windows 中的管理员一样?

为什么他们限制我们只能通过终端登录?

答案1

因为不建议这样做,除非你知道确切地你在做什么。Root 是超级用户,这意味着它可以做任何事情 - 它只用于管理任务。日常任务可能会带来安全风险,如果每个人(或大部分用户)都使用 root,这种风险就会被利用。想想 Windows - 99% 的恶意软件和病毒问题都来自使用管理员帐户执行日常任务的人。

让我们看一个例子:

如果有人闯入你的系统并命令它擦除你的磁盘怎么办?如果你以普通用户身份运行,你唯一能够删除的文件是那些属于只对您有效,而不对其他任何人有效。如果其他人使用计算机,则无论您如何努力,他们的文件都不会被触及。这意味着您将无法更改任何系统文件,因此您的系统将保持坚如磐石且不受影响/不被感染。

但是,如果你以 root 身份运行,则可以完全擦除硬盘,可能对硬件本身造成一些损坏,并且通常会导致系统无法使用。更正:任何能够运行单身的在您的计算机上以 root 身份运行的命令(某些恶意网站或电子邮件附件)可以做到这一点。

看一看这篇好文章这可能比我解释得更好。

这里是另外一个。

您始终可以使用sudo command或以超级用户身份gksu command运行command,它们都可以使用图形和命令行实用程序。sudo通常用于 CLI,并且gksu是执行相同操作的图形密码提示。

在某种程度上,它们让你root暂时变得——很多比不断以 root 身份运行并承担不稳定的风险要好。

答案2

在标准 Ubuntu 中,root不允许登录,无论是从 GDM(图形)登录管理器,还是从文本控制台(即按Ctrl+ Alt+时获得的控制台F1)。

为了执行root(即管理员)操作,你必须sudo在终端或任何等效的 GUI 中使用该命令:这些命令将要求你输入你的密码,然后执行请求的特权操作(并且只能执行那一个)。

正如其他人指出的那样,这种行为的原因是,执行root操作是本身就具有风险而真正需要特权的操作数量root相对较少:通过这种sudo方法,您大多数时间都以非特权帐户运行(即对系统和其他用户无害),并且只root在真正需要时获得权力。

举个例子也许能说明问题。假设您想在机器上安装一个新服务(守护进程);这个服务相对较新,您需要了解它以及如何根据您的需要进行配置。您最终会浏览大量网页来查找信息、示例配置等,也许会进行一些 IRC 聊天来询问更多信息——所有这些都不需要root权限!最后,您只需要特权访问即可完成两项操作:

  1. 安装新程序(即sudo apt-get install ...),并
  2. 编辑默认配置

计算机安全中一个普遍接受的原则是总是使用尽可能最低的特权级别来执行操作。——这降低了由于软件缺陷或操作员失误而发生不良事件的风险。

Ubuntu 默认设置就是朝着这个方向发展的;如果您使用登录root,那么您最终会使用该root帐户浏览互联网、进行 IRC(以及可能同时进行的所有其他操作),从而不必要地将系统暴露在威胁之下。

更新:对于您的编译器示例,我将按如下方式进行:

  1. 通过 SSH 登录节点作为你的普通用户,以及从另一个正在运行图形 X11 显示的 Ubuntu 或 GNU/Linux 节点。请确保通过 SSH 启用 X11 转发:

    ssh -X [email protected]
    
  2. 在 shell/SSH 提示符下,发出命令:

    sudo /path/to/the/compiler/install/program
    

    这将以root权限运行编译器安装程序,并访问(通过 SSH 转发)您面前的图形显示。

答案3

在 Ubuntu 中使用 sudo 的原因可能是找到这里。如果您需要一种快速“获取 root 权限”的方法,我使用sudo -ssudo -i

答案4

这里有两个问题。一个是,为什么 Ubuntu 默认禁用 root 登录?这里的几篇帖子已经解决了这个问题。

第二个问题是,为什么图形化根登录特别不受重视?

非图形根登录的所有缺点也适用于图形根登录。但是,与非图形登录相比,图形登录时运行的程序更多,操作方式也更复杂。整个图形用户界面和有效使用 GUI 所需的所有图形程序都将以 root 身份运行。其中任何一个微小的安全漏洞都可能使某人完全控制您的系统。

在 Ubuntu 中,根本不推荐以 root 身份登录,但安全社区并未一致认为这是一种普遍的坏习惯。然而,图形化 root 登录是一种不好的做法,几乎所有操作系统都已逐步淘汰或强烈建议不要使用它们。

在较小程度上,让非 root 用户(尤其是能够使用 sudo 或 PolicyKit 以 root 身份执行操作的用户)进行图形登录会带来风险。但与图形环境中的所有内容都必须以具有无限能力的 root 身份运行相比,它们受到的控制要多得多。不过,对于安全性至关重要的情况,通常建议完全放弃图形界面,这就是为什么 Ubuntu Server 默认不附带 GUI 并且官方建议不要安装 GUI(尽管支持这样做)。

在 Windows 世界中,你现在可以用以下方式安装 Windows Server基本上消除了图形用户界面(从技术上讲,一些元素仍然存在,但它非常精简,您无法运行任意图形程序)。这是基于相同的推理。

即使您决定启用 root 登录,也请不要以 root 身份通过图形方式登录。启用 root 登录可能会使您面临稍高的安全风险;以 root 身份运行整个图形环境会使您面临极高的风险。

此外,除了设计为使用 gksu/gksudo/kdesudo 以 root 身份运行的图形管理工具外,大多数图形程序都不适合以 root 身份运行。由于它们未在此模式下进行广泛测试,因此可能会失败或行为不稳定(这尤其糟糕,因为它们以 root 身份运行)。

最后,甚至一些图形管理工具,喜欢users-admin如果以 root 身份运行将会失败,因为它们希望由普通用户运行并使用 PolicyKit 以 root 身份执行操作(但实际上并未以 root 身份运行)。

相关内容