предупреждение: небезопасный доступный для записи мир dir / usr / local / bin в PATH, режим 040777 - PullRequest
156 голосов
/ 17 октября 2010

Каждый раз, когда я запускаю эту команду rails server:

предупреждение: небезопасный доступный для записи мир dir / usr / local / bin в PATH, режим 040777

Я искал решение здесь, и они сказали набрать: chmod go-w /usr/local/bin

Но я получаю эту ошибку:

chmod: невозможно изменить режим файла в / usr / local / bin: операция не разрешена

Кстати, я использую OS X.

Ответы [ 12 ]

263 голосов
/ 17 октября 2010

Для этого вам понадобится root-доступ. Если вы еще не являетесь администратором, войдите в систему как администратор. Затем используйте «sudo» для изменения прав доступа:

sudo chmod go-w /usr/local/bin

Очевидно, это будет означать, что вы больше не можете устанавливать материал в / usr / local / bin, кроме как через 'sudo', но вам, вероятно, не следует этого делать.

63 голосов
/ 10 октября 2011

У меня была такая же ошибка здесь MacOSX 10.6.8 - кажется, что ruby ​​проверяет, доступна ли для записи какая-либо директория (включая родителей) в пути.В моем случае не было / usr / local / bin, поскольку ничего не было создано.

, поэтому мне пришлось сделать

sudo chmod 775 /usr/local

, чтобы избавиться от предупреждения.

Вопрос здесь заключается в том, нужно ли любому процессу без полномочий root в MacOS создавать что-либо в / usr / local?

7 голосов
/ 07 августа 2012

Я использую Горного Льва. То, что я сделал, - это поиск / usr / local и Get Info. На это есть общий доступ и разрешения. Убедитесь, что только пользователь и администратор являются единственными, кто имеет права на чтение и запись. Любой другой должен иметь доступ только для чтения. Это решило мою проблему.

Обычно полезны утилиты запуска диска и разрешения на ремонт.

7 голосов
/ 22 июля 2012

У меня была такая же проблема в OSX. Это можно исправить, запустив Дисковые утилиты для восстановления прав доступа. Я согласен с Питером Никси: в моем случае это происходит, когда мой 3G-ключ устанавливает или переустанавливает драйвер. Восстановление прав после исправления проблемы.

7 голосов
/ 17 октября 2010

Попробуйте: sudo chmod go-w /usr/local/bin

Каталог / usr / local / bin принадлежит учетной записи root (т.е. администратору), поэтому даже если вы можете писать в нее, вы не сможете изменитьразрешения на это.Команда sudo означает «выполнить следующую команду как пользователь root» и работает почти так же, как нажатие на этот значок блокировки в диалоговых окнах «Системные настройки».

3 голосов
/ 14 апреля 2014

Если вы работаете с OSX и часто сталкиваетесь с этим, еще одна хорошая вещь, которую стоит рассмотреть, - это использовать встроенный инструмент исправления разрешений OSX.Если вы не изменили режим своих каталогов, что-то еще изменилось, и есть вероятность, что другие каталоги также имеют избыточные разрешения - этот инструмент вернет их обратно к заводским настройкам по умолчанию, что является хорошей идеей безопасности. На Apple Stackextange есть отличное руководство по этому самому процессу .

3 голосов
/ 09 декабря 2013

То же самое здесь, очевидно, моя папка / usr / local была доступна для записи во всем мире, поэтому я сделал ее 755

# chmod 755 /usr/local

Также оказалось, что использованный мною мобильный ключ Hauwei установил мировые директории для записи в / usr / local

1 голос
/ 11 апреля 2018

Вам нужно запустить

sudo chmod o-w -R /usr/local 
1 голос
/ 05 сентября 2012

Даже я сталкивался с подобной проблемой. Я использую KDE в Ubuntu 12 и, играя в своей домашней папке, я случайно изменил разрешения для группы и других пользователей на «просматривать и изменять содержимое», щелкнув правой кнопкой мыши в моей домашней папке, а затем в свойствах и забыв об этом.

Мое предупреждение было:

warning: Insecure world writable dir /home/my_home_folder in PATH, mode 040777

Так что в моем случае это была домашняя папка. Я отменил изменения разрешений и перестал получать эти предупреждения при запуске сервера rails или задач rake для запуска моих тестов.

1 голос
/ 18 января 2011

У меня также точно такая же проблема с / usr / local / bin и / etc / sudoers на OSX Snow lepard. Даже когда я вошел в систему как администратор и попытался изменить разрешения через терминал, он все еще говорит "Операция не разрешена". И я сделал следующее, чтобы получить разрешение этих папок.

Из терминала я получил доступ к файлу / etc / sudoers и, используя редактор пико, добавил следующий код: имя пользователя ALL = (ALL) ALL Замените «имя пользователя» на имя вашей учетной записи MAC OS

...