2026-01-08 19:06:02

为什么Brew从不要求密码?

标签列表为什么Brew从不要求密码?macossudohomebrew3我过去3年一直使用Ubuntu,现在转到了Mac OS X。我将我的帐户设置为管理员用户,并在/Users/下有自己的空间。

以前,在Ubuntu上每次安装软件包时,它都会要求输入我的root密码,我必须在命令之前加上sudo。但是在OS X中,我可以直接使用brew install。我知道我是一个root用户(拥有管理员权限),所以不需要使用sudo,但是对于启动诸如mongod之类的服务,我必须使用sudo。为什么会这样呢?

我不太明白,请问有人可以解释一下吗?

- darxtrix1个回答3Homebrew不仅不需要使用sudo命令,而且还警告不要使用它。

Homebrew将文件存储在“用户空间”(在/usr/local分支下),并且不会触碰系统目录。

可执行文件存放在/usr/local/bin,配置文件存放在/usr/local/etc,软件包存放在/usr/local/Cellar中。这些目录默认情况下不需要管理员权限来写入文件(拥有者和组admin的成员对这些目录具有完全的权限)。

在Ubuntu上,你被要求提供管理员权限,因为由APT安装的软件包将其文件和配置存储在系统目录中(如/etc、/usr/bin),默认情况下不允许普通用户修改这些文件。

另一方面,如果运行程序需要进行某些操作(如注册为服务),可能需要管理员权限。这个要求与读/写文件的权限(属于软件包)是独立的,在这些情况下,无论是Ubuntu还是Mac OS X都需要使用sudo命令。

- techraf3谢谢,为什么它警告不要使用? - darxtrix1因为它被设计成以普通用户身份运行。问题是,如果你使用sudo一次,那么根账户将拥有所有新创建的目录。如果你之后以普通用户身份运行它,它将无法升级或删除旧的软件包。 - techraf这个更有帮助一些,http://askubuntu.com/a/308048/340132。谢谢 :) - darxtrix回答链接相关问题© 2023 根据CC BY-SA 4.0 许可证授权京ICP备19056307号-1

《辐射4》帮派旗子建造方法解析攻略
老板不想发工资应该怎么办