使用 GUI 时没有 root 权限

Sha*_*non 2 permissions root sudo 13.10

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

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

Jan*_*ary 7

好的,让我写一个简短的说明。有两个不同的用户:Shannonroot。在Ubuntu中,默认情况下,root没有密码和无法登录根本。如果Shannon想做需要root权限的任务,他所使用的命令sudo是咨询一个名为 /etc/sudoers并且有再翻Shannonroot

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

因此,它是不是这两个用户(Shannonroot)有不同的密码,但的密码root实际上没有被要求在所有

就我个人而言,我没有狗。这就是为什么我/etc/sudoers以这样一种方式进行修改,它从不询问我的密码 - 有足够的。使用sudo visudo我编辑/etc/sudoers并编辑了以下行的命令:

%sudo ALL=(ALL:ALL) ALL
Run Code Online (Sandbox Code Playgroud)

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

%sudo ALL=(ALL:ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

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

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

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