複数のユーザーがhomebrewを使用してソフトウェアをインストールできるようにします


13

私はインストール自作(私は仕事中に使用)私の他のユーザーアカウントを使用して、私の新しく作成された個人のアカウントからソフトウェアをインストールすることは不可能です。

$ brew install unrar
Error: Cannot write to /usr/local/Cellar

A ls -dl /usr/local/Cellar/は、ディレクトリが他のユーザーアカウントによって所有されていることを示しています。

複数のユーザーがソフトウェアをインストールできるようにhomebrewを構成するにはどうすればよいですか?


実行することにより、他のユーザーから制御を取ることができますsudo chown -R $(whoami) /usr/local
ネイサンロイド

回答:


13

umask最初に各ユーザーに設定します。(.basrcまたは.profileまたは.bash_profile)

umask 0002 # group write permission

その後、/usr/local再帰的にグループに書き込み許可を与えます。

sudo chmod -R g+w /usr/local/

その後、所有者を staff

sudo chgrp -R staff /usr/local

これで、staffグループ内の各ユーザーは、brew install他の醸造関連操作を使用できるようになります...ほとんどすべてのユーザーがそのグループにいます。


1
これを実際に機能させるには、/ Library / Caches / Homebrewでも同じことをしなければなりませんでした。そして、すべての私のユーザーが持っているので、管理者アクセスが、私はスキップされ有効になってchgrp
Duvrai

1

homebrew wikiには、それをインストールできると記載されています。各ユーザーにローカルインストールを試してください。


実際には、それは望ましくありません。誰がインストールしたかに関係なく、ソフトウェアを共通の場所に移動させたい。
スリダールラトナクマー

私はこれを試してみましたが、あなたはユーザ権限めちゃくちゃますように私はいなかった希望しました
MatthewFord

1

アカウントにroot / su/ sudoアクセスがある場合、次の回避策を試すことができます。

su - myother_user_account -c "brew install ..."

sudo 代替案:

sudo -u myother_user_account brew install ...

便利なシェルエイリアス(.bashrc/ .zshrc/ ...の場合):

alias brew="sudo -u myother_user_account brew"

1
これは、複数ユーザーの問題に対する推奨される解決策ではありません。ユーザーが別のユーザーとしてコマンドを実行するためにルートアクセスおよび/または直接アクセスできる必要がありますが、そもそもユーザーレベルの特権を持つという目的を無効にします。ボックスと両方のアカウントを所有している場合は、独自のユースケースのモデルを破ることができますが、他の人がこれを使用することはお勧めできず、適切な特権の分離を使用する方がシステムを安全に使用できます。
カレブ

これが「推奨されない」ことに同意しません。これは、他のユーザーにroot / sudoアクセス権が必要なソリューションです。そして、これがあなたの特定のケースで起こる場合、私はこれを完全にお勧めします。Homebrewの許可を管理する他の方法を試しましたが、それは悪夢でした。終わりのない許可はエラーを否定しましたが、私はすべてを「推奨」したと断言しました。
cubuspl42
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.