편집하다:문제는 Apple이 권한을 사용하여 표시한다는 것입니다.지원수정하지 못하도록 방지합니다(보안 기능일 가능성이 높음). ACL을 사용하여 chmod -RN <dir>
중요한 데이터가 포함된 모든 폴더에서 ACL 데이터를 제거했는데 , 이를 통해 나 자신을 소유자로 만들고 적절한 권한을 적용할 수 있었습니다.
원래 질문
매우 큰 백업(>700GB)이 있고 이제 권한이 잘못되어(새로 설치하는 동안 UID가 변경됨, 간단히 말해서) 권한을 변경해야 합니다. 시간이 많이 걸리는 옵션은 각 폴더를 수동으로 확인하고 권한을 변경하는 것이지만 시간이 오래 걸립니다.
chown
나는 나 자신을 모든 중요한 데이터의 소유자로 만들고 모든 폴더에 대한 chmod 700
권한만 부여 하고 싶습니다 .rwx
이상적인 해결책은 어떤 방법을 사용하여 find
정규식과 일치하는 폴더(현재 폴더는 .*/[DCV].*|Pictures|M[ou].*
)를 반복적으로 찾은 다음 내 UID를 소유자로 만들고 권한을 700으로 설정하는 것입니다.
내가 이해할 수 없는 중요한 점:
그러나 달리려고 chown Me DirectoryName
하면 chown: DirectoryName: Operation not permitted
.
권한 변경과 관련하여 내가 찾은 모든 것문서디렉토리보다는. 어쩌면 내가 이것을 잘못된 방향으로 보고 있는 것은 아닐까? 내 UID를 다른 사람 에게
알려줄 수 없다는 메시지가 나타납니다 .rwx
---
이 목표를 어떻게 달성할 수 있나요? 저는 Mac OS X 10.10.3을 실행하고 있습니다.
저는 이것이 UNIX/Linux 포럼이라는 것을 알고 있습니다(저는 Mac을 사용하고 있습니다). 그러나 이 질문은 셸, chown
및 chmod
권한 작업에 대한 자세한 내용이며 여기에 게시된 모든 솔루션은 모든 UNIX 기반 운영 체제에서 작동합니다. 게시된 솔루션으로 인해 이전 백업이 타임머신에 다시 표시된다면 더 좋을 것입니다.
신속하게 응답해주신 모든 분들께 감사드립니다. 하지만 chown
어떤 이유로 디렉토리에서는 작동하지 않는 것 같습니다. 이것이 .sparsebundle
네트워크 드라이브의 디스크 이미지라는 사실이 관련이 있습니까? 나는 그것이 외부 드라이브와 동일하다고 가정합니다.
답변1
내가 오해했을 수도 있습니다. 그러나 예를 들어 chmod 및 chown을 재귀적으로 사용할 수 있습니다.
chown -R username:username /path/directory
권한 700을 재귀적으로 적용하려면 다음을 사용할 수 있습니다.
chmod -r 700 /path/directory
물론 위의 내용은 Linux에 대한 것이므로 Mac osx에서도 동일한지 확실하지 않습니다.
편집: 예, 무언가를 삭제하려면 루트가 필요하다는 것을 언급하는 것을 잊어버려서 죄송합니다. 나는 단지 당신이 그것을 알고 있다고 가정했습니다...나쁜 일입니다.
답변2
노력하다루트 사용자로
find wherever -type d -name ... -exec chown Me {} \;
어디
-type d
디렉토리에만 적용-name ...
당신의 정규 표현식-exec chown Me {} \;
검색 디렉토리에 chown을 사용하십시오.
Chown을 사용하려면 루트여야 합니다.