2012-06-02 3 views
6

Я установил homebrew и пытаюсь изменить разрешения на запись для каталога/usr/local/include.Изменение права собственности на каталог в OS X

Когда я бегу «варева врача», я получаю сообщение об ошибке:

Error: The /usr/local directory is not writable. Even if this directory was writable when you installed Homebrew, other software may change permissions on this directory. Some versions of the "InstantOn" component of Airfoil are known to do this.

You should probably change the ownership and permissions of /usr/local back to your user account.

Я пытался делать это с Чаун, но я очень новичок в этом и не думаю, что я правильно запустить его , Я побежал:

chown myusername /usr/local/include 

Я не получал никаких сообщений об ошибках, но когда я запускаю заваривание врача это говорит, что я до сих пор нет разрешения на запись в/USR/местные/включить.

Любая помощь была бы принята с благодарностью!

Edit:

Я получаю "операция не разрешена" ошибка.

cd /usr

chown myusername local

Чаун: местные: Операция не допускается

ответ

7

В моей системе /usr/local принадлежит root:admin и является rwxrwxr-x. Мой пользователь входит в группу admin, поэтому имеет права на запись. Я не перепутал права собственности и разрешения там, и моя установка Homebrew не жалуется, поэтому я предполагаю, что моя настройка соответствует ее требованиям.

Проверьте право собственности на ваш /usr/local; если он принадлежит группе admin, проверьте, является ли ваша учетная запись non-adminsitrator членом этой группы.

+1

Мое имя пользователя - администратор./usr/local принадлежал root: wheel. Не уверен, что это такое. Я использовал флаг -R и sudo, чтобы дать мне разрешение на использование имени пользователя во всех каталогах в/usr/local. По какой-то причине он не принимал «админ» в качестве аргумента, когда я это пробовал. – Graeme

+0

Hi Graeme. Я испытал ту же ошибку (OS X Mavericks). Возможно, это сработает и для вас: 'sudo chown \' whoami \ '\' brew --prefix \ '&& brew doctor'. Надеюсь это поможет! (Примечание: 'echo \' whoami \ '' >> yourusername и 'echo \' brew --prefix \ '' >>/usr/local) –

0

Вы можете попробовать использовать команду ls -l. С помощью этой команды вы увидите список файлов в текущем каталоге с полезной информацией, например, кто является владельцем этого файла. Итак, вы увидите, если выработали chown. Я считаю, что chown - это правильная команда для изменения права собственности.

+0

Я получаю "операция не разрешена" ошибка. 'кд/usr' ' Чаун MyUserName local' Чаун: местный: Операция не допускается в том случае, я думаю, вы должны смотреть, если вы администратор компьютера, поскольку Ls -l довольно основная команда – Graeme

+0

, и вам не нужны права root для него. –

+0

извините, мой комментарий был не ясен. Я могу сделать ls -l. Это было, когда я запустил chown, что получил разрешение отклонить ошибку. Я просто запустил его с помощью sudo, вот и все. Мне удалось дать разрешение моему пользователю. Интересно, давал ли я слишком много разрешений. Я использовал флаг -R на локальном, так что теперь мое имя пользователя имеет разрешение для всех каталогов в/usr/local. Есть ли хорошее место, чтобы начать более глубокое понимание разрешений и безопасности каталога unix? Я только на странице google -> find answer -> copy paste, что может быть опасно. – Graeme

20

Простое решение, которое работает для меня:

  1. нажмите на вашем фоне, чтобы перейти к поиску
  2. нажмите на ходу и перейти в папку/USR
  3. правой кнопкой мыши на локальны и получить информацию
  4. разблокировать замок внизу
  5. нажмите + знак и добавьте своего пользователя в список и дайте права на чтение/запись
  6. нажмите на значок шестеренки a t внизу и выберите применимые к закрытым элементам, чтобы рекурсировать под этим каталогом и назначить привилегии также всем каталогам под ним.

тип brew doctor из командной строки для проверки.Мой результат:

Your system is ready to brew.

+0

Мне это нравится, потому что это не * изменение * то, что уже есть, просто добавление разрешения на чтение/запись, необходимые вашим пользователям. –

+0

Это сработало для меня тоже – adrian7

2

Вы должны использовать: sudo chown username folder

+2

Пожалуйста, объясните, почему OP должен это сделать. – dg99

Смежные вопросы