Entfernen Sie Anwendungen aus den Ortungsdiensten in „Sicherheit und Datenschutz“ unter Mac OS X 10.8

Entfernen Sie Anwendungen aus den Ortungsdiensten in „Sicherheit und Datenschutz“ unter Mac OS X 10.8

Ich wollte Anwendungen aus den Ortungsdiensten in den Sicherheits- und Datenschutzeinstellungen auf Mac OS X 10.8 Mountain Lion entfernen. (Die Apps wurden immer noch aufgelistet, obwohl sie deinstalliert waren.) Ich fand den BeitragEntfernen Sie die Anwendung aus den Ortungsdiensten unter „Sicherheit und Datenschutz“ auf Mac OS X 10.7, und das hat mich in die richtige Richtung gebracht. Hier ist das OS X 10.8.2 Mountain Lion-Äquivalent, das bei mir funktioniert hat. Der Hauptunterschied ist der Speicherort der Datei clients.plist. Ich wollte auch einen schrittweisen Prozess bereitstellen.

HAFTUNGSAUSSCHLUSS: Das hat bei mir funktioniert. Stellen Sie sicher, dass Sie eine gute Sicherungskopie Ihres Systems haben. Dieser Vorgang umfasst die Erstellung einer Sicherungskopie der Datei clients.plist, aber man kann nie zu sicher sein.

1. Starten Sie das Terminal und wechseln Sie dann per Sudo zu einer Root-Shell
sudo -s

2. Gehen Sie zu /var/db/locationd
cd /var/db/locationd

3. Erstellen Sie eine Sicherungskopie der Datei clients.plist
cp -p clients.plist clients.plist.save

4. Konvertieren Sie clients.plist in XML (editierbares Format)
plutil -convert xml1 clients.plist

5. Verwenden Sie vi (vim), um die Datei clients.plist zu bearbeiten und die Anwendung zu entfernen.
vi clients.plist

Die Datei enthält wahrscheinlich viele Anwendungseinträge. Hier ist das Format eines einzelnen Anwendungseintrags (in diesem Fall Safari). Der gesamte Eintrag muss gelöscht werden.

    <key>com.apple.Safari</key>
    <dict>
        <key>Authorized</key>
        <true/>
        <key>BundleId</key>
        <string>com.apple.Safari</string>
        <key>Executable</key>
        <string>/Applications/Safari.app/Contents/MacOS/Safari</string>
        <key>LocationTimeStopped</key>
        <real>376348187.80421197</real>
        <key>Registered</key>
        <string>/Applications/Safari.app/Contents/MacOS/Safari</string>
        <key>RequirementString</key>
        <string>identifier "com.apple.Safari" and anchor apple</string>
        <key>Whitelisted</key>
        <false/>
    </dict>

6. Konvertieren Sie die Datei clients.plist zurück in eine Binärdatei
plutil -convert binary1 clients.plist

7. Starten Sie locationd neu
killall locationd

Wenn die Apps noch da sind, führen Sie den Vorgang erneut aus, starten Sie locationd jedoch mit kill -9 neu, nachdem Sie die PID wie folgt ermittelt haben. Die PID ist das zweite Feld in der PS-Ausgabe.

ps -ef | grep locationd | grep -v grep
Ausgabe:205 427 1 0 6:31PM ?? 0:00.07 /usr/libexec/locationd
kill -9 427

Ich habe den Vorgang zweimal ausgeführt, um jeweils eine App zu entfernen. Beim ersten Mal reichte killall aus. Beim zweiten Mal nicht. Ich weiß nicht, warum. Es verhielt sich so, als ob locationd einen Cache führte und clients.plist neu erstellte. Ich sage das, weil die Einträge nach dem Ausführen von killall – und sogar bei einem Neustart – wieder zu clients.plist hinzugefügt wurden. Was auch immer die Grundursache war, die Verwendung von kill -9 löste das Problem für mich.

Wenn etwas schief geht, kopieren Sie die Originaldatei zurück und starten Sie locationd neu.
cp -p clients.plist.save clients.plist
killall locationd(oder verwenden Sie die Methode kill -9)

Ich hoffe, das hilft. Prost!

Antwort1

Mit dem Eigenschaftenlisten-Editor von Xcode lassen sich auch Einträge alter Apps löschen, da die Datei aber schwer zugänglich ist, müssen die Berechtigungen temporär geöffnet werden:

mini-nevie:~ root# chmod o+rwx /var/db/locationd/ /var/db/locationd/clients.plist

