为什么 /usr/local/ 归 root 所有?

nul*_*ull 9 filesystem permissions directory

我想知道为什么诸如/usr和 之/usr/local/类的目录由 root 拥有和创建。通常我以普通用户身份登录,我想在这些目录中存储我个人使用的程序。例如,Android Studio 存储在那里。每当我需要进行更新或进行任何类型的更改时,都不会授予权限,因为我不是以 root 身份登录的。

目录名“usr”已经暗示(普通)基于用户的程序应该在那里。

我没有得到这个目录背后的概念吗?

Jac*_*ijm 15

没有 sudo 权限,没有什么可以阻止您在本地安装和运行应用程序。在本地,意思是:在您自己的主目录中。这就是它应该的样子。

您不应该对与系统上可能的其他用户共享的目录具有相同的权限。

关于 /usr

usr字面含义的解释从unix 系统资源用户系统资源不等。然而,后者不应被解释为用户拥有,而是为用户服务,与为系统服务相反。在这里我们读到/usr

只读用户数据的二级层次结构;包含大多数(多)用户实用程序和应用程序。

最重要的是,所有(现代)解释都提到它是关于“可共享的只读数据”,并且:“不应写入


mur*_*uru 5

目录名“usr”已经暗示(普通)基于用户的程序应该在那里。

自从 Unix 历史的黑暗时代以来,如果它曾经是的话。缩写“etc”和“usr”是什么意思?

现在,该/usr目录由管理员处理。但是,几乎所有内容/usr都由包处理,/usr/local管理员可以在包管理系统之外安装本地软件。让我们参考Filesystem Hierarchy Standard

/usr/local : 本地层次结构

目的

/usr/local层次结构供系统管理员在本地安装软件时使用。它需要在系统软件更新时不会被覆盖。它可用于在一组主机之间共享的程序和数据,但在/usr.

本地安装的软件必须置于/usr/local而非/usr除非正在安装它来取代或升级软件/usr

对于这两个/usr/usr/local在现代的Linux系统,普通用户不应该有写权限。在单用户系统上,当然,您可以授予对 的写访问权限/usr/local,但sudo无论如何您都拥有特权(您必须多久写入一次这些目录?)。