LaunchAgent 및 데몬 중지


23

대학 환경에서 관리자로 일하고 있습니다. 도전 과제 중 하나는 CS 전공 학생들이 설치 한 서비스를 중단하는 것입니다. 얼마 전에 그들은 관리자 액세스 권한을 얻었고 일부 시스템에 시작 에이전트와 데몬을 설치했습니다. 또한 학생들은 일부 plist를 com.apple.myprog.run으로 추가했습니다. 문제점은 launchagents 디렉토리 또는 launchdaemons 디렉토리에없는 것입니다.

제 질문은 이러한 데몬 서비스의 경로를 찾는 방법입니다. 다음 단계는이를 중지하는 방법입니다. 이들 중 일부는 (특정 플래그를 기반으로) 반복해서 시작할 수 있기 때문입니다.


비슷한 문제입니다. 로 시작한 데몬을 중지 할 수 없습니다 launchctl load -wF /Library/LaunchDaemons/name.of.this.plist.
Meltemi 2016 년

답변:


21

이 부팅 항목을 중지 하려면를 통해 unload 명령을 실행하면됩니다 launchctl. 영구 수정의 경우 비활성화 된 키를 plist에 true로 설정하거나 파일을 삭제 / 이동 한 폴더로 파일을 삭제 / 이동하면 자동으로 스캔되지 않습니다.

  • launchctl unload /System/Library/LaunchAgents/com.apple.AppStoreUpdateAgent.plist

launchctl 의 매뉴얼 페이지 에는 작업 제어에 대한 유용한 문서가 있습니다. CS 전공의 일반적인 패배에 관해서는, 그들이 예상하지 않은 일을하기 위해 기존 애플 plist를 편집했다고 생각할 수도 있습니다. 따라서 OS를 다시 설치하고 사용자 데이터를 다시 마이그레이션하는 것이 훨씬 쉬울 것입니다 / 시스템 / 라이브러리, / 라이브러리 공간에 plist 파일을 다시 설치하기 위해 특별히주의를 기울여야합니다 (그리고 아마도 관리자 사용자의 ~ / 라이브러리를 감사 할 수도 있습니다). 시스템은 기본적으로 게임 오버이며 공격과는 반대로 변경 (방어 찾기 및 비활성화)에 많은 시간이 소요됩니다 (알려진 적절한 소스에서 시스템을 다시 설치하고 변경된 파일이 탐지되도록 구성 관리 도구를 사용함).


요점은 plist가 저장된 위치를 모른다는 것입니다. LaunchAgents 디렉토리에서 검색했는데 거기에 앱 plist가 표시되지 않습니다.
Prashant

그들은 어디에나있을 수 있습니다. 안전 모드로 부팅하고 launchctl 목록 출력을 일반 부팅 목록과 비교할 수 있습니다. mdfind는 불량 작업이 포함 된 파일을 스포트라이트에서 제외하지 않은 경우 표시합니다. 이론적으로 부팅 중에 읽은 파일을 추적하기 위해 시작 자체에 대해 fs_usage를 실행할 수도 있지만 부팅시 곧 실행되는 fs_usage의 물류는 여전히 모든 plist 파일을 검사해야한다는 사실과 함께 청소를 시작하는 대신 "변경 사항을 감지하고 외과 적으로 제거"하기 위해 잘라낸 작업.
bmike

1
실제로 시스템의 모든 .plist를 찾으려면 그렇게하십시오. 긴 목록입니다. find / -type f -name "*.plist"
afragen

man launchctl 언로드 이전 버전에서는이 옵션이 구성 파일을 수정했습니다. 이제 Disabled 키 상태는 디스크의 다른 곳에 저장됩니다. .. (
Nakilon

@Nakilon 버전에 대해 정확할 수 있습니까? 출시 된 10.11 점검 또는 다른 "이전 버전"을 언급하고 있습니까?
bmike

17

내가 찾은 가장 쉬운 방법은

sudo launchctl list | grep "rough name of what you want to find"
sudo launchctl remove "label.of.the.file"

고마워요, 이것이 제가 원하는 것입니다. 파일을 삭제 한 후 서비스를 삭제하는 방법!
chmac

2

다음 위치를 확인하십시오.

/ 사용자 / 사용자 이름 / 라이브러리 / LaunchAgents /

/ 라이브러리 / LaunchAgents /

/ 라이브러리 / LaunchDaemons /

/ 시스템 / 라이브러리 / LaunchAgents /

/ 시스템 / 라이브러리 / LaunchDaemons /


1

"launchctl dumpstate"를 수행하면로드 된 모든 서비스와 시작 .plist 및 내용의 경로가 표시됩니다.

많은 정보를 덤프하므로 덜 적은 것을 통해 실행하고 싶을 것입니다.

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