여러 사용자가 homebrew를 사용하여 소프트웨어를 설치할 수 있도록합니다


13

다른 사용자 계정 (업무 중 사용)을 사용하여 homebrew 를 설치 했지만 새로 만든 개인 계정에서 소프트웨어를 설치할 수 없습니다.

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

A ls -dl /usr/local/Cellar/는 다른 사용자 계정이 디렉토리를 소유하고 있음을 나타냅니다.

여러 사용자가 소프트웨어를 설치할 수 있도록 homebrew를 어떻게 구성합니까?


다음을 수행하여 다른 사용자로부터 제어권을 얻을 수 있습니다.sudo chown -R $(whoami) /usr/local
Nathan Lloyd

답변:


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
했기

1

homebrew Wiki에서는 언제 어디서나 설치할 수 있다고 언급하며 각 사용자마다 로컬 설치를 시도하십시오.


실제로는 원하지 않습니다. 누가 소프트웨어를 설치했는지에 관계없이 소프트웨어가 공통 위치로 이동하기를 원합니다.
Sridhar Ratnakumar

나는 이것을 시도하고 당신이 사용자 권한을 엉망으로하지 않았 으면 좋겠다
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
다중 사용자 문제에 대한 권장 솔루션은 아닙니다. 사용자는 루트 권한 및 / 또는 직접 액세스 권한이 있어야 다른 사용자로서 명령을 실행할 수 있어야합니다. 상자와 두 계정을 모두 소유하고 있다면 자신의 유스 케이스에 대한 모델을 깨뜨릴 수 있지만 다른 사람이이를 사용하는 것은 좋지 않으며 자신의 시스템 사용은 적절한 권한 분리를 사용하는 것이 더 안전합니다.
Caleb

이것이 "권장되지 않음"에 동의하지 않습니다. 이것은 다른 사용자에게 루트 / sudo 액세스 권한이 필요한 솔루션입니다. 특정 상황에서 이런 일이 발생하면 완전히 권장합니다. Homebrew 권한을 관리하는 다른 방법을 시도했지만 악몽이었습니다. 끝없는 권한은 오류를 거부했지만 맹세하지만 모든 것을 "권장"했습니다.
cubuspl42
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.