使用 GUI 时无需 root 权限

使用 GUI 时无需 root 权限

因此,我以用户“Shannon”的身份登录,但当我被提示安装程序时,无法通过 GUI 获得 root 访问权限。但是使用sudo su,输入 root 密码,通过终端获得访问权限,然后从那里安装程序。这些密码不应该是相同的吗?

有人知道如何解决这个问题吗?

答案1

好的,让我简单解释一下。有两个不同的用户:Shannonroot。在 Ubuntu 中,默认情况下root没有密码根本无法登录根本。如果想执行需要 root 权限的任务,他使用查阅名为 的文件的 Shannon命令,并能够将其转换为。sudo/etc/sudoersShannonroot

默认情况下,sudo想要确保Shannon确实是Shannon他的狗,而不是刚刚接管键盘的狗。这就是为什么要求sudo用户Shannon他的(而不是 root 的)密码。还请注意,“需要 root 权限的任务”可以是 bash shell,这实际上意味着您可以以 root 身份登录(无需使用 root 密码!)。

因此,并不是两个用户(Shannon和)的密码不同,而是实际上没有要求输入root的密码root根本

就我个人而言,我没有养狗;这就是为什么我修改了它/etc/sudoers,让它从不询问我的密码——有密码就足够了。使用命令,sudo visudo我编辑/etc/sudoers了以下行:

%sudo ALL=(ALL:ALL) ALL

上面这一行的意思是来自 sudo 组的所有用户(如果他安装了他的系统,我只能假设他Shannon属于这个组)基本上可以运行所有 root 命令。

%sudo ALL=(ALL:ALL) NOPASSWD: ALL

啊,但是现在 NOPASSWD 指令确保我不仅可以以 root 身份运行任何程序,还可以在运行它时不必输入密码。请注意,要编辑此文件,我必须使用该程序visudo可以确保我不会犯任何语法错误。sudoers文件中的语法错误可能会完全禁用 sudo 系统——然后,如果 root 没有密码,你就陷入了困境。

更令人困惑的是,还有另一个程序允许暂时获得 root 权限,名为su。然而,su它更原始——它只要求输入密码根的。因此,它不起作用在默认的 Ubuntu 安装中。

那么,当您输入 时,实际上会要求输入哪个密码sudo su?好吧,您首先运行的命令是sudo,而不是su。因此,要求您输入Shannon的密码,而不是 root 的密码。sudo然后获得 root 权限并su以 root 身份运行。但是当 root 运行 时susu不会要求输入密码。无论如何,不​​要这样做——这就是 的用途sudo -i(做完全相同的事情)。

答案2

默认情况下,ubuntu 中的 root 权限是被锁定的。

为了获取 root 权限,我们会使用sudo su它来输入密码。

在安装任何软件时,它也会提示输入相同的密码。

要解锁 root 帐户sudo -i,请使用passwd这种方式,您可以解锁 root 帐户,尽管我们不建议这样做。

相关内容