W dużym stopniu korzystam z Apple Events, aby kontrolować różnorodne aplikacje na moim komputerze. Nowe monity bezpieczeństwa wprowadzone w Mojave są paraliżujące .
W poprzednich wersjach systemu macOS, gdy aplikacja otrzymała pozwolenie na „sterowanie komputerem”, mogła wysyłać zdarzenia Apple do dowolnej innej aplikacji na komputerze. W Mojave to uprawnienie musi zostać przyznane ręcznie raz dla każdej kontrolowanej aplikacji.
Gdy użytkownik przyzna dostęp, jego wybór jest przechowywany w jednej z dwóch baz danych sqlite:
~/Library/Application Support/com.apple.TCC/TCC.db
/Library/Application Support/com.apple.TCC/TCC.db
- Zauważ, że # 2 jest widoczny tylko dla użytkownika root.
- Pamiętaj, że ochrona integralności systemu jest wyłączona.
Czy można by bezpośrednio edytować te bazy danych sqlite, aby automatycznie udzielać uprawnień i omijać te monity bezpieczeństwa?
applescript
mojave
macos
Wowfunhappy
źródło
źródło
tell app "Finder" to open every application file in the entire contents of (path to applications folder) as alias list
. Potemrepeat with A in the result
...ignoring application responses
...quit the application named A
...end ignoring
...end repeat
. Będzie to bolesne, ale będzie to jak zrywanie bandaża.Odpowiedzi:
Bezpośredni dostęp do bazy danych TCC.db nie jest już obsługiwany przez Apple, nawet jeśli wyłączysz SIP , z powodu ich polityki ochrony użytkowników przed dużymi firmami, które lubią śledzić wszystko, co robisz online, a także robił to ukradkowe obejście bez pytania uprawnienia dla użytkowników. Jednak nawet w Mojave istnieje sposób na obejście tego, ale z haczykiem: działa to tylko wtedy, gdy dany komputer jest zarejestrowany w programie MDM . Aby dowiedzieć się więcej o programie MDM, przejdź tutaj .
Aby to obejść na kilku komputerach, możesz użyć skryptu python
tccprofile.py
dostępnego na GitHub .Szczegółową dyskusję na temat tego, co możesz, a czego nie możesz zrobić, znajdziesz tutaj .
O ile mi wiadomo, jest to jedyny sposób na ominięcie potrzeby pytania użytkownika o pozwolenie od Mojave.
źródło
Znalazłem to do usunięcia wpisu.
źródło
Error: unable to open database "/Library/Application Support/com.apple.TCC/TCC.db": unable to open database file
a jeśli spróbuję wejść dols
katalogu jako root, dostanęls: : Operation not permitted
.TCC.db
na temat Catalina? Mam również ten sam problem, nie mogę nawet zrobićls
wcom.apple.TCC
katalogusudo tccutil --list
( github.com/jacobsalmela/tccutil )SIP nie obsługuje katalogu Library. Oznacza to, że za pomocą niektórych poleceń możesz nadal zapisywać do pliku TCC.db przez terminal.
Oto link: O SIP
źródło