如何不成为root用户? 管理员是root吗?
我在我的电脑上安装了Ubuntu。 要登录,我使用我在安装过程中创建的用户名和密码。 这是否意味着我是root用户? 如果是,那么我如何成为非root用户呢? 看起来非root用户比admin用户更安全。
您是管理员,但不是root
。 root
用户可以做任何事情。 管理员可以以root
身份执行操作 ,但通常管理员执行的操作通常不是root
用户执行的操作 。 这样,您就可以完全控制自己的系统,但只有在您选择使用它时。
当您尝试以root
身份执行操作时,Ubuntu会询问您的密码,以确保它真的是您。
用户帐户:人为,否则
真正的人类用户拥有用户帐户来代表他们。 您在安装Ubuntu时创建了一个此类帐户。 但并非所有用户帐户都代表真正的人类用户 。
真实的人类用户通过其用户帐户被授予(和拒绝)能力。 他们必须使用他们的用户帐户来使用该系统; 因此,他们的用户帐户的能力和限制适用于他们。
用户帐户还用于编写一组能力和限制。 一些用户帐户 – 实际上,除非您拥有该计算机的许多人类用户,否则存在,以便某些程序或命令可以使用其身份,具有正确能力的身份和作业限制来运行。
例如, www-data
用户存在,因此如果您运行Web服务器,它将拥有服务器可访问的数据。 不需要授权真正的人类用户对这些数据进行未经检查的更改,并且不必授权Web服务器执行服务Web所不需要的任何操作。 因此,网络数据和系统的其他部分都更安全,防止意外或故意破坏,而不是网络服务器是由一些人类用户运行的,他们拥有网络服务器的所有权力(以及网络服务器的权力)具有)。
最重要的非人类用户帐户
超级用户 ,其用户名为root
,是一个非人类用户帐户,具有非常具体的能力和限制组合: 所有能力,没有限制 。
root
允许做任何事情。 仍然有root
无法做的事情,因为系统本身无法执行或理解它们。 因此root
不能杀死 不间断睡眠 的过程 ,或者让摇滚太重而无法移动,然后移动它 。
许多重要的系统进程(如init
)以root
身份运行, root
用于执行管理任务。
我可以以root
身份登录吗?
可以配置root
帐户,以便可以使用密码登录,但默认情况下在Ubuntu中不会启用此function。 相反,您可以将root
视为像www-data
, lp
, nobody
和其他非人类帐户。 (运行cat /etc/passwd
或getent passwd
来查看它们。)
人类用户使用他们自己的用户帐户登录,然后如果要使用其他用户帐户执行某项任务,则会导致使用该身份执行该任务 ,而无需实际以该用户身份 登录 。
可以配置其他非人类用户,例如www-data
,因此也可以以其身份登录。 但这种情况非常罕见,而在其他类似Unix的操作系统中,以root
身份登录终端是很常见的。 以root
身份运行整个图形界面的风险,加上有多少图形程序不是以root
身份运行而且可能无法正常运行,这意味着您永远不应该尝试获得root
桌面会话 。
请注意,虽然在Ubuntu中默认禁用以root
身份登录,但是有一些方法可以获得root
shell而无需以root
身份进行身份validation,从而产生类似的效果:最常见的是sudo -s
或-i
, 恢复模式和类似技术 。 (如果您不知道这些是什么,请不要担心。)这实际上并没有登录:在恢复模式下,您在任何登录之前成为root
; 使用基于sudo
的方法,你只是以root身份运行shell。
管理员
在Ubuntu中,管理员是那些可以在他们选择的时候以root
用户做任何事情的用户。
系统设置>用户帐户。 “Eliah Kagan”是一名管理员,因此他可以像root
一样做事,但他不是root
。
我是我的Ubuntu系统的管理员。 当我运行程序时,通常它们以ek
运行(“Eliah Kagan”是与ek
用户名对应的全名。)
当我运行AbiWord或LibreOffice时,它运行为ek
。 当我运行Firefox,Chromium,Empathy或Pidgin时,它运行为ek
。 运行以提供桌面界面的程序以ek
运行。
但是,我是管理员,所以如果我需要执行管理任务,我可以这样做。
须藤
在命令行中,我通常会使用sudo
以root
身份运行命令:
sudo command...
这将提示我输入密码。 (不是root
的密码; root
没有密码。)
- 因为我是管理员,所以我可以以
root
身份执行操作。 在默认配置中,我必须输入我的密码才能执行此操作。 - 非管理员的用户无法以
root
身份执行操作,即使输入密码也是如此。 如果运行它们的用户不是管理员,则sudo
命令将失败。
由于管理员是完全普通的用户, 除了能够以root
身份执行操作之外 ,运行需要root
权限的命令仍然会失败,除非命令以root
身份运行。
由于我以图形方式提示,因此不必是终端。 这是管理工具以root
身份运行的方式之一。
Polkit
Polkit (曾经称为PolicyKit)是管理员以root
身份执行操作的另一种方式。 程序访问执行操作的服务。 有时,行动正在运行整个程序; 有时行动更有限。
目前,许多图形系统管理实用程序都设置为默认使用polkit,而不是使用sudo
。
这种实用程序的一个例子是软件中心。 它充分利用了polkit,要求用户只有在想要执行需要root
权限的操作 时才输入密码。 (这也可以通过基于sudo
的身份validation来实现,但实现起来更难和更难。)
在软件中心,我可以找到并阅读有关应用程序的内容; 当我想安装它时,我被要求输入密码。
polkit如何与众不同
任何图形程序都可以使用gksudo
和其他图形sudo
前端以root
身份运行。 (该程序可能无法正常工作 ,具体取决于它是否设计为以root
身份使用。但启动程序的命令将以root
身份执行。)
虽然polkit现在比sudo
GUI前端更常见,因为Ubuntu上的应用程序在幕后以root
身份执行操作,但是如果存在允许它并指示可以执行哪些操作的配置文件 ,则polki将仅以root
身份运行图形应用程序。
Polkit,非图形
pkexec
是用于使用polkit运行程序的命令。
像sudo
一样, pkexec
可以运行非图形命令。 (并且它不需要定义命令function的配置文件 – 它只是以root
身份运行命令。)
pkexec command...
pkexec
以图形方式提示输入密码,即使它是从终端运行的(这是其行为与gksudo
更类似于运行直接sudo
)。
(如果没有GUI – 例如,如果您从虚拟控制台或纯文本SSH会话登录 ,或GUI未正常运行 – 则pkexec
将正常降级并在命令上提示您输入密码线。)
成功执行身份validation后,该命令将在终端中运行。
没有一个愚蠢的问题;)
我希望这会澄清一些事情:
在Ubuntu中,可以创建两种不同类型的用户帐户: 标准帐户和管理员帐户。 两者之间的区别:标准帐户不允许通过root访问权对系统进行任何重要更改,而管理员帐户可以使用其密码以root用户身份进行更改。 Root用户本身是系统创建的许多用户之一,您通常不会看到或注意到,并且您无法以其身份登录(默认情况下,无论如何)。 如果您已登录管理员类型帐户,则可以在终端中使用sudo
命令成为此Root用户,并且您可以输入密码以安装软件,进行系统更改等。如果您已登录作为标准用户,您无法执行任何操作。
在所有Linux系统中要对系统进行任何更改,我们需要以root用户身份进行身份validation,并应用我们需要成为root用户的所有更改。
普通用户无法在系统范围内应用更改。与Windows相比,这是Linux的优势。
如果进行了任何攻击,那将只会导致Linux / Unix系统中的那个区域因为攻击或修改剩余区域它需要root权限但是在Windows中如果一个地方受到攻击意味着整个系统将受到影响。
这就是为什么只有在许多问题中,如果任何用户没有提示root密码,那么我们会警告他,因为在安全情况下不建议这样做并将选择权交给他们。
如果你想变成root用户,sudo可以帮助你。
sudo -i
如果您想以root用户身份启动应用程序,那么您可以sudo。
sudo
以非root用户身份运行系统总是更好。
安装期间创建的帐户是管理员帐户 。
在Ubuntu中,root帐户没有密码,因此您无法以root
用户身份登录。 有办法绕过这个,但这是默认设置。
Ubuntu中的管理员帐户表示该用户已添加到组sudo
,这使该帐户有资格使用sudo
命令临时获得优先权。 PolicyKit可以通过提示“管理员”密码来请求权限提升。 (您需要选择管理员用户,并提供该帐户的密码。)
要确认这些是真的:
-
打开终端并尝试更新软件包索引。
apt-get update
是用于执行此操作的命令,这需要以root身份运行。 它仅在您以root用户身份登录或通过使用权限提升以root身份执行时才有效。 管理员可以通过对sudo
机制进行身份validation来运行sudo apt-get update
,该机制允许命令以任何用户身份运行。 不允许标准用户执行此操作。 -
从“系统设置”中打开用户帐户,然后尝试添加新用户。 PolicyKit使用的保护机制。 管理员将被允许进行身份validation和升级权限,但标准用户将被阻止。 它需要“管理员”密码才能继续。
以下是检查您的帐户是否为管理员的方式:
- 从系统设置中打开用户帐户。
- 在左栏中选择您的用户帐户。
- 您应该在管理员帐户和
Standard
普通用户的窗格中的帐户名下看到Administrator
。
没有。
您登录Ubuntu的用户不是admin用户(Linux术语中的admin用户称为root用户)