Uprawnienia do katalogu macOS Mojave

10

MacOS Mojave rozszerzyła działanie SIP na katalogi domowe użytkowników. Domyślnie odmowa dostępu do wielu katalogów w katalogu osobistym użytkownika. Poniżej podano kilka przykładów tych katalogów.

~/Library/Messages
~/Library/Mail
~/Library/Safari
[… etc.]

Aby uzyskać dostęp do tych katalogów z terminala, aplikację terminala należy zdefiniować w Preferencjach systemowych> Bezpieczeństwo i prywatność> Prywatność> Pełny dostęp do dysku. Konfiguracja działa, z wyjątkiem następującego katalogu w moim systemie. To samo zachowanie może występować w przypadku innych danych w kontenerach - nie jestem pewien.

~/Library/Containers/com.apple.mail/Data/DataVaults

Intrygujące zachowanie jest łatwe do odtworzenia. Katalog nie jest nawet widoczny.

cd ~/Library/Containers/com.apple.mail/Data
ls
ls: DataVaults: Operation not permitted

Używam rsyncdo dublowania mojego katalogu domowego na zewnętrzny dysk twardy; ale nie mogę już tego robić, ponieważ rsyncnarzeka: „Wystąpił błąd we / wy - pomijanie usunięcia pliku”, co psuje efekt dublowania. Nie znajduję żadnej dokumentacji na ten temat. Wsparcie Apple nie ma pojęcia. Dlaczego ten katalog jest wyjątkowy i jak możemy uzyskać do niego dostęp bez wyłączania SIP?

Wyniki dalszych badań z wyłączonym SIP

Według informacji o systemie aktualizacja Mojave została wykonana 24 września 2018 r. Katalog został również utworzony tego samego dnia. Mój użytkownik jest właścicielem katalogu, a grupa pracowników jest właścicielem grupy. Jego uprawnienia to 0700. Ma rozszerzone atrybuty wskazane przez @symbol. Brak list ACL. Brak flag.

xattr -l ~/Library/Containers/com.apple.mail/Data/DataVaults

com.apple.quarantine: 0082;00000000;Mail;
com.apple.rootless: Mail

ls -lO DataVaults
(no result; exit 0)

Po wyłączeniu SIP, usunięciu katalogu i ponownym włączeniu SIP, katalog pojawia się ponownie z tymi samymi uprawnieniami, jak tylko otworzy się Mail. Mail (wersja 12.0 (3445.100.39)) nie ma wtyczek.

Wyniki świeżej instalacji 16 października 2018 r

Katalog nie istnieje po sformatowaniu i ponownej instalacji. Nadal nie mam pojęcia, jak to się kiedyś zaczęło.

Wyniki aktualizacji 29 marca 2019 r

Katalog pojawił się ponownie wraz z aktualizacją do Mojeve 10.14.4 (18E226) i / lub Mail Version 12.4 (3445.104.8).

Krzysztof
źródło
Katalog jest chroniony przez flagę pliku, ACL lub atrybut rozszerzony. Zauważyłem, że wiele plików i katalogów nabyło ten com.apple.quarantineatrybut na przykład po aktualizacji do Mojave. W przypadku moich własnych kopii zapasowych (przy użyciu resticHomebrew) po prostu ignoruję te fragmenty, ~/Libraryponieważ żadne z nich nie wydaje się dotyczyć mnie ani tego, co zwykle robię. Sam mam ich 24.
Kusalananda
Przepraszam, przeczytałem ponownie pytanie i rzeczywiście, po dodaniu iTerm2 (w moim przypadku) do aplikacji z „Pełnym dostępem do dysku”, kopia zapasowa działa teraz bez problemów (dzięki za to!). Nie mogę powiedzieć nic więcej o twojej sprawie. Na moim komputerze, widzę tego konkretnego katalogu i zawiera linki symboliczne do niektórych katalogów w moim katalogu domowym (te „default” podoba Documents, Movies, Musicitd.).
Kusalananda
Nie mogę powiedzieć nic więcej. Nie mam tego katalogu / dowiązania symbolicznego. Czy uaktualniłeś lub ponownie zainstalowałeś? Czy „DataVaults” dzwoni w związku z jakąkolwiek aplikacją lub funkcją, z której wcześniej korzystałeś?
Kusalananda

Odpowiedzi:

6

Katalog DataVaults dotyczy uprawnień . Dostęp jest uniemożliwiony, chyba że właściciel uprawnienia przyzna dostęp. Uprawnienia do Mail.app można wymienić w następujący sposób i udostępnić plist XML.

codesign -d --entitlements - /Applications/Mail.app/

W tej chwili jedyną dostępną metodą uzyskania dostępu do katalogu jest wyłączenie protokołu SIP. Jeśli chodzi o mój rsyncproblem, zdecydowałem się na włączenie SIP i skorzystałem z rsysncopcji exclude, aby zignorować katalog DataVaults, który, nawiasem mówiąc, jest pozbawiony treści.

Na podstawie komentarza blog w Eclectic Light Company , oferujący więcej wskazówek:

/var/folders/t9/[long ID]/C/com.apple.QuickLook.thumbnailcache”to DataVault, który jest nowym rodzajem kontenera prywatności, który Apple wprowadził około 10.13.4. Te pliki / foldery są oznaczone flagą pliku „UF_DATAVAULT”. Są one realizowane za pośrednictwem SIP (nie technicznie sandboxing, ale ta sama istota). Aplikacje potrzebują uprawnień do tworzenia lub uzyskiwania dostępu do określonych przechowalni danych, a nawet do stat () folderu DataVault.

Urządzenia te warte są głębszych badań. Apple nie wydaje (i najwyraźniej nie planuje) tych uprawnień stronom trzecim. Zastanów się, jakie są tego konsekwencje - Apple tworzy platformę, na której tylko dane tworzone w aplikacjach Apple mają najwyższy poziom bezpieczeństwa.

Weź również pod uwagę, że Ty (użytkownik) nie widzisz zawartości DataVault bez wyłączenia SIP. Trudno powiedzieć, co Apple w nich trzyma, ale niektóre z nich są nieco niepokojące. Oto tylko kilka znanych skarbców danych:

~/Library/VoiceTrigger/SAT

~/Library/Containers/com.apple.mail/Data/DataVaults /private/var/folders/0z/fs4vdwmx6g31n69qt5v5ff580000gn/0/com.apple.nsurlsessiond

Ten pierwszy najwyraźniej ma „Siri Audio Transcripts” - wszystko, co kiedykolwiek wypowiedziałeś Siri na komputerze Mac.

Nie znalazłem flagi ~/Library/Containers/com.apple.mail/Data/DataVaults, a czysta instalacja Mojeve spowodowała, że ​​katalog nie pojawiał się ponownie.

Opublikowano również podsumowujący przegląd kontroli dostępu.

Krzysztof
źródło
Możesz również rozważyć opcję rsync --ignore-error.
dave