damit das Verzeichnis und die Datei von allen Benutzern gelesen und geschrieben werden können. Führen Sie dann der Einfachheit halber einen su-Befehl zu Ihrer Anmelde-ID aus:

mini-nevie:~ root# su - nevinwilliams
mini-nevie:~ nevinwilliams$ open /var/db/locationd/clients.plist 

Dies setzt voraus, dass Xcode die Standardanwendung zum Öffnen von *.plist-Dateien ist und Sie mit dem Property List Editor vertraut sind. Unter der Root-Eigenschaft gibt es drei Standardwörterbucheinträge:

com.appl
com.appl.locationd.executable-/usr/libexec/UserEventAgent
com.appl.aosnotifyd

Diese sollten nicht entfernt werden. Bei Einträgen, die zu längst verschwundenen Apps gehören, können Sie den Mauszeiger direkt links neben die Wörterbuchspalte der entsprechenden App-Zeile bewegen, wo ein umgekehrtes graues „-“ angezeigt wird. Wenn Sie darauf klicken, werden das Element und alle seine untergeordneten Elemente entfernt. Wenn Sie den Eintrag lieber zuerst prüfen möchten, klicken Sie auf das graue Dreieck (das Benutzern der Listenansicht im Finder bekannt ist) links neben der Schlüsselzeichenfolge, um das Wörterbuch zu erweitern und seine Elemente anzuzeigen.

Sobald Sie die Schlüssel zu Ihrer Zufriedenheit gelöscht oder deaktiviert haben, speichern Sie die Datei und beenden Sie Xcode. Gehen Sie dann zurück in Terminal wie folgt vor:

mini-nevie:~ nevinwilliams$ exit
logout
mini-nevie:~ root# 

Drücken Sie die Aufwärtspfeiltaste zweimal, um den chmod-Befehl erneut aufzurufen, ctrl-Aund gehen Sie etwa achtmal zum Zeilenanfang. cursor-rightÄndern Sie das „+“ in ein „-“ oder geben Sie Folgendes wie gezeigt ein, um die Berechtigungen wiederherzustellen:

mini-nevie:~ root# chmod o-rwx /var/db/locationd /var/db/locationd/clients.plist 

dann HUPen Sie den Location Daemon:

 mini-nevie:~ root# killall -HUP locationd

Eine schnelle Überprüfung der Registerkarte „Datenschutz“ von Security.PrefPane sollte Ihre Änderungen bestätigen.

Besonders zutreffend sind die üblichen Haftungsausschlüsse, warnenden Leidensgeschichten, Schimpfwörter, Gegacker und Überlegungen zum Thema „Ist diese Reise wirklich notwendig?“.

Antwort2

Verwenden von tccutil (OS X-Befehlszeilenprogramm)

Ich denke, der schnellste und sicherste Weg, dies zu tun, ist über das OS X-Befehlszeilenprogrammtccutil

  • Öffnen Sie ein neues Terminalfenster
  • Schließen Sie alle geöffneten Fenster im Einstellungsbereich „Sicherheit und Datenschutz“.
  • Geben Sie die folgenden hervorgehobenen Befehle ein oder fügen Sie sie ein

Setzen Sie die Ortungsdienste zurück

tccutil reset CoreLocationAgent

Zugriff auf Kontakte/Adressbuch zurücksetzen:

tccutil reset AddressBook

Zugriff auf Erinnerungen zurücksetzen

tccutil reset Reminders

Zugriff auf Kalender zurücksetzen

tccutil reset Calendar

Und das ist alles. Übrigens ist kein Sudo erforderlich.

Antwort3

Dies ist die alte Lösung und die von mir vorgeschlagene Lösung unterscheidet sich technisch nicht von der Lösung im Beitrag und der akzeptierten Lösung, aber sie ist viel weniger umständlich und viel einfacher zu automatisieren (nützlich für das Debuggen). Machen Sie einfach

/usr/libexec/PlistBuddy -c 'Delete <bundle-id>' /var/db/locationd/clients.plist
killall -HUP locationd

als root.

Antwort4

Zusätzlich zu den vorherigen Antworten war dieses Problem bei mir erst nach der Korrektur der Dateieigentümerschaft behoben:

# chown -R _locationd:_locationd /var/db/locationd/
# chmod 750 /var/db/locationd/
# chmod 644 /var/db/locationd/clients.plist

Starten Sie anschließend den Computer neu.

verwandte Informationen