自制多用户设置

时间:2015-02-17 07:29:20

标签: macos homebrew homebrew-cask

我正在尝试为多个用户修复我的Homebrew安装,并找到了关于strug.de(http://blog.strug.de/2012/06/my-homebrew-multi-user-setup/)的指南,该指南旨在解决此问题。

我创建了一个brew用户组,添加了该组中的所有用户并运行此用户来调整权限:

sudo chgrp -R brew /usr/local
sudo chmod -R g+w /usr/local
sudo chgrp -R brew /Library/Caches/Homebrew
sudo chmod -R g+w /Library/Caches/Homebrew
sudo chgrp -R brew /opt/homebrew-cask
sudo chmod -R g+w /opt/homebrew-cask

我们假设我在登录用户帐户 A 时执行了此操作。几天后,我登录了用户帐户 B 并尝试通过Cask安装Dropbox。这就像一个魅力,因为我们之前修复了权限,因此brew组也可以在这些文件夹中写入。

现在又过了几天,我又重新登录 A 并想要摆脱Dropbox。我运行以下命令,但坚持使用权限错误:

$ brew cask install dropbox --force
==> Downloading https://www.dropbox.com/download?plat=mac&full=1
Already downloaded: /Library/Caches/Homebrew/dropbox-latest
==> Symlinking App 'Dropbox.app' to '/Users/friedmann/Applications/Dropbox.app'
Error: Permission denied - /opt/homebrew-cask/Caskroom/dropbox/.metadata/latest/20150217070443.598

  Most likely, this means you have an outdated version of homebrew-cask. Please run:

      brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup

  If this doesn’t fix the problem, please report this bug:

      https://github.com/caskroom/homebrew-cask/issues

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in `mkdir'
[...]

要为用户 B 解决此问题,我必须再次运行chgrpchmod' s(如上所述) 。然而,这种解决方法并不是真的很感激,因为我不想随意地#34;每当我在用户帐户之间来回切换时,都会运行所有命令。

根据指南,我有什么遗漏或者我做错了吗?

我不确定该指南的作者是如何解决这个问题的。

4 个答案:

答案 0 :(得分:3)

我知道这个问题有点陈旧,但我的回答可以帮助其他人到这里寻求帮助。

帮助我解决这个问题的主要问题是,多个用户的homebrew-cask也在设置Caskroom文件夹的权限:

sudo chgrp -R brew /opt/homebrew-cask/Caskroom
sudo chmod -R g+w /opt/homebrew-cask/Caskroom

然后brew cask install dropbox工作得很好。

答案 1 :(得分:1)

我必须在 Catalina 10.15.2 上进行设置,并按照以下步骤操作:

  

注意

     

我使用了系统偏好设置中的“用户和群组”设置,   酿造组(创建新帐户时选择组)。我添加了   执行对该群组的权限,以便我可以访问dart2native   可执行为非管理员用户。

     

我还使用Cakebrew来管理所有公式,   配置正在运行。我确实注意到了一个警告,如果用户A有一个   文件已锁定,他们将需要运行Brew清理才能进行清理   为用户B酿造。

     

使用brew cask install <appname>时-如果其中一位用户可能会遇到问题   不是管理员,在这种情况下,管理员用户可能需要执行   安装。

     

除了这些警告以外,一切似乎都运行良好。

设置

(假设Allen是管理员,而Stan不是)

  • 创建一组冲泡并添加Allen&Stan
  • 酿造医生(艾伦(Allen)检查他是否正确安装了酿造啤酒
  • sudo chgrp -R brew $(brew --prefix)/ *(更改Homebrew安装目录的组)
  • sudo chmod -R g + w + x $(brew --prefix)/ *(允许组成员在此目录中读取,写入和执行)
  • 酿造医生(斯坦检查他是否可以使用自制酒)

(来源:https://medium.com/@leifhanack/homebrew-multi-user-setup-e10cb5849d59

答案 2 :(得分:0)

除格雷戈里奥的答案外,我发现我还必须:

sudo chgrp -R brew /usr/local/Cellar
sudo chmod -R g+w /usr/local/Cellar

答案 3 :(得分:0)

我从几篇文章中整理了以下内容,因为我无法在一个地方找到所有需要的东西,例如创建群组的命令。

在macOS Mojave 10.14.4(18E226)上为我工作。

brew-multiuser.sh

#!/bin/bash

# Create a new group, brew
sudo dseditgroup -o create brew

# Change owner to brew group on brew assets
sudo chgrp -R brew $(brew --prefix)/*

# Change permissions to brew group
sudo chmod -R g+w $(brew --prefix)/*

# Add a user to the brew group
sudo dseditgroup -o edit -a userOne -t user brew

# Add another user to the brew group
sudo dseditgroup -o edit -a userTwo -t user brew

# Validate links, etc.
brew doctor

# Make any corrections from the `brew doctor` warnings, such as relinking.

# Run brew doctor to validate fixes
brew doctor

# Make sure it's working without error, with an update
brew update