그렇습니다. 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 -lO
은 restricted
플래그 가있는 것으로 나열되거나 속성 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 norestricted
와 sudo xattr -d com.apple.rootless
또한 "작업을 할 수 없습니다"오류를 반환합니다. 플래그 및 / 또는 속성을 지우려면 macOS Recovery 로 부팅하고 터미널에서 명령을 실행해야합니다 (먼저 디스크 유틸리티를 사용하여 부팅 드라이브를 잠금 해제하고 마운트 한 다음 파일이 /Volumes/Macintosh HD
부팅 중이 거나 부팅 상태에 관계없이 있음을 기억하십시오) 드라이브의 이름을 지정하거나 SIP를 모두 비활성화 한 다음 다시 부팅하면 명령이 작동합니다. 그러나 향후 OS 업데이트는 restricted
플래그와 com.apple.rootless
속성을 제거한 파일로 복원 할 수 있습니다.
SIP를 사용하지 않도록 설정 하면 멀웨어 및 우발적 손상에 대한 많은 보호 기능이 제거되므로 파일별로 보호 기능을 간단히 제거 할 때 필요하지 않습니다. SIP를 비활성화 한 경우 변경을 완료하면 SIP를 다시 활성화하십시오.
경우 있습니다 ls -lO
보여줍니다 schg
플래그가 설정되어, 당신이 그것을 설정을 해제하는 단일 사용자 모드로 얻을 수있다. 파일에 왜 플래그가 설정되어 있는지, 왜 엉망이되는지, 그리고 그 결과가 어떻게 될지에 대한 더 큰 질문이 있기 때문에 여기서는 다루지 않을 것입니다.
sudo chgrp wheel ./entries
?