/usr/local/bin 的权限/所有权

/usr/local/bin 的权限/所有权

据我了解,放置您自己的脚本的正确位置是/usr/local/bin(例如我用来备份某些文件的脚本)。我注意到该文件夹​​当前(默认情况下)由 root 用户拥有,而我的普通用户无权访问它。我是这台计算机上的唯一用户。我应该将整个文件夹更改为我自己的用户吗?或者还有其他正确的方法来安排权限/usr/local/bin

答案1

/usr/local默认情况下,所有子目录(包括)的所有者和组bin应该是root.root,权限应该是rwxr-xr-x。这意味着系统的用户可以在此目录结构中读取和执行,但不能在那里创建或编辑文件。只有root帐户(或使用 的管理员sudo)应该能够在此位置创建和编辑文件。尽管系统上只有一个用户,但将此目录结构的权限更改为除 之外的任何用户都可写通常是一个坏主意root

我建议将您的脚本/二进制文件/可执行文件放入/usr/local/bin根帐户中。这是一个值得养成的好习惯。您还可以将脚本/二进制文件/可执行文件放入 $HOME/bin 中,并确保 $HOME/bin 位于您的 $PATH 中。

请参阅此问题以获取更多讨论: 本地可执行文件应该放在哪里?

答案2

通常放置您自己的脚本的位置是~/bin,然后将此目录添加到您的PATH.

答案3

既然你是仅有的系统上的用户,因此也是您编写的脚本的唯一用户,我认为在/usr/local/bin.安装脚本/usr/local/bin只会使备份和维护个人文件变得更加困难。

此外,/usr/local当从本地编译的源代码安装外部软件时,可能会使用层次结构,这意味着以这种方式安装的软件有覆盖您的个人脚本和/或意外地将它们拾取为系统提供的工具的潜在风险(取决于如何您命名您的脚本)。

另请注意,某些 BSD 系统上的包管理器会在/usr/local(例如 OpenBSD 和 macOS)下安装包,这是为个人脚本保留特定文件层次结构的另一个原因。

如果您是系统的唯一用户,则只需安装在 下$HOME,例如在$HOME/local层次结构中。要么使用一个完全独立的层次结构,例如,/opt/sw某个这样的地方(基本系统或包管理器不使用)。

相关内容