如何以root身份运行应用程序?

Ale*_*don 14 root sudo

我对 Kate 和 Kwrite 有一些奇怪的问题。当我点击Open File 时,它会因分段错误而崩溃。

我是 Linux 的完全新手,我认为问题在于我没有以 root 身份运行应用程序。

如何在 Ubuntu 中以 root 身份运行应用程序?这样做是不好的做法吗?整个 root 的目的是什么,即使我们需要如此频繁地使用 root,它也没有作为默认使用?

God*_*ard 14

以 root 身份运行程序非常简单。

对于控制台程序使用

sudo <program name>
Run Code Online (Sandbox Code Playgroud)

如果是 GUI 应用程序,请使用

gksudo <program name>
Run Code Online (Sandbox Code Playgroud)


thi*_*rty 14

类 UNIX 操作系统(包括 Linux)使用称为权限分离的概念来确保系统保持安全。UNIX 从一开始就被设计为一个多用户系统——也就是说,它的设计目的是让许多人可以同时使用一台运行 UNIX 的计算机。因为大多数用户不需要能够修改核心系统,只有系统管理员应该拥有该权限。该特权用户传统上称为root。(Root 很像 Windows 中的管理员。)

这在几个层面上都是有意义的。通常,将端口暴露给其他(可能是恶意的)计算机的 Web 服务器或其他进程会以自己的用户身份运行(Apache 以用户身份运行nobody),这样即使 Web 服务器程序被黑客入侵,攻击者也无法破坏整个机器很容易。对于大多数单用户计算机(例如台式机)来说,这甚至是有意义的:例如,如果您家庭的其他成员以某种方式设法运行rm -rf /不要运行),他们将无权删除系统上的每个文件,例如如果没有特权分离之类的东西,他们会这样做。

您可以使用多个命令来提升权限。该sudo命令的存在是为了在您需要它们来管理系统时暂时授予您 root 级权限。您也可以使用命令gksudosu。后者只有在您知道 root 的密码时才能使用,如果您的帐户无权使用sudo.

root 用户可以在系统上做任何事情,几乎没有例外。因此,即使您不小心请求某些东西,它也会在很少或没有警告的情况下执行,即使它对您的系统的健康有害。这就是为什么最好以普通用户身份完成大部分活动并仅在需要时使用 root 用户的原因,例如在安装程序时。

您不需要使用 root 来消除分段错误。如果 root 是唯一修复段错误的东西,那么程序就有错误。程序不应该因为没有 root 而失败。


Mas*_*oor 5

除了前面提到的关于 sudo 和 gksudo 的答案之外,是的,除非这是一个管理程序,否则以 root 身份运行程序绝对是一种不好的做法。

请尝试找出程序崩溃的原因。如果需要,请寻求他人的帮助。