oro*_*aki 7 security package-management mac-osx file-permissions
包管理器Homebrew(我在 OS X 上,但我对基于 Unix 的安全性一般很好奇,因为它与目录权限有关)将所有者设置/usr/local/bin为我的用户(root默认情况下,对吗?),这意味着现在我可以通过简单地将它们移动到/usr/local/bin(sudo不需要)来安装可执行文件。
/usr/local/bin归root?/usr/local/bin与您的普通用户交流是不是一个巨大的安全问题,因为现在我运行的任何软件都可以代表我安装程序而无需我的密码?从他们的常见问题解答中,这是为了避免在安装软件包时必须以 root 身份从 Internet 运行任意代码的危险做法。对于大多数用户来说,这是一个合理的妥协 - Homebrew 通常用于一个人的开发机器,而不是生产多用户服务器。
Homebrew 旨在无需使用 sudo 即可工作。您可以决定使用它,但我们强烈建议不要这样做。如果您使用过 sudo 并遇到错误,那么它很可能是原因。请不要提交错误报告,除非您可以在不使用 sudo 的情况下从头重新安装 Homebrew 后重现它。
您应该只对您信任的工具进行 sudo。当然,您可以信任 Homebrew ;) 但是您信任 Homebrew 运行的多兆字节 Makefile 吗?开发人员对 C++ 的理解通常比对 make 语法的理解要好得多。sudo 这类东西的风险太高了。它可能会破坏你的基本系统,或者巧妙地改变它。
事实上,我们已经看到一些构建脚本试图修改,
/usr即使前缀被完全指定为其他东西。你 chown 根
/Applications/TextMate.app吗?可能不是。那么对它那么重要chown root wget吗?如果您需要在多用户环境中运行 Homebrew,请考虑创建一个单独的用户帐户,特别是为了使用 Homebrew。
对于为什么它不只是在你的安装~,请参阅前面FAQ问题:“为什么家酿喜欢我安装到/usr/local?”。