我正在尝试退出 OS 10.8.2 上的自制软件安装,但不确定我是否明白我需要做什么(或者我是否需要费心去做)才能将权限恢复到安装之前的状态。我已执行了所有其他建议步骤并想确保最后一步将某些目录的权限恢复到安装前的状态。
Homebrew 到底对我在这些目录上的权限做了什么?保留这些更改是否安全,或者保留这些更改是否会带来安全风险?保留这些更改是否有利,以便其他包管理器可以更顺利地工作?
答案1
Homebrew 到底对我在这些目录的权限做了什么?
据我所知,Homebrew 允许您的用户拥有/usr/local
,并将组设置为admin
(或staff
)。这适用于通过 Homebrew 在该目录中创建的所有子目录。默认情况下,我相信/usr/local
归wheel
组所有。
中的其他目录/usr/local
(即非 Homebrew)可能归您的用户所有,但可能拥有其他组所有权(例如staff
,wheel
)。请参阅:Mac OS X 上的默认组有何区别?
最后,要了解 Homebrew 最适合哪些权限(或附带哪些权限?),请查看以下 Gist:修复 Homebrew 的 /usr/local 权限。
保持更改状态是否安全,或者保持更改状态是否会带来安全风险?
默认情况下,/usr/local
在 OS X 上不用于任何用途。
您可以放心地将其归您的用户和admin
组所有。当其他安装程序将文件和目录放在那里时,如果他们需要 root 访问权限,系统会提示您,但这种情况不太可能发生,而且会在一定程度上违背拥有用户所有目录的目的。
这绝对不是一个安全风险。
保留它们的改变是否有利,以便其他包管理器可以更顺利地工作?
如果包管理器需要更改权限才能安装或顺利运行,它会提示您。甚至 Homebrew 也会检查权限,如果它们不符合某些条件,它会警告您。您可以通过调用 来确认这一点brew doctor
。
例如,MacPorts 甚至不会使用/usr/local
,但会/opt/local
默认安装下面的所有内容。当然,您也可以将其放入/usr/local
,但 MacPorts 安装程序应该会处理此处的权限。我相当确定它会将所有权更改为root
此处,而 Homebrew 无需提升权限即可运行。
哦,同时运行 MacPorts 和内置的包管理器/usr/local
并不是一个好主意。请参阅MacPorts 常见问题解答。
Fink 再次使用/sw
上述任何目录,违反了文件系统层次标准以某种方式。它也可以安装到/usr/local
,并且与 MacPorts 相同的操作也适用于此处。