Cho phép nhiều người dùng cài đặt phần mềm bằng homebrew


12

Tôi đã cài đặt homebrew bằng tài khoản người dùng khác của mình (mà tôi sử dụng trong khi làm việc), nhưng không thể cài đặt phần mềm từ tài khoản cá nhân mới tạo của tôi:

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

A ls -dl /usr/local/Cellar/cho thấy rằng thư mục được sở hữu bởi tài khoản người dùng khác của tôi.

Làm cách nào để định cấu hình homebrew để cho phép nhiều người dùng cài đặt phần mềm?


Bạn có thể kiểm soát người dùng khác bằng cách thực hiệnsudo chown -R $(whoami) /usr/local
Nathan Lloyd

Câu trả lời:


13

đặt umaskcho mỗi người dùng đầu tiên. (.basrc hoặc .profile hoặc .bash_profile)

umask 0002 # group write permission

sau đó cấp phép viết cho các nhóm thông qua /usr/localđệ quy:

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

sau đó đổi chủ staff

sudo chgrp -R staff /usr/local

bây giờ, mỗi người dùng, trong staffnhóm có thể sử dụng brew installvà các hoạt động liên quan đến sản xuất bia khác ... Hầu hết mọi người dùng đều thuộc nhóm đó.


1
Tôi đã phải làm tương tự cho / Library / Caches / Homebrew để làm cho nó thực sự hoạt động. Và vì tất cả người dùng của tôi đều có quyền truy cập Quản trị viên, tôi đã bỏ quachgrp
Duvrai

1

Trên wiki homebrew, nó đề cập rằng bạn có thể cài đặt nó bất cứ lúc nào, hãy thử cài đặt cục bộ cho mỗi người dùng.


Tôi thực sự không muốn điều đó. Tôi muốn phần mềm đi đến một nơi chung bất kể ai đã cài đặt nó.
Sridhar Ratnakumar

Tôi đã thử điều này và ước gì tôi đã không làm như vậy khi bạn nhận được sự cho phép của người dùng
MatthewFord

1

Trong trường hợp tài khoản của bạn có quyền truy cập root / su/ sudo, bạn có thể thử cách giải quyết sau:

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

sudo thay thế:

sudo -u myother_user_account brew install ...

Một bí danh shell tiện dụng (cho .bashrc/ .zshrc/ ...):

alias brew="sudo -u myother_user_account brew"

1
Đây không phải là một giải pháp được đề xuất cho vấn đề nhiều người dùng. Nó yêu cầu người dùng có thể có quyền truy cập root và / hoặc truy cập trực tiếp để chạy các lệnh như một người dùng khác, loại này đánh bại mục đích có đặc quyền cấp người dùng ở vị trí đầu tiên. Bạn có thể phá vỡ mô hình cho trường hợp sử dụng của riêng bạn nếu bạn sở hữu hộp và cả hai tài khoản, nhưng sẽ không nên cho bất kỳ ai khác sử dụng điều này và việc sử dụng hệ thống của bạn sẽ an toàn hơn khi sử dụng các phân tách đặc quyền thích hợp.
Caleb

Tôi không đồng ý rằng đây là "không được đề xuất". Đây là một giải pháp yêu cầu người dùng khác có quyền truy cập root / sudo. Và nếu điều này xảy ra trong trường hợp cụ thể của bạn, tôi hoàn toàn muốn giới thiệu điều này. Tôi đã thử các cách khác để quản lý quyền của Homebrew và đó là một cơn ác mộng. Quyền không bao giờ kết thúc đã từ chối các lỗi, mặc dù tôi thề tôi đã làm mọi thứ như "khuyến nghị".
cubuspl42
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.