여러 사용자가 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.