Увімкнути декілька користувачів для встановлення програмного забезпечення за допомогою домашньої мови


13

Я встановив домашню мову за допомогою свого іншого облікового запису (який я використовую під час роботи), але неможливо встановити програмне забезпечення з мого новоствореного особистого облікового запису:

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

А ls -dl /usr/local/Cellar/показує , що каталог є власністю моєї іншого облікового запису користувача.

Як налаштувати домашню мову, щоб дозволити декільком користувачам встановлювати програмне забезпечення?


Ви можете взяти під контроль іншого користувача, зробивши це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

На домашній вікі згадується, що ви можете її встановити будь-коли, спробуйте встановити локальні установки для кожного користувача.


Я насправді цього не хочу. Я хочу, щоб програмне забезпечення перейшло до загального місця незалежно від того, хто його встановив.
Шрідхар Ратнакумар

Я спробував це, і хотілося б, щоб у мене не було того, як ви
заблукали

1

Якщо ваш обліковий запис має root / su/ sudoaccess, ви можете спробувати наступне рішення:

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.