chown이 OS X에서“작업이 허용되지 않습니다”라고보고하는 이유는 무엇입니까?


64

Mac (10.6.7)에서 다음을 수행하려고합니다.

sudo chown myusername:wheel ./entries

그러나 Unix / Mac은 "조작이 허용되지 않습니다"를 반환합니다. 언제 ls -lash범인 파일을 다음과 같이 그것은 본다 :

8 -rwxrwxrwx   1 myusername  staff   394B Apr 26 23:26 entries

나는 해봤 sudosudo su; 아무것도 작동하지 않습니다. 어떤 아이디어가 있습니까?

chmod기존 우분투 상자에서 복사 한 파일을 찾으려고합니다 . 대부분의 파일이 chmod재귀 적 으로 성공적으로 수행되었습니다 . 이 하나만 붙어 왜 그런지 모르겠습니다.


1
당신은 시도 했습니까 sudo chgrp wheel ./entries?
squircle

1
파일 시스템 검사를 수행하십시오. 디스크 유틸리티를 열고 볼륨을 선택한 다음 디스크 확인을 클릭하고 필요한 경우 디스크 복구 를 클릭 하십시오 .
Daniel Beck

파일이 Finder에 잠겨 있지 않은지 확인하십시오 (아이콘에 자물쇠 배지 없음). 이를 변경하려면 정보 입수 대화 상자를 열고 잠금을 선택 취소하십시오 .
Daniel Beck

"외부"볼륨 인 경우 (즉, 시스템 볼륨이 아닌 경우) "이 볼륨의 소유권 무시"옵션을 제거해야 할 수 있습니다. (볼륨 자체에 대해서는 정보 입수 창의 맨 아래를 참조하십시오).
mivk

답변:


84

그렇습니다. Mac은 파일 영역에서 Unix에 대해 많은 기능이 향상되었습니다. 더 이상 사용되지 않는 전체 리소스 포크를 무시하면 다음 이 있습니다.

  • 표준 유닉스 권한 ugo rwx 등등. 일반적인 유닉스 도구가 적용됩니다.
  • ACL로 볼 수 ls -le있고 변경할 수 있습니다 chmod [ -a | +a | =a ].
  • ls -lO(Capital oh, 0이 아닌)으로 볼 수 있고로 변경할 수있는 파일 플래그chflags .
  • 확장 가능한 속성 으로 볼 수 있고 ls -l@(속성 키만) 볼 수 있고 변경할 수 있습니다 xattr. ( 아무것도 제공하지 않으면 xattr -h도움을 위해 사용하십시오 man xattr.)
  • OS X 10.11 "El Capitan"부터 시작하여 SIP ( System Integrity Protection )는 sudo로 실행 하는 데 사용하더라도 일반 프로세스의 변경으로부터 일부 파일을 보호합니다 root. SIP로 보호되는 파일 ls -lOrestricted플래그 가있는 것으로 나열되거나 속성 ls -l@이있는 것으로 나열됩니다 com.apple.rootless.

Unix 권한, ACL, 파일 플래그 또는 SIP로 인해 파일에 대한 작업이 거부 될 수 있습니다. 파일을 완전히 잠금 해제하려면

sudo chmod -N file        # Remove ACLs from file
sudo chmod ugo+rw file    # Give everyone read-write permission to file
sudo chflags nouchg file  # Clear the user immutable flag from file
sudo chflags norestricted file  # Remove the SIP protection from file
sudo xattr -d com.apple.rootless file # Remove SIP protection from file

시스템 무결성 보호 (SIP)을 사용하는 경우 sudo chflags norestrictedsudo xattr -d com.apple.rootless또한 "작업을 할 수 없습니다"오류를 반환합니다. 플래그 및 / 또는 속성을 지우려면 macOS Recovery 로 부팅하고 터미널에서 명령을 실행해야합니다 (먼저 디스크 유틸리티를 사용하여 부팅 드라이브를 잠금 해제하고 마운트 한 다음 파일이 /Volumes/Macintosh HD부팅 중이 거나 부팅 상태에 관계없이 있음을 기억하십시오) 드라이브의 이름을 지정하거나 SIP를 모두 비활성화 한 다음 다시 부팅하면 명령이 작동합니다. 그러나 향후 OS 업데이트는 restricted플래그와 com.apple.rootless속성을 제거한 파일로 복원 할 수 있습니다.

