Пользователь Homebrew, группа, разрешения для администратора - как написать сценарий chown, chgrp, chmod?

Homebrew brew doctor печатает много ошибок разрешений в системе с несколькими пользователями.

Некоторым пользователям полностью доверяют, и они должны иметь возможность запускать типичные команды brew, такие как brew install и brew update.

Некоторые сообщения stackoverflow рекомендуют такие вещи, как:

  • смена пользователя через chown
  • смена группы через chgrp
  • изменение разрешений через chmod

Некоторые сообщения предлагают следующее:

  • установите пользователя на текущий «$ USER» или создайте пользователя «brew»
  • установите группу на встроенную группу OS X «admin» или «staff» или создайте группу «brew»
  • установить разрешения рекурсивно для группового чтения и групповой записи
  • создайте собственный каталог для варки, например "/opt/brew"

Есть ли сценарий, который «делает правильные вещи», например, создавая любого пользовательского пользователя или группу по мере необходимости, устанавливая пользователя, устанавливая группу, устанавливая разрешения для каталогов и файлов?

Или есть лучший способ достичь основной цели, то есть как использовать brew в системе с несколькими пользователями и дать возможность некоторым из этих пользователей успешно выполнять все обычные команды brew?


person joelparkerhenderson    schedule 30.01.2016    source источник
comment
Вот почему установка от имени себя в /usr/local неуправляема - лучше использовать конкретного пользователя, например. hombre для установки исполняемых файлов   -  person mmmmmm    schedule 30.01.2016
comment
Вместо этого вы можете попробовать macports.org. Одно из отличий заключается в том, что macports (одна версия) по умолчанию делает правильные вещи, выполняя общесистемные установки от имени пользователя root (и используя пользовательский каталог /opt/local).   -  person ShadSterling    schedule 19.07.2018


Ответы (1)


Моя незавершенная работа находится в открытом доступе здесь.

#!/bin/sh
#
# brew-authorize
#
# https://github.com/sixarm/sixarm_brew_scripts/brew-authorize
#
user="$USER"
group="admin"
path=$(brew --prefix)
sudo chown -R "$user" "$path"
sudo chgrp -R "$group" "$path"
sudo find "$path" -type f -exec chmod g+rw {} \;
sudo find "$path" -type d -exec chmod g+rwx {} \;
person joelparkerhenderson    schedule 30.01.2016