我如何 运行 以 root 身份酿造?
How can I run brew as root?
我知道这是一个常见问题,但我真的很挣扎。
我最近尝试在我的 Mac OS El-Capitan 上使用 Homebrew 安装 MySQL。但是,我遇到了一些问题,我想重新安装它。然而,每当我尝试这样做时,它都会给我:
Error: Permission denied @ rb_sysopen - /usr/local/var/homebrew/locks/mysql.formula.lock
我试图通过简单地在 root 帐户中手动排序命名文件来绕过这个错误,但是文件太多了。
所以我尝试用 root 卸载它,但它给了我这个错误:
Error: Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.
我看了很多文章,包括这篇link!很多人建议我把/usr/local文件夹直接chown到我自己的root用户账户,这样我就可以运行 brew 没有任何权限问题,但是太危险了。
我试过 运行:
sudo chown root /usr/local/bin/brew
但这并没有奏效。
有什么方法可以绕过这个错误,并且运行 以 root 身份 brew?
Many of them suggested that I chown the /usr/local folder directly to my own user account with root, so I can run brew without any permission problems, but it is too dangerous.
chown
全部 /usr/local/
可能是个坏主意,因为它并不完全在 Homebrew 的控制之下。但是 /usr/local/var/homebrew/locks/mysql.formula.lock
应该没问题。
chown $USER /usr/local/var/homebrew/locks/mysql.formula.lock
并遵循 brew doctor
的建议。
tried to run: sudo chown root /usr/local/bin/brew
But this did not work as well.
所有这一切都是为了让文件 /usr/local/bin/brew
归 root 所有。它不会使 运行 成为 root。您应该将其更改回您的用户所有,否则您将无法升级 brew。
要使其成为 运行 root 用户,您需要使用 setuid。 不要这样做。 这本身就很危险,而且根据您目前对权限的理解会加倍危险。没有什么私人的,权限需要一段时间来习惯和欣赏。
Homebrew 不作为 root 运行 来限制恶意包或简单错误可能造成的损害。 运行宁作为您的用户,它只会破坏您的用户可以访问的内容。这隔离了系统文件等重要内容。这就是 Unix 权限系统的目的:限制可能造成的破坏程度。如果您 运行 brew
作为根用户,则所有投注均无效。
此外,如果 /usr/local/var/homebrew/locks/mysql.formula.lock
由 root 拥有,则意味着 MySQL 运行 作为 root。如果你 运行 MySQL 作为 root 并且它被破坏了,你的整个系统都被破坏了。如果您 运行 MySQL 作为您的用户或特殊的受限 mysql 用户,只有您的用户文件或 mysql 自己的文件会受到损害。 运行 它被自制程序禁止。
学习使用尽可能少的权限运行是非常值得的。
出于安全原因,以 root 身份使用 brew 是个坏主意。相反,您可以将 brew 文件的所有权更改为当前登录的用户。输入这条命令:
sudo chown $USER /usr/local/bin/brew
我知道这是一个常见问题,但我真的很挣扎。
我最近尝试在我的 Mac OS El-Capitan 上使用 Homebrew 安装 MySQL。但是,我遇到了一些问题,我想重新安装它。然而,每当我尝试这样做时,它都会给我:
Error: Permission denied @ rb_sysopen - /usr/local/var/homebrew/locks/mysql.formula.lock
我试图通过简单地在 root 帐户中手动排序命名文件来绕过这个错误,但是文件太多了。
所以我尝试用 root 卸载它,但它给了我这个错误:
Error: Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.
我看了很多文章,包括这篇link!很多人建议我把/usr/local文件夹直接chown到我自己的root用户账户,这样我就可以运行 brew 没有任何权限问题,但是太危险了。
我试过 运行:
sudo chown root /usr/local/bin/brew
但这并没有奏效。
有什么方法可以绕过这个错误,并且运行 以 root 身份 brew?
Many of them suggested that I chown the /usr/local folder directly to my own user account with root, so I can run brew without any permission problems, but it is too dangerous.
chown
全部 /usr/local/
可能是个坏主意,因为它并不完全在 Homebrew 的控制之下。但是 /usr/local/var/homebrew/locks/mysql.formula.lock
应该没问题。
chown $USER /usr/local/var/homebrew/locks/mysql.formula.lock
并遵循 brew doctor
的建议。
tried to run:
sudo chown root /usr/local/bin/brew
But this did not work as well.
所有这一切都是为了让文件 /usr/local/bin/brew
归 root 所有。它不会使 运行 成为 root。您应该将其更改回您的用户所有,否则您将无法升级 brew。
要使其成为 运行 root 用户,您需要使用 setuid。 不要这样做。 这本身就很危险,而且根据您目前对权限的理解会加倍危险。没有什么私人的,权限需要一段时间来习惯和欣赏。
Homebrew 不作为 root 运行 来限制恶意包或简单错误可能造成的损害。 运行宁作为您的用户,它只会破坏您的用户可以访问的内容。这隔离了系统文件等重要内容。这就是 Unix 权限系统的目的:限制可能造成的破坏程度。如果您 运行 brew
作为根用户,则所有投注均无效。
此外,如果 /usr/local/var/homebrew/locks/mysql.formula.lock
由 root 拥有,则意味着 MySQL 运行 作为 root。如果你 运行 MySQL 作为 root 并且它被破坏了,你的整个系统都被破坏了。如果您 运行 MySQL 作为您的用户或特殊的受限 mysql 用户,只有您的用户文件或 mysql 自己的文件会受到损害。 运行 它被自制程序禁止。
学习使用尽可能少的权限运行是非常值得的。
出于安全原因,以 root 身份使用 brew 是个坏主意。相反,您可以将 brew 文件的所有权更改为当前登录的用户。输入这条命令:
sudo chown $USER /usr/local/bin/brew