Ich nutze Apple Events in großem Umfang, um eine Vielzahl von Anwendungen auf meinem Computer zu steuern. Die in Mojave eingeführten neuen Sicherheitsanweisungen sind lähmend .
In früheren Versionen von macOS konnte eine App, nachdem sie die Berechtigung zum "Steuern Ihres Computers" erhalten hatte, Apple-Ereignisse an jede andere App auf Ihrem Computer senden. In Mojave muss diese Berechtigung für jede zu steuernde App einmal manuell erteilt werden.
Sobald ein Benutzer Zugriff gewährt, wird seine Auswahl in einer von zwei SQLite-Datenbanken gespeichert:
~/Library/Application Support/com.apple.TCC/TCC.db
/Library/Application Support/com.apple.TCC/TCC.db
- Beachten Sie, dass # 2 nur für den Root-Benutzer sichtbar ist.
- Beachten Sie, dass der Systemintegritätsschutz deaktiviert ist.
Wäre es möglich, diese SQLite-Datenbanken direkt zu bearbeiten, um automatisch Berechtigungen zu erteilen und diese Sicherheitsanweisungen zu umgehen?
quelle
tell app "Finder" to open every application file in the entire contents of (path to applications folder) as alias list
. Dannrepeat with A in the result
...ignoring application responses
...quit the application named A
...end ignoring
...end repeat
. Es wird schmerzhaft sein, aber es wird sein, als würde man ein Pflaster abreißen.Antworten:
Der direkte Zugriff auf die TCC.db-Datenbank wird von Apple nicht mehr unterstützt, selbst wenn Sie SIP deaktivieren , da Benutzer vor großen Unternehmen geschützt werden, die gerne alles verfolgen, was Sie online tun, und diese heimliche Umgehung auch ohne Aufforderung durchgeführt haben Berechtigung für Benutzer. Selbst in Mojave gibt es eine Möglichkeit, dies zu umgehen, jedoch mit einem Haken: Dies funktioniert nur, wenn ein bestimmter Computer in einem MDM-Programm registriert ist . Um mehr über das MDM-Programm zu erfahren, klicken Sie hier .
Um dies für mehrere Computer zu umgehen, können Sie das
tccprofile.py
bei GitHub verfügbare Python-Skript verwenden .Eine ausführliche Diskussion darüber, was Sie können und was nicht, finden Sie hier .
Soweit ich weiß, ist dies die einzige Möglichkeit, die Notwendigkeit zu umgehen, ab Mojave die Erlaubnis des Benutzers einzuholen.
quelle
Ich habe dies zum Löschen eines Eintrags gefunden.
quelle
Error: unable to open database "/Library/Application Support/com.apple.TCC/TCC.db": unable to open database file
und wenn ich versuche,ls
das Verzeichnis als root aufzurufen, bekomme ich siels: : Operation not permitted
.TCC.db
auf Catalina lesen ? Ich habe das gleiche Problem auch, kann nicht einmalls
imcom.apple.TCC
Verzeichnis tunsudo tccutil --list
( github.com/jacobsalmela/tccutil )SIP unterstützt kein Bibliotheksverzeichnis. Dies bedeutet, dass Sie mit einigen Befehlen weiterhin über das Terminal in die Datei TCC.db schreiben können.
Hier ist der Link: Über SIP
quelle