1

Я являюсь администратором на моем Mac с OSX, и я включил пользователя root. Когда я пытаюсь использовать терминал без ввода sudo, он, похоже, не распознает мои привилегии администратора, но работает нормально, если я ввожу sudo и ввожу свой пароль.

Я также пытался вручную дать привилегии sudo в файле /etc /sudoers, но все равно не повезло.

Запуск установки через NPM, все, что я получаю, это: "npm ERR! Пожалуйста, попробуйте снова запустить эту команду от имени root/Administrator. "

Почему это и как я могу это исправить?

2 ответа2

2

Это стандартное поведение в OS X, даже если вы являетесь администратором, вы не сможете записывать что-либо в каталог / , кроме вашего домашнего каталога, без добавления префикса к команде sudo . Даже если вы используете sudo или sudo su - (чтобы получить доступ к корневой оболочке), вы не сможете вносить изменения во что-либо в /usr (кроме /usr/local), /bin . /sbin , /etc , etc ... без отключения режима без root /SIP (защита целостности системы) из режима восстановления. Вы можете отключить его с помощью команды csrutil disable . Обратите внимание, что режим без root является новым в OS X 10.11 El Capitan. Если вы все еще не можете заставить npm работать с sudo , попробуйте использовать sudo whoami и убедитесь, что он выводит root , и используйте sudo -u root .

0

Ах .... Будучи администратором, в основном дает вам sudo способности, но вы все еще не root. Т.е. ваш аккаунт не равен uid = 0. Это единственный пользователь root. У вас есть три варианта.

  1. Используйте sudo (как вы были)
  2. Вы можете su получить root права: sudo su root -
  3. Вы можете изменить свой UID на 0.

Я бы порекомендовал # 1.

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