Gatekeeper를 사용하여 애플리케이션에 대한 액세스 제어
spctl
(Gatekeeper)를 사용하여 승인 및 승인되지 않은 앱 목록을 만들 수 있습니다 .
예를 들어 Mail을 허용하고 Chrome을 차단한다고 가정합니다.
sudo spctl --add --label "ApprovedApps" /Applications/Mail.app
sudo spctl --add --label "DeniedApps" /Applications/Chrome.app
위의 명령은 Mail과 Chrome을 각각 "승인 됨"과 "거부 됨"으로 레이블을 지정합니다 (자신의 설명자를 사용할 수 있음).
이제 앱을 활성화 / 비활성화하려면 다음 명령을 실행하십시오.
sudo spctl --enable --label "ApprovedApps"
sudo spctl --disable --label "DeniedApps"
이것이 갖는 장점은 다른 앱을 목록에 추가하려면 적절한 레이블을 추가하기 만하면됩니다.
sudo spctl --add --label "ApprovedApps" /Applications/Another.app
또한 Mac App Store의 코드가 실행되지 않도록 할 수 있습니다 ( spctl
Man page-에 있음 man spctl
).
spctl --disable --label "Mac App Store"
이렇게하면 누구나 앱 스토어에서 앱을 다운로드하여 설치 / 실행할 수 없습니다.
관리자 다루기 /sudoers
의견에 명시된 바와 같이 관리자가 수행 할 수있는 모든 작업은 다른 관리자가 실행 취소 할 수 있습니다. spctl
root 를 사용해야하지만 sudoers 파일을 편집하여 특정 명령에 대한 액세스 권한을 다시 부여하면 다른 사용자 / 관리자가 변경 사항을 취소 할 수 없습니다.
sudo 사용자가 특정 명령을 실행하지 못하게하는 방법을 참조하십시오 . sudoers
파일 에서 "예외 허용 화이트리스트"를 구성하는 방법에 대한 자세한 내용 .
예를 들어, Sam 사용자가을 제외한 모든 명령에 액세스 할 수있게 spctl
하려면 sudoers 파일에 넣습니다.
sam ALL = ALL, !/usr/sbin/spctl
이 방법은 액세스를 막는 "빠르고 더러운"방법 spctl
이지만 궁극적으로 다른 관리자가 전략에 현명 해지면 명령 이름을 바꾸고 액세스 할 수 있기 때문에 효과적이지 않습니다.
로부터 sudoers
매뉴얼 페이지
일반적으로, 사용자가 sudo ALL을 가지고 있다면`! '와 상관없이 루트 쉘을 제공하는 자신의 프로그램을 만들거나 자신의 쉘 복사본을 만드는 것을 막을 수있는 것은 없습니다. 사용자 사양의 요소.
실제로 잠 그려면 다른 사용자를 su
다른 사용자 (예 : 운영자)로 설정하거나 다른 모든 것을 차단하도록 기본적으로 허용 된 명령의 허용 목록을 만들어야합니다. 그러나 중요한 기능을 차단할 수 있으므로 시간이 많이 걸리고 매우 위험합니다.