SIP를 사용하지 않도록 설정 하면 멀웨어 및 우발적 손상에 대한 많은 보호 기능이 제거되므로 파일별로 보호 기능을 간단히 제거 할 때 필요하지 않습니다. SIP를 비활성화 한 경우 변경을 완료하면 SIP를 다시 활성화하십시오.

경우 있습니다 ls -lO보여줍니다 schg플래그가 설정되어, 당신이 그것을 설정을 해제하는 단일 사용자 모드로 얻을 수있다. 파일에 왜 플래그가 설정되어 있는지, 왜 엉망이되는지, 그리고 그 결과가 어떻게 될지에 대한 더 큰 질문이 있기 때문에 여기서는 다루지 않을 것입니다.


7
여기에 다른 플래그를 추가하면 파일을 변경하지 못할 수 있습니다. 내 스크립트에 내가 넣어sudo chflags -R nouchg,noschg,nouappnd,nosappnd,noopaque,dump .
djjeck

1
참고 : 무언가에 "변경 불가능"플래그가있는 경우 정보 입수의 잠금 확인란이 선택되어 회색으로 표시됩니다. "sudo chflags nouchg"가이를 수정합니다.
Foo Bar

1
내가 할 수 없었 -N하고 ugo+rw한 번에 모두 (내가있어 Failed to clear ACL on file ugo+rw: No such file or directory)하지만,이를 실행하는 개별적 괜찮 았는데. 재귀가 필요한 경우 -R첫 번째 인수 여야합니다.
owenfi

3
시스템 무결성 보호 (루트리스)는 El Capitan 이상에서도 발생할 수 있습니다. 이를 해결하려면 복구 모드 ( Cmd-R) 로 부팅하고 터미널을 열고 실행 csrutil disable한 다음 다시 시작하십시오 (재 활성화하려면을 사용하십시오 csrutil enable).
Erwin Wessels

감사합니다 ... 파일 플래그에 대해 전혀 몰랐습니다. 이제 나는 그것이 왜 그런지 이해합니다override rwxrwxrwx huttarl/staff uchg for green.html?
LarsH

18

나는 같은 문제가 있었다. OS에서 문제의 파일을 "잠김"으로 표시 한 것으로 나타났습니다. 이 솔루션을 찾았고 몇 초 만에 문제를 해결했습니다.

http://explanatorygap.net/2005/07/10/unlocking-files-recursively-from-the-command-line/

높은 권한으로 rm사용 rm -Rf하면 파일의 잠금이 자동으로 해제되도록 Tiger 의 명령이 변경된 것 같습니다 .

Tiger 이전의 OS X에서 : find /Volumes/Transit -flags +uchg -print0 | xargs -0 chflags nouchg

Tiger 이후 OS X에서 : sudo rm -Rf foldername/

또한, 심지어 OS X 10.4 이후, 파일 메타 데이터와 같은 플래그가있을 수 uchguappnd파일 권한 또는 소유 모든 변형을 방지. chflags플래그를 제거 할 수 있습니다. 파일 속성 / 메타 데이터 중 일부와 다른 복사 도구로 처리하는 방법이 여기 있습니다 .


sudo rm -Rf foldername/OSX Mountain Lion에서 완벽하게 일하고 있습니다
Aryo

5
@Aryo : rm디렉토리를 삭제합니다. 삭제하지 않고 모든 것을 잠금 해제하는 방법이 있습니까? 모양 uchg이 설정되어 있지 않을 때 예상대로 (와 함께 chflags [no]uchg) 켜거나 끌 수 있지만 Finder의 잠금 아이콘이나에 대한 내 능력에는 영향을 미치지 않습니다 chown.
orome

12

Crashplan.app와 같은 문제가있었습니다.

여기에 나열된 모든 솔루션이 도움이되지는 않지만이 트릭을 수행했습니다 .http : //forums.macrumors.com/showthread.php ? t = 1546163

시스템 및 사용자 불변 플래그를 변경해야합니다.

파일 / 폴더에서 어떤 플래그가 활성화되어 있는지 확인하려면 다음을 수행하십시오.

ls -lhdO MyFile

응답은 다음과 같습니다.

drwxrwxr-x 3 root admin schg,uchg 102B Apr 8 2013 MyFile

schg , uchg 는 불변의 플래그입니다. 하나는 시스템 용이고 다른 하나는 사용자 용입니다. 이를 제거하려면 다음을 수행하십시오.

chflags noschg CrashPlan.app # this removes system immutable flag
chflags nouchg CrashPlan.app # this removes the user immutable flags

그런 다음 적어도 나를 위해 파일의 잠금이 해제되어 삭제할 수 있습니다!


최고에 있었다 chflags사용 sudo하지만, 그러나 그것은 의미가 있습니다
펠리페

CrashPlan.app와 동일한 문제가 있었으며 (이것이 있습니다 drwxrwxr-x@ 3 _BGMXPCHelper admin schg 96B 9 Jan 2018 CrashPlan.app), 이것은 그것을 삭제할 수있는 유일한 해결책이었습니다. 감사합니다!
webeno

12

OS X 10.11 (El Capitan)에서는 새로운 Rootless 기능 으로 인해 발생할 수도 있습니다 . 설명 은 이 답변 을 참조하십시오 .

사용 여부 - 즉, 중요한 특정 디렉토리에 존재 수정할 수있는 방법은 없다 sudo, chown또는 chmod. 이것은 /usr디렉토리에 영향을줍니다 (수정할 수는 있지만 /usr/local).

Rootless로 보호 된 디렉토리를 수정하려면 Rootless를 비활성화 해야합니다 . 물론 중요한 보안 향상 기능이므로 수정 한 후에 다시 활성화 할 수 있습니다.


1
와. 그것은 나를 미치게했다. 어떻게 든 나는 / usr / local / lib에없는 / usr / lib에 무언가를 복사해야했습니다 (이유를 묻지 마십시오). 그리고 그 트릭을했다.
qwerty_so

4
실제로 루트리스를 비활성화 할 필요는 없으며 복구 모드로 부팅하여 루트리스를 비활성화하려면 터미널에서 원하는대로 변경하면됩니다.
Old Pro

6

많은 어려움을 겪은 후 문제를 해결하기 위해해야 ​​할 일이 있습니다.

  • 파일을로 이동 ~/Desktop
  • sudo chown myusername:staff ./entries
  • 파일을 원래 위치로 다시 이동해도 작동하지 않았습니다 (다시 작업이 허용되지 않음).
  • sudo rm ./entries
  • sudo mv ~/Desktop/entries ./entries

4

내 홈 폴더에 대해서도 같은 문제가있었습니다. 결국 방금 다음과 같이 파인더를 사용했습니다.

이동-> 컴퓨터-> 디스크-> 사용자-> 사용자 이름-> 오른쪽 클릭-> 정보 입수

나는 그것이 잠겨 있음을 발견했습니다. 아마도 과거에 그것을하고 잊어 버렸습니다. 잠긴 확인란을 선택 취소하고 문제가 해결되었습니다.

이런 종류의 문제를 해결하기 위해 파인더에서 '정보 입수'를 사용하는 것이 좋습니다.

(OS X 10.8.3)


이것은 .iso고장난 가상 박스에서 잠금 해제하는 데 도움이되었습니다 .
Nakilon

1

파일과 상위 폴더가 모두 잠금 해제되어 있는지 확인하십시오

Mac Mail 전자 메일 서명 파일을 삭제하려고 할 때 비슷한 문제가 발생했습니다. 파일과 부모 폴더의 잠금을 해제 할 때까지 파일을 삭제할 수 없습니다.

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