cp setattrlist MacOS에서 권한이 거부되었습니다.

cp setattrlist MacOS에서 권한이 거부되었습니다.

저는 Mac OS의 두 번째 "관리자" 사용자입니다. 저는 그룹에 속해 있으며 첫 번째 사용자가 설치한 것을 admin사용하려고 합니다 .homebrew

나는 ie의 모든 것이 쓰기 가능한지 확인했습니다 /usr/local/*.adminsudo chmod -R g+w /usr/local/*

brew install몇 가지 다른 패키지를 실행하려고 할 때 몇 가지 오류가 발생합니다.

cp: setattrlist: /usr/local/Cellar/[email protected]/.: Permission denied
cp: chmod: /usr/local/Cellar/[email protected]/.: Operation not permitted
Error: Failure while executing; `cp -pR /private/tmp/d20210523-60782-14t7vu8/[email protected]/. /usr/local/Cellar/[email protected]` exited with 1. Here's the output:
cp: setattrlist: /usr/local/Cellar/[email protected]/.: Permission denied
cp: chmod: /usr/local/Cellar/[email protected]/.: Operation not permitted

하지만 확인해보니 폴더에 내가 기대하는 권한이 있습니다.

:; ls -al /usr/local/Cellar/icu4c/
total 0
drwxrwxr-x  3 user1 admin   96 May 23 14:06 .
drwxrwxr-x 73 user1 admin 2336 May 23 14:05 ..
drwxrwxr-x 12 user1 admin  384 May 23 14:06 67.1

내가 여기서 무엇을 놓치고 있는지 아는 사람 있나요?

답변1

실제로 답변은 없지만 동일한 문제에 직면하고 있지만 근본 원인을 찾고 문제를 해결하는 데 도움이 될 수 있는 몇 가지 단서가 있을 수 있습니다. 내 경우에는 두 개의 관리자 계정이 있기 때문에 Brew 설치 시 ACL을 사용했지만 ACL을 사용하지 않기 때문에 이는 ACL 문제가 아닐 가능성이 높습니다.

모든 관리자가 Brew를 사용할 수 있도록 관리자용 ACL을 설정하는 설치 후 스크립트가 있습니다. Brew를 사용하여 설치할 때마다 이 스크립트를 사용하여 소유자를 복원하고 ACL을 설정합니다.

내가 아는 것은 setattrlist와 fsetattrlist가 메타데이터에 관한 것이므로 파인더/스포트라이트 정보라는 것뿐입니다. 이 오류를 완전히 제거할 수 있는 ACL 방법을 찾지 못했습니다.

홈브류가 복사를 수행하는 것과 동일한 방식을 사용하면 홈브류 설치 외부에서 재현할 수 있습니다.

예를 들어 $ cp -pR /usr/local/Cellar/webp ~/webp $ cp -pR ~/webp/. /usr/local/Cellar/webp # ⇒ 권한 오류 또는 setattrlist 오류가 발생합니다. $ cp -pR ~/webp /usr/local/Cellar/webp # ⇒ 작동하므로 homebrew에서 / 를 찾아서 제거하는 수정 사항이 있을 수 있습니다. cp의 소스를 형성합니다.

지금까지 이 오류가 발생하면 Cellar에서 디렉터리를 삭제하고 Brew install 명령을 다시 시작했습니다.

Brew가 많은 것을 업데이트하는 것은 지루한 작업이지만 이것이 지금까지 제가 찾은 유일한 해결 방법입니다.

관련 정보