macOSTemelKalıcılık

Launch agent ve launch daemon öğeleri

Programları açılışta, oturum açmada veya tetikleyicilerle başlatan launchd özellik listeleri; macOS'un başlıca kalıcılık konumları ve anahtarları.

01Konum

  • ~/Library/LaunchAgents/*.plist
  • /Library/LaunchAgents/*.plist
  • /Library/LaunchDaemons/*.plist
  • /System/Library/LaunchAgents/*.plist
  • /System/Library/LaunchDaemons/*.plist

02Yanıtladığı sorular

  • Hangi programlar tüm kullanıcılar veya tek bir kullanıcı için otomatik başlayacak şekilde yapılandırılmış?
  • Her iş hangi yürütülebilir dosyayı ve bağımsız değişkenleri, hangi tetikleyiciyle çalıştırıyor?
  • Bir iş, üretici tarafından sağlanan /System konumları dışında mı eklendi?

03Biçim ve sürümler

Biçimlaunchd'nin okuduğu özellik listesi (XML veya ikili). Daemon'lar sistem genelindedir; agent'lar kullanıcı bazında ve yalnızca o kullanıcı oturumdayken çalışır.
Geçerli olduğu sürümlerKonumlar launchd.plist(5) ve Apple'ın daemon kılavuzundan alınmıştır. macOS 13'ten itibaren SMAppService, plist'leri bu klasörlere kurmak yerine uygulama paketi içindeki agent ve daemon'ları kaydeder.

04Temel alanlar

AlanNe anlatır
Labelİşi launchd'ye tanıtan benzersiz metin (zorunlu).
Program / ProgramArgumentsYürütülebilir dosya yolu ve bağımsız değişken dizisi; ProgramArguments yoksa Program zorunludur.
RunAtLoadİş yüklendiğinde bir kez başlatır (varsayılan false).
KeepAliveİşi isteğe bağlı başlatmak yerine sürekli çalışır tutar.
StartInterval, StartCalendarIntervalHer N saniyede veya cron benzeri takvim planıyla çalıştırır.
WatchPaths, QueueDirectoriesİzlenen yollar değiştiğinde veya klasörler boş olmadığı sürece işi başlatır.

05İnceleme akışı

  1. Beş konumun tamamını ve her kullanıcının ~/Library/LaunchAgents klasörünü toplayın.
  2. Her plist'i ayrıştırın; Label, Program/ProgramArguments ve tetikleyici anahtarlarını tablo hâline getirin.
  3. Başvurulan yürütülebilir dosyaların varlığını kontrol edin; kod imzalarını ve dosya sistemi zamanlarını inceleyin.
  4. macOS 13 ve sonrasında oturum açma ve arka plan öğelerini sfltool dumpbtm ile de inceleyin.

06Yorum tuzakları

  • Özellik listeleri kurulum zamanı içermez; tarihlendirme dosya sistemi zaman damgalarına ve günlüklere dayanır.
  • Genel olarak kurulan işler root'a ait olmalı, grup veya herkes tarafından yazılabilir olmamalıdır; sapmalar dikkat gerektirir.
  • SMAppService ile kaydedilen yardımcıların bu klasörlerde plist'e ihtiyacı yoktur; boş bir klasör arka plan öğelerini dışlamaz.
  • Alıntılanan launchd.plist(5) sayfası Apple'ın açık kaynak launchd sürümündendir; sonradan eklenen anahtarları içermeyebilir.

08Kaynaklar

  1. launchd.plist(5) manual page Apple open source (apple-oss-distributions/launchd, GitHub) · erişim 2026-10-14
  2. Daemons and Services Programming Guide — Creating Launch Daemons and Agents Apple Developer Documentation Archive · erişim 2026-10-14
  3. SMAppService Apple Developer Documentation · erişim 2026-10-14
  4. Manage login items and background tasks on Mac Apple Platform Deployment · erişim 2026-10-14
  5. ForensicArtifacts — artifacts/data/macos.yaml ForensicArtifacts project (GitHub) · erişim 2026-10-14