디렉토리의 소유자를 변경하는 방법


14

편집 : 문제는 Apple이 권한을 사용하여 백업 을 표시하고 백업 을 수정하지 못하게하는 것입니다 (아마도 보안 기능). 를 사용하여 chmod -RN <dir>중요한 데이터가있는 모든 폴더에서 ACL 데이터를 제거 하여 본인을 소유자로 만들고 적절한 권한을 적용 할 수있었습니다.

원래 질문
잘못된 권한 (새 설치, 긴 이야기 중에 UID가 변경됨)이있는 매우 큰 백업 (> 700GB)이 있으며 변경해야합니다. 시간이 많이 걸리는 옵션은 수동으로 각 폴더를 살펴보고 권한을 변경하지만 시간이 오래 걸립니다.

내가 사용하고자하는 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을 실행하고 있습니다.

나는 이것이 유닉스 / 리눅스 포럼 (내가 맥을 실행 해요) 것을 알고 있지만,이 질문은 더 많은, 쉘 사용에 대한 것입니다 chown, chmod유닉스 기반의 OS에 적용 할 것, 권한 및 솔루션이 여기에 게시합니다. 게시 된 솔루션으로 Time Machine에 이전 백업을 다시 표시하는 것이 좋습니다.

신속하게 답변했지만 모든 chown이유로 디렉토리에서 작동하지 않는 모든 사람들에게 감사합니다 . 이것이 .sparsebundle네트워크 드라이브 의 디스크 이미지 라는 사실과 관련이 있습니까? 외부 드라이브와 동일하다고 가정했습니다.


어떤 종류의 네트워크 드라이브? NFS 인 경우 root_squash활성화 된 상태로 내보낼 수 있으므로 chown클라이언트 와 같은 루트 전용 작업을 수행 할 수 없습니다 .
Toby Speight

Apple Time Capsule 내부의 HDD입니다. 기본적으로 WiFi베이스 스테이션 내부의 암호로 보호되는 디스크입니다. 유일한 차이점은 HDD가 이더넷을 통해 컴퓨터에 연결되어 있다는 것입니다. 실제로이 있다 USB 포트는하지만 난 그것을 사용한 적이 없으니까.
Arc676

그렇지 않으면 표준 find . -user $other_uid -print0 | sudo xargs chown $USER이 작동해야합니다.
Toby Speight

어떤 네트워크 파일 시스템? df -hT <dirname>당신에게 말해야합니다.
Toby Speight

@TobySpeight df -hT <dir>는 a) 네트워크 HDD의 루트 디렉토리 b) 네트워크 HDD 내부의 디스크 이미지 c) 네트워크 HDD의 폴더에 대한 출력 을 제공 하지 않습니다 . 아마도 의도 한 동작이 Mac과 Linux에서 다르게 구현 되었습니까?
Arc676

답변:


23

오해했을 수도 있습니다. 그러나 chmod와 chown을 재귀 적으로 사용할 수 있습니다.

chown -R username:username /path/directory

권한 700을 재귀 적으로 적용하려면 다음을 사용할 수 있습니다.

chmod -r 700 /path/directory

물론 위의 내용은 Linux 용이므로 mac osx가 같은지 확실하지 않습니다.

편집 : 네 죄송하지만 당신이 뭔가를 질식시키기 위해 뿌리가 필요하다고 언급하는 것을 잊었습니다. 나는 단지 이것을 알고 있다고 가정했습니다 ... 내 나쁜.


1
Mac OS는 동일한 구문을 사용합니다. 루트로 명령을 실행하려면 Mac에서 가장 쉬운 방법은 그것을 앞에하는 것입니다 sudo, 그래서 sudo chmod(당신이 Adminstrator 액세스 암호를 입력해야합니다).
mjturner

2

루트로 시도

 find wherever -type d -name ... -exec chown Me {} \;

어디

  • -type d dir에만 적용
  • -name ... 정규식
  • -exec chown Me {} \; find dir에 chown을 사용하십시오.

당신은 chown에 뿌리가 있어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.