今天我运行brew update
,迁移存储库后,它报告它不再需要拥有以下内容的所有权/usr/local
:
$ brew update
Updated Homebrew from 5371359 to 13f08a2.
...
==> Migrating HOMEBREW_REPOSITORY (please wait)...
==> Migrated HOMEBREW_REPOSITORY to /usr/local/Homebrew!
Homebrew no longer needs to have ownership of /usr/local. If you wish you can
return /usr/local to its default ownership with:
sudo chown root:wheel /usr/local
此更改似乎有点可疑。brew如何完成这种新行为,显然绕过安全控制?
就是说,不是Homebrew的用户,因为我直接从源代码编译OS X中不包含的所需实用程序,但是我想像一下Homebrew已经根据需要/必需进行了重写,以正常运行,就像其他应用程序一样。过去完成的。IMO Homebrew应该是从一开始就写的,不必一开始就篡夺根所有权!
—
user3439894 '16
我的意思是,如果
—
杰森·库姆斯
/usr/local
和它的子项由root:admin
或拥有,root:wheel
并且不是组可写的,那么我将无权写入这些目录(大概也不允许自制),但是如果是这样,那么Homebrew如何管理安装并从这些位置删除应用程序?
我只是注意到该消息仅引用
—
杰森·库姆斯
/usr/local
而不是其后代。并查看全新的自制程序安装有什么作用,它确实将所有子目录设置为$ USER拥有,并且组可写。
/usr/local
不包括在SIP。请参阅“ 在Mac上关于系统完整性保护的信息 ”/usr/local
,其中列出了“第三方应用程序和安装程序可以写入的路径和应用程序可以包括:” 。