Как определить, что приводит к изменению права собственности /usr /local с моего имени пользователя на root

Я использую homebrew как менеджер пакетов для определенного приложения для веб-разработки. Чтобы сохранить обновленный brew, я запускаю update brew каждые пару дней, а также запустить brew doctor. Обычно это нормально и brew говорит мне, что я готов завариться.

Время от времени, однако, я получаю следующую ошибку:

  

Предупреждение: /usr /local /etc не доступно для записи.

     

Это может произойти, если вы используете программное обеспечение «sudo make install», которое не управляется   от Homebrew. Если формула пытается записать файл в этот каталог,   установка завершится неудачно во время этапа ссылки.

     

Вероятно, вы должны chown /usr /local /etc

     

Предупреждение: каталог /usr /local не доступен для записи.   Даже если этот каталог доступен для записи, когда вы установили Homebrew, другие   программное обеспечение может изменять разрешения для этого каталога. Некоторые версии   Компонент «InstantOn» Airfoil, как известно, делает это.

     

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

Достаточно легко восстановить права доступа к моему имени пользователя. Впоследствии brew кажется прекрасным.

Но что вызывает это?

Есть ли журнал, который показывает, что вызывает разрешения для изменения?

13 голосов | спросил Daniel Muller 29 MarpmSun, 29 Mar 2015 15:29:36 +03002015-03-29T15:29:36+03:0003 2015, 15:29:36

6 ответов


4

Оказывается, Filewave является виновником. Filewave - это программное обеспечение для управления системой, используемое нашей школой для обновления программного обеспечения. Спасибо за ввод.

ответил Daniel Muller 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 29 Sep 2015 03:44:51 +0300 2015, 03:44:51
12

У меня была такая же проблема, и оказалось, что автообновление Sophos виновато. Я понял это, выполнив: sudo fs_usage | grep "usr/local"

Потребовалось некоторое время, но в итоге я увидел, что Sophos с пользой назвал демона «Инсталляция» востребованным с разрешениями /usr /local.

Я все еще пытаюсь найти подходящую работу для этого поведения.

EDIT: Я считаю, что Sophos исправил эту проблему, см. ссылку в комментариях к этому ответу. Кажется, это исправлено для меня хотя бы!

ответил Others 6 +03002015-10-06T18:10:09+03:00312015bEurope/MoscowTue, 06 Oct 2015 18:10:09 +0300 2015, 18:10:09
2

У меня есть только грубое представление о том, как получить разрешение вора. Это не решение вашей проблемы, но более своеобразное обходное решение.

Как насчет написания сторожевого таймера в Automator или с помощью Hazel (действия с папками) для просмотра этой конкретной папки, но вместо добавления такой функции, как изображения Scale, вы просто используете shellscript, который выполняет несколько команд оболочки:

  • Если папка изменена каким-либо образом, просто снимите разрешения и текущий идентификатор процесса с помощью fuser <foldername>.
  • , тогда вы просматриваете в таблице процессов идентификатор процесса (ps auxwwwwww | grep <process id>) и, наконец,
  • напишите электронное письмо на эту информацию.

К сожалению, я не Automator sadhu, но я узнал от Google, что существует множество решений для подобной проблемы.

ответил Garex 28 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 28 Sep 2015 13:50:09 +0300 2015, 13:50:09
0

Если вы используете Time Machine, вы можете найти приблизительное время, когда разрешения были изменены путем изучения Backups.backupdb в терминале. Используйте ls -ld в папках с временными метками, например

ls -ld /Volumes/Backup/Backups.backupdb/Mac/2015-12-25-120000/Macintosh\ HD/usr/local 

Будет отображаться информация о владельце и группе.

После того, как у вас есть дата, когда произошла ошибка, вы можете выяснить, что еще могло измениться, а затем в вашей системе. Простым методом является использование Finder's File> Find и добавление критерия Last modified date. Другими хорошими инструментами являются find и mdfind в терминале.

ответил duozmo 13 Jpm1000000pmWed, 13 Jan 2016 17:51:12 +030016 2016, 17:51:12
-1

Это побочный эффект обновления вашей системы; OS X, вероятно, выполняет некоторые «разрешенные» разрешения во время процесса обновления, поскольку /usr /local вложен в корневую папку.

ответил Stan Hutcheon 28 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 28 Sep 2015 17:49:44 +0300 2015, 17:49:44
-3

Используете ли вы Disk Utility выберите Macintosh HD затем запустите Verify Disk Permission, а затем Repair Disk Permission if необходимо, а не делать это вручную?

Теперь это не должно исправить вашу проблему, но это хорошая «известная» отправная точка, чтобы увидеть, когда домашнее пиво меняет разрешения. Это может показаться основной проблемой, если вам повезет.

Также new update -v для более подробного вывода, а также старые журналы здесь ~/Library/Logs/Homebrew в соответствии с Где находится доморощенный журнал?

ответил MichaelStoner 28 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 28 Sep 2015 12:13:12 +0300 2015, 12:13:12

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132