Answers:
因为不建议这样做,除非您确切地知道自己在做什么。根是超级用户,意味着它可以执行任何操作和所有操作-仅用于管理任务。如果每个人(或大部分用户)使用root用户,则日常任务可能会面临安全风险,即会被利用。以Windows为例-99%的恶意软件和病毒问题来自使用管理员帐户执行日常任务的人。
让我们看一个例子。
如果有人闯入您的系统并告诉您擦除磁盘该怎么办?如果您以普通用户身份运行,则您将(应该)删除的唯一文件是属于您的文件,而不是其他任何文件。例如,如果您有其他人在使用计算机,则无论您多么努力,都不会碰到他们的文件。这意味着您将无法更改任何系统文件,因此您的系统将保持坚如磐石且不受影响/不受感染。
但是,如果您以root用户身份运行,则可以完全擦除硬盘驱动器,可能会对硬件本身造成一些损害,并且通常会使系统无法使用。更正:任何可以在您的计算机上以root用户身份运行单个命令(某些恶意网站或电子邮件附件)的人都可以这样做。
看一下http://everyjoe.com/technology/explain-why-not-log-on-as-root/,这是一篇不错的文章,可能比我做的更好。
编辑:这是另一个http://ihazomgsecurityskillz.blogspot.nl/2010/09/running-as-root.html
EDIT2:您始终可以使用sudo command
或gksu command
以command
超级用户身份运行,这两个都可以使用图形和命令行实用程序。sudo
不过,它通常用于CLI,并且gksu
是执行相同操作的图形密码提示。
在某种程度上,它们使您变得root
暂时- 比持续以root身份运行和冒不稳定的风险要好得多。
在标准Ubuntu中,root
既不允许从GDM(图形)登录管理器登录,也不能从文本控制台(即,按Ctrl+ Alt+时获得的登录)登录F1。
为了执行root
(即管理员)的操作,你必须使用sudo
一个终端,或任何等价的GUI它的命令:这将要求您提供您的密码,然后执行请求的特权的操作(只有一个)。
正如其他人所指出的,这种行为的原因是,执行root
操作具有固有的风险,并且真正需要root
特权的操作数量相对较小:通过这种sudo
方法,您大多数时候都使用无特权的帐户运行(即无害的)对系统和其他用户),并在root
真正需要时获得电源。
一个例子可能有助于澄清。假设您要在计算机上安装新服务(守护程序);这是相对较新的,您需要阅读有关它以及如何根据需要进行配置的信息。您最终将需要大量浏览Web来查找信息,示例配置等,也许需要进行一些IRC聊天以询问更多信息-这些都不需要root
电源!最后,您只需要对两个操作进行特权访问:
sudo apt-get install ...
),然后计算机安全性中公认的原则是始终使用最小的特权级别来执行操作。-减少了由于软件错误或操作员错误而导致发生不良情况的风险。
Ubuntu的默认设置就是朝这个方向发展。如果您使用的是root
登录名,那么您最终将上网冲浪,并从root
帐户中进行IRC(以及可能同时进行的所有其他操作),从而不必要地使系统受到威胁。
更新:对于您的编译器示例,我将以这种方式进行:
以SSH 的常规用户身份从SSH登录到该节点,并从另一个运行图形X11显示器的Ubuntu或GNU / Linux节点登录。确保启用通过SSH的X11转发:
ssh -X myuser@remotemachine.example.org
在shell / SSH提示符下,发出命令:
sudo /path/to/the/compiler/install/program
这将以root
特权运行编译器安装程序,并(通过SSH转发)访问前面的图形显示。
除了使用root进行警告时,还可以通过从终端登录并执行以下操作来启用root登录:
sudo passwd
这将首先提示您输入密码,然后要求您更改UNIX密码。您输入的密码将用于该root
帐户。
在Ubuntu的维基有根和sudo的Ubuntu的内深处一个伟大的文章-警告和陷阱。
这里有两个问题。一种是,为什么在Ubuntu中默认禁用root登录?这里的几篇文章已经解决了这一问题。
第二个问题是,为什么图形根登录名特别被贬低?
非图形root登录的所有缺点也适用于图形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身份运行)。
打开终端(Ctrl+ Alt+ T或Dash主页>更多应用程序>已安装(扩展)>终端)。
激活根帐户
在终端中键入或粘贴sudo passwd root
。输入您的普通登录密码(如果要求输入密码),然后将要求您输入新root
密码并进行确认。
添加新的登录提示,使您可以输入超级用户名和密码
在终端中键入或粘贴。gksudo gedit /etc/lightdm/lightdm.conf
。这将打开一个图形文本编辑器窗口,您可以在其中编辑登录屏幕的配置文件。
将行添加greeter-show-manual-login=true
到文件的底部。
该文件现在应如下所示:
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true
保存lightdm.conf
文件并退出gedit。
重新启动Ubuntu 12.04,您将看到一个新的“登录”窗口(代替了之前的“其他”窗口),该窗口允许输入用户名和密码。输入root
用户名,然后输入您分配给根帐户的密码。
我希望这可以帮助需要/想要root
访问的其他人。
因为root用户和Administrator(在Windows中)相当于计算机的上帝。该用户可以进行任何调整,从文件许可权到擦除整个文件系统。通常,普通家庭用户以管理员身份运行(使用该名称或第一次启动时设置的其他名称)。由于以该用户身份执行的任何程序都是系统范围的,因此很危险。
对管理特权的缺乏控制会导致病毒/恶意软件甚至自毁问题。因此,包括Ubuntu在内的许多发行版都通过额外的步骤来限制向高功率的过渡(某种程度上的认知步骤有助于坚持“我在这里所做的任何更改都是范围更广的更改”)。
尽管您不能以root用户身份直接登录(由于其他人已经很好地说明了原因),但是您可以以root用户身份运行GUI应用程序。例如,系统→管理→Synaptic软件包管理器是作为root运行的图形应用程序。
要以root用户身份运行应用程序(文本应用程序或GUI应用程序),只需使用以下命令之一:
sudo name-of-the-application
gksu name-of-the-application
它们几乎是相同的。主要区别在于,第一个在终端上要求您输入密码,第二个使用图形对话框。
附加说明:Ubuntu不允许GUI用户以root用户身份登录,因为Ubuntu阻止您使用GUI应用程序(例如nautilus)意外删除或删除重要文件。
仅使用CLI用户界面,可以减少发生错误的风险。但是以前,即使在CLI模式下,我们也无法使用root用户登录,因为Ubuntu为root用户创建了随机密码。根管理任务只能通过将用户密码与命令sudo或gksu一起使用来完成。
它基于Debian规则。