Mik*_*iLL 4 permissions directory-structure homebrew macos
这个问题被问/回答之前,我知道它是安全的,chown
对/usr/local
我的管理员用户帐户,这是我对我所做的安装git
使用homebrew
(使用brew install git
)。
sudo chown -R $USER:admin /usr/local
Run Code Online (Sandbox Code Playgroud)
现在我想知道是否应该将所有权改回root。
谁拥有重要/usr/local
吗?
注意:此问题面向 macOS,但也可能适用于 Unix 系统。
小智 5
让我们从一些“历史”开始。/usr/local
通常用于存储未随基本操作系统安装的用户程序/数据。通常,当您使用 automake 从源代码制作程序时,它们将安装在/usr/local
. 因为主操作系统本身不依赖这个目录,所以权限真的取决于管理员的偏好。
现在,我们也可以换个角度来考虑。当您拥有某个目录的用户+r
或+w
或+x
权限时,这些权限仅适用于该目录的所有者。通常,用户权限高于组或所有权限,这意味着所有者/usr/local
将拥有比其他帐户更高的权限。现在,如果组和/或所有权限等于或大于用户对该目录的权限,那么实际所有者是谁并不重要。
因此,您需要问自己的问题是哪些用户将使用位于 中的“东西” /usr/local
,您是否关心其他用户是否可以访问相同的“东西”?您的回答可能不仅会影响拥有此目录的用户,还会影响该目录上的用户、组和所有权限。
使用 home-brew,让这个目录由管理 home-brew 软件包系统的用户拥有通常是个好主意。对于更多的共享系统,更常见的是这个目录由 root 拥有,因为即使这个目录是用户控制的,通常系统管理员也希望控制存放在这个目录中的内容。
作为参考,这里有一个库存 Linux (Ubuntu) 机器的示例,然后是库存的 Mac OS X 机器:
user@ubuntu:~$ ls -ld /usr/local
drwxr-xr-x 10 root root 4096 Sep 10 2013 /usr/local
Mac:~ user$ ls -ld /usr/local
drwxrwxr-x 12 root admin 408 12 Apr 04:32 /usr/local/
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8367 次 |
最近记录: |