Programing

루트 일 때 허용되지 않는 작업-El Capitan (루트리스 비활성화)

lottogame 2020. 4. 22. 08:09
반응형

루트 일 때 허용되지 않는 작업-El Capitan (루트리스 비활성화)


OS X El Capitan에서 / usr / bin 으로 무언가를 이동하려고합니다 . 다음 명령을 사용하여 rootless를 비활성화 sudo nvram boot-args="rootless=0"; sudo reboot했지만 동일한 오류가 계속 발생합니다.

MacBook-Air:~ Mark$ sudo cp class-dump /usr/bin
Password:
cp: /usr/bin/class-dump: Operation not permitted
MacBook-Air:~ Mark$ sudo mv class-dump /usr/bin
mv: rename class-dump to /usr/bin/class-dump: Operation not permitted

Nvm. 이 문제가있는 다른 사람은 Mac을 재부팅하고 부팅 할 때 ⌘ + R을 눌러야 합니다. 그런 다음 유틸리티> 터미널 로 이동 하여 다음 명령을 입력하십시오.

csrutil disable
reboot 

이것은 시스템 무결성 보호의 결과입니다. 자세한 내용은 여기를 참조하십시오 .

편집하다

현재하고있는 일을 알고 있고 Linux를 실행하는 데 익숙한 경우 많은 SIP 제한 사항이 완전히 문제가되기 때문에 위의 솔루션을 사용해야합니다 .

그러나 어설프게 / noob / "poweruser" 이고 자신이하는 일을 모르는 경우 이는 매우 위험 할 수 있으며 아래 답변을 사용 하는 것이 좋습니다 .


올바른 해결책은 복사 또는 설치 /usr/local/bin하지 않는 것입니다. /usr/bin이것은 SIP (System Integrity Protection) 때문 입니다. SIP는 /usr/bin읽기 전용이지만 /usr/local읽기 / 쓰기로 남습니다 .

SIP 는 루트 액세스 권한을 얻는 맬웨어에 대해 다른 보호 계층을 추가하기 때문에 위의 답변에 명시된대로 비활성화하지 않아야합니다. 다음 은 SIP의 기능 및 유용한 이유에 대한 완전한 설명입니다.

이 답변 에서 제안한대로 SIP (루트리스 모드) 를 비활성화하지 않아야합니다. " 루트리스 모드 를 비활성화하지 않는 것이 좋습니다. 가장 좋은 방법은"/ usr / local "에만 사용자 정의 항목을 설치하는 것입니다."


당신이 통제하고 싶다면 /usr/bin/

시스템을 재부팅해야합니다 :

부팅 사운드 직후 Command-R을 길게 눌러 복구 시스템으로 부팅하십시오.

유틸리티 메뉴를 클릭하고 터미널을 선택하십시오

csrutil disable을 입력하고 Enter 키를 누릅니다

 메뉴를 클릭하고 다시 시작을 선택하십시오.

변경 사항을 커밋 한 후에는 SIP를 다시 활성화하십시오! 시스템을 보호하는 데 많은 도움이됩니다. (유형을 제외한 위의 단계 : csrutil enable)


"csrutil disabled"를 호출 한 후에도 명령이 작동하지 않으면 터미널에서 "sudo"를 사용하십시오 (예 :

sudo mv geckodriver /usr/local/bin

그리고 작동해야합니다.

참고 URL : https://stackoverflow.com/questions/32659348/operation-not-permitted-when-on-root-el-capitan-rootless-disabled

반응형