/ usr / local의 소유권이 my-username에서 root로 변경되는 원인을 파악하는 방법 웹 개발 앱의 패키지 관리자로 사용

homebrew특정 웹 개발 앱의 패키지 관리자로 사용 합니다. brew최신 상태를 유지하기 위해 update brew이틀마다 실행하고 실행 brew doctor합니다. 보통 이것은 괜찮으며 brew양조 할 준비가되었음을 알려줍니다.

그러나 때때로 다음과 같은 오류가 발생합니다.

경고 : / usr / local / etc는 쓰기 가능하지 않습니다.

Homebrew에서 관리하지 않는 소프트웨어를 “sudo make install”소프트웨어로 설치하면 이런 일이 발생할 수 있습니다. 공식이이 디렉토리에 파일을 쓰려고하면 링크 단계 중에 설치가 실패합니다.

아마도 chown/ usr / local / etc

경고 : / usr / local 디렉토리는 쓸 수 없습니다. Homebrew를 설치할 때이 디렉토리를 쓸 수 있었더라도 다른 소프트웨어가이 디렉토리에 대한 권한을 변경할 수 있습니다. Airfoil의 “InstantOn”구성 요소의 일부 버전이이를 수행하는 것으로 알려져 있습니다.

/ usr / local의 소유권과 권한을 다시 사용자 계정으로 변경해야합니다.

권한을 다시 내 사용자 이름으로 재설정하는 것은 쉽습니다. 나중에 brew괜찮은 것 같습니다.

그러나이 문제가 발생하는 원인은 무엇입니까?

권한이 변경되는 원인을 보여주는 로그가 있습니까?



답변

나는이 똑같은 문제를 겪었고 Sophos 자동 업데이트가 책임이 있음이 밝혀졌습니다. 나는 이것을 실행하여 이것을 알아 냈습니다.sudo fs_usage | grep "usr/local"

시간이 걸렸지 만 결국 Sophos의 “Installation”데몬이 / usr / local의 권한으로 엉망이되는 것을 보았습니다.

여전히이 동작에 대한 적절한 해결 방법을 찾으려고 노력하고 있습니다.

편집 : Sophos 가이 문제를 해결했다고 생각합니다.이 답변의 의견에있는 링크를 참조하십시오. 적어도 나를 위해 고정 된 것 같습니다!


답변

Filewave가 범인이라고 밝혀졌습니다. Filewave는 학교에서 소프트웨어 업데이트를 푸시하기 위해 사용하는 시스템 관리 소프트웨어입니다. 입력 주셔서 감사합니다.


답변

허가 도둑을 얻는 방법에 대한 대략적인 아이디어가 있습니다. 이것은 당신의 문제에 대한 해결책이 아니라 더 많은 해결책입니다.

이 특정 폴더를보기 위해 Automator 또는 Hazel (폴더 작업)으로 감시자를 작성하는 것은 어떻습니까? 축소 이미지와 같은 기능을 추가하는 대신 여러 쉘 명령을 실행하는 쉘 스크립트를 사용하면됩니다.

  • 폴더가 어떤 식 으로든 변경되면 권한 및 현재 액세스중인 프로세스 ID를로 스냅 샷하십시오 fuser <foldername>.
  • 그런 다음 프로세스 테이블에서 프로세스 ID ( ps auxwwwwww | grep <process id>) 를 조회 하고 마지막으로
  • 수집 된 정보를 이메일로 보내십시오.

불행히도 나는 Automator sadhu가 아니지만 Google은 비슷한 문제에 대한 많은 솔루션이 있음을 알았습니다.


답변

Time Machine을 사용하는 경우 Backups.backupdb터미널에서 탐색 하여 권한이 변경된 대략적인 시간을 찾을 수 있습니다 . ls -ld타임 스탬프가 지정된 폴더에서 사용

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

소유자 및 그룹 정보가 표시됩니다.

변경이 발생한 날짜가되면 시스템에서 변경된 내용을 알아낼 수 있습니다. 간단한 기술은 Finder의 파일› Last modified date기준을 찾아서 추가하는 것 입니다. 다른 좋은 도구입니다 findmdfind터미널이다.


답변

이것은 시스템 업데이트의 부작용입니다. / usr / local이 루트 소유 폴더에 중첩되어 있기 때문에 OS X는 아마도 업데이트 프로세스 중에 보드 전체 권한 “복구”를 수행 할 것입니다.


답변

당신이 사용했던 Disk Utility선택 Macintosh HD후 실행 Verify Disk Permission한 후 Repair Disk Permission필요한 경우가 아닌 수동으로 그 일을?

이제 이것은 문제를 해결하지는 못하지만,자가 양조가 언제 권한을 변경하는지 알 수있는 좋은 출발점입니다. 운이 좋으면 근본적인 문제가 나타날 수 있습니다.

또한 new update -v더 자세한 출력을 위해 homebrew 로그~/Library/Logs/Homebrew어디에 있습니까?