为什么 brew 从不要求输入密码?

为什么 brew 从不要求输入密码?

我已经使用 Ubuntu 三年了,现在我转向了 Mac OS X。我将我的帐户设置为管理员用户,并在 拥有自己的空间/Users/<my-username>

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

我不明白;有人可以解释一下吗?

答案1

Homebrew 不仅不需要sudo,而且警告不要使用它。

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

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

在 Ubuntu 上,您需要获得管理权限,因为 APT 安装的软件包将其文件和配置存储在系统目录(如/etc/usr/bin)中,默认情况下不允许普通用户修改。

另一方面,如果您运行某个程序,则可能需要管理员权限才能执行某些操作(例如注册为服务)。此要求与读取/写入文件(属于包)的权限无关,在这些情况下,Ubuntu 和 Mac OS X 都需要sudo

相关内容