大家好,我是 ubuntu 新手,想在上面安装一个财务应用程序。安装指南告诉我该应用程序不应在系统根目录下运行。现在我不太明白 ubuntu 上的安装和用户之间的联系。
- 如果我安装了一个应用程序,它是否安装在系统根目录(Windows 上的管理员)并且可以访问所有内容?
- 第二个问题是关于“不在根系统上运行它”。如果问题 1 是正确的,我不应该在根系统上运行它,那么我只需要创建一个新用户并授予应用程序权限并从该用户运行它,这样对吗?
答案1
应用程序由可执行文件(即设置了可执行位的二进制可执行文件或脚本)启动。谁可以启动可执行文件取决于文件上设置的权限。
有些应用程序包含在一个独立的文件中。无论它在文件系统的哪个位置,您都可以执行它,程序都会成功运行。
其他应用程序则更为复杂。为了成功运行,它们所需的库和其他文件需要安装在特定位置。当您使用 Ubuntu 软件中心或apt
命令行时,这将通过.deb
安装文件中包含的安装脚本自动执行。
默认情况下不应用程序以系统根目录运行。无论应用程序是系统范围内安装的应用程序,还是主文件夹中的单个可执行文件,当您启动它时,它都会不是以系统 root 身份运行。它将作为启动它的用户的进程运行。如果应用程序必须以 root 身份运行,则管理员需要专门设置。
以前,一些图形应用程序以 root 身份运行。例如“Synaptic Package Manager”仍然如此。然而,目前的趋势是绝不以 root 身份运行图形应用程序,而不是仅针对特定操作以 root 身份生成进程。应用程序“磁盘”就是这种更现代方法的一个例子。只有当您要执行需要 root 权限的操作时,应用程序才会询问您的密码,然后才启动执行任务所需的进程,例如格式化驱动器。
如果我安装了一个应用程序,它是否安装在系统根目录(Windows 上的管理员)并且可以访问所有内容?
如果系统管理员决定,那么可以。换句话说,这不是一般规则。但是,最常见的情况是,应用程序是供用户使用的。因此,管理员(系统根)将它们安装在系统文件夹中,以便所有用户都可以启动它们。
第二个问题是关于“不在根系统上运行它”。如果问题 1 是正确的,我不应该在根系统上运行它,那么我只需要创建一个新用户并授予应用程序权限并从该用户运行它,这样对吗?
如果你希望将应用程序仅限制给特定用户,那么你确实可以进行设置。你确实可以不是需要创建一个新用户。您需要以这种方式配置应用程序,使其只能由该特定用户运行。一种方法是将该应用程序安装在该特定用户的主文件夹下的目录中,这样其他用户就看不到也无法访问它(具体取决于权限)。