3

Я был пользователем Ubuntu в течение последних 3 лет, и теперь я перешел на Mac OS X. Я настроил свою учетную запись как пользователя с правами администратора и у меня есть свободное место в /Users/<my-username> .

Каждый раз, когда я устанавливал пакеты в своей Ubuntu, он запрашивал мой пароль root, и я должен был сделать это с префиксом sudo . Но здесь, в OS X, я могу просто сделать brew install . Я понимаю, что я являюсь пользователем root (имею права администратора), поэтому мне не нужно использовать sudo , но для запуска таких сервисов, как mongod , я должен использовать sudo . Почему так?

Я не понимаю это; кто-нибудь может объяснить?

1 ответ1

3

Доморощенный не только не требует sudo , но и предостерегает от его использования.

Homebrew хранит файлы в "пользовательском пространстве" (в /usr/local branch) и не касается системных каталогов.

Исполняемые файлы хранятся в /usr/local/bin , файлы конфигурации в /usr/local/etc , пакеты в /usr/local/Cellar . Ни один из этих каталогов не требует прав администратора для записи файлов (по умолчанию владелец и члены группы admin имеют полные разрешения для этих каталогов).

В Ubuntu у вас запрашивают административные разрешения, потому что пакеты, установленные APT, хранят свои файлы и конфигурацию в системных каталогах (например, /etc , /usr/bin), которые по умолчанию не позволяют изменять обычный пользователь.

С другой стороны, если вы запускаете программу, ей могут потребоваться права администратора для выполнения определенных действий (например, регистрация в качестве службы). Это требование отделено от прав на чтение / запись файлов (принадлежащих пакету), и в этих случаях как Ubuntu, так и Mac OS X требуют sudo .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .