Ich habe ein paar Apps gefunden, die sich beim Start selbst starten können, obwohl sie nicht an den üblichen Stellen angezeigt werden ...
- Login Items (in the Users preference pane)
- /Library/LaunchAgents
- /Library/LaunchDaemons
- /Library/StartupItems
- /System/Library/LaunchAgents
- /System/Library/LaunchDaemons
- /System/Library/StartupItems
- ~/Library/LaunchAgents
- ~/Library/LaunchDaemons
- ~/Library/StartupItems
Zumindest einige dieser Apps (z. B. Tag 1 und Pausen - beide aus dem Mac App Store) scheinen ein Element aus ihren eigenen internen LoginItems
Ordnern zu starten :
/Applications/Day One.app/Contents/Library/LoginItems/Day One Reminders.app
/Applications/Pauses.app/Contents/Library/LoginItems/PausesLauncher.app
Als gute Bürger können Sie mit beiden Apps das Start-bei-Anmelde-Verhalten deaktivieren. Es ist jedoch beunruhigend, dass dieses Verhalten nicht systemweit gesteuert werden kann, und ich möchte eine Möglichkeit zur systematischen Identifizierung / Steuerung diese Login-Elemente. Die (zweiteilige) Frage lautet also:
- Was steuert tatsächlich, ob / wie diese app-spezifischen Startelemente aktiviert werden, und
- Wie kann ich ein Inventar all dieser Login-Elemente erhalten?
[aus Gründen der Klarheit bearbeitet 2013-03-20 11:22 PT]
fs_usage
, also habe ich angenommen, dass dies der Fall ist.Antworten:
Der erste Tag scheint das Login-Element in /var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist zu speichern:
Wenn Sie dies in derselben Datei auf true ändern, wird Folgendes deaktiviert:
quelle
(Hier geht es nicht um die vom Benutzer sichtbaren Anmeldeelemente in den Systemeinstellungen für Benutzer und Gruppen.)
Der Inhalt / Library / LoginItems /, der im Anwendungspaket enthalten ist, scheint die Implementierung von Apples Ansatz für Sandbox-Apps zu sein.
Der Tipp von @ user495470 zum Speichern der Anmeldeelementreferenz in /var/db/launchd.db/ scheint in macOS 10.12 nicht mehr gültig zu sein
Die Richtung von Apple scheint in Richtung eines in sich geschlossenen Ansatzes zu gehen, bei dem LaunchDaemons, LaunchAgents und StartupItems in Zukunft möglicherweise nicht mehr zulässig sind, da Mac-Apps möglicherweise irgendwann in einer Sandbox gespeichert werden müssen (persönliche Vermutung, keine Tatsache). Auf der anderen Seite sind die CFPreferences-API und das Senden von AppleEvents zum Start veraltet ...
Ref:
Während es in der Vergangenheit einfach war, in den oben genannten Ordnern nach Informationen zum Start des Starts (per Dan) zu suchen, verbirgt dieses neue Sandbox-Modell, obwohl es theoretisch betrieblich sicherer ist, die Startfähigkeit einer App (oder eines Trojaners?) Vor allen normalen Benutzern und den meisten Superusern die wissen, in den Systemverzeichnissen zu suchen. Das Auffinden dieser versteckten Anmeldeelemente ist jetzt zu einem PITA (Schmerz in der App) geworden, bei dem Sie entweder durch den Anwendungsordner suchen oder App-Bundles manuell öffnen, indem Sie in / Contents / Library / nach einem "LoginItems" -Ordner und dessen Inhalten suchen. Für die Lösung auf Benutzerebene habe ich ein Tool gefunden, das die eingebetteten Anmeldeelemente des App-Bundles mit dem Namen CleanMyMac auflistet (Kann sie deaktivieren oder aktivieren. Seien Sie vorsichtig, holen Sie sich diese App nur von der Firma. Es gibt geknackte Versionen, die tatsächlich einen Virus übertragen, ähnlich wie Login Items jetzt funktioniert (Ironie).)
Beachten Sie auch, dass diese aktivierten oder deaktivierten Elemente nicht Teil der vom Benutzer sichtbaren "Anmeldeelemente" in den Systemeinstellungen "Benutzer und Gruppen" sind:
Wenn Sie wie ich sind und dies auf Codeebene arbeiten, finden Sie hier einen konsolidierten Leitfaden zur Implementierung (von Tim Schroeder 2013): Der Start bei Login Sandbox Project
quelle