我对Kate和Kwrite有一些奇怪的问题。当我单击“ 打开文件”时,它因分段错误而崩溃。
我是Linux的新手,我认为问题是我没有以root用户身份运行该应用程序。
如何在Ubuntu中以root用户身份运行应用程序?这样做是不好的做法吗?整个根目录的目的是什么,即使我们需要如此频繁地使用根目录,但默认情况下也不使用根目录?
我对Kate和Kwrite有一些奇怪的问题。当我单击“ 打开文件”时,它因分段错误而崩溃。
我是Linux的新手,我认为问题是我没有以root用户身份运行该应用程序。
如何在Ubuntu中以root用户身份运行应用程序?这样做是不好的做法吗?整个根目录的目的是什么,即使我们需要如此频繁地使用根目录,但默认情况下也不使用根目录?
Answers:
类似UNIX的操作系统(包括Linux)使用称为特权分离的概念来确保系统保持安全。UNIX从一开始就被设计为多用户系统-即,它被设计为使许多人可以一次使用运行UNIX的计算机。因为大多数用户不需要修改核心系统,所以只有系统管理员才具有该特权。传统上,该特权用户称为root。(根非常类似于Windows中的管理员。)
这在几个层面上都是有意义的。通常,将端口暴露给其他(可能是恶意)计算机的Web服务器或其他进程将以其自己的用户身份运行(Apache以user身份运行nobody
),因此,即使Web服务器程序被黑客入侵,攻击者也无法对其进行破坏整个机器非常容易。甚至对于大多数单用户计算机(例如台式机)来说,这都是有意义的:例如,如果您家庭中的其他成员设法以某种方式运行rm -rf /
(不要运行),他们将无权删除系统上的每个文件,例如如果没有特权分离之类的东西,他们就会这样做。
您可以使用几个命令来提升特权。sudo
存在该命令的目的是在您需要root级特权来管理系统时临时为您提供root级特权。您也可以使用命令gksudo
或su
。仅当您知道root的密码时,才可以使用后者;如果您的帐户无权使用,则后者是一个不错的选择sudo
。
root用户可以在系统上执行任何操作,几乎没有例外。因此,即使您偶然请求某些内容,即使对系统的健康有害,也不会发出警告或几乎没有警告。这就是为什么最好的做法是以普通用户的身份进行大多数活动,并仅在需要时才使用root用户,例如在安装程序时。
您无需使用root即可消除分段错误。如果只有root用户可以修复segfault,则该程序存在错误。程序不应因为没有root而失败。
root
就像拿大锤把花生弄碎。更好地标识文件并决定是否根据需要更改所有权或权限。例如,我有一个admin
文件组,其他人不需要更新或访问。
您也可以/usr/share/applications
在ubuntu中进入并编辑您要运行的应用程序的启动文件。
就像我编辑的文件一样github atom
,通常我使用通配符来查找这样的文件
sudo nano atom*
这将打开atom.desktop
文件,现在找到Exec命令并在gksudo前面添加。例如,
之前
Exec=/usr/share/atom/atom %U
后
Exec=gksudo -k -u root /usr/share/atom/atom %U
现在,只要启动该应用程序,它将要求输入root密码。
segmentation fault
或使用其他编辑器(gedit是gnome的编辑器)。kate和kwrite是KDE程序(不是Gnome)。