sudo chown -R $USER:admin /usr/local - 恢复到 ROOT?

sudo chown -R $USER:admin /usr/local - 恢复到 ROOT?

这个问题是询问/回答以前,我知道我的管理员用户帐户chown打开是安全的/usr/local,我已经githomebrew(使用brew install git)安装了该帐户。

sudo chown -R $USER:admin /usr/local

现在我想知道我是否应该将所有权更改回

谁拥有有关系吗/usr/local

注意:此问题面向 macOS,但也可能适用于 Unix 系统。

答案1

让我们从一些“历史”开始。/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/

相关内容