Jak dowiedzieć się, jakie uprawnienia ma aplikacja?

28

Aplikacje w piaskownicy muszą zadeklarować swoje uprawnienia. Oczywiście nie przyniesie mi to nic dobrego, jeśli nie mogę powiedzieć, jakie uprawnienia deklaruje. Edytor tekstowy, który ma uprawnienia do lokalizacji podstawowej, serwera sieciowego i mojej książki adresowej, bez mojej wiedzy, może być znacznie gorszy niż aplikacja bez piaskownicy.

Jak mogę sprawdzić, jakie uprawnienia ma aplikacja?

Rozpoznać
źródło

Odpowiedzi:

35

Po dalszych poszukiwaniach znalazłem odpowiedź z wiersza poleceń:

codesign -d --entitlements :- /Applications/Whatever.app/

Spowoduje to wydrukowanie listy XML z wartościami takimi jak:

<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>

Aby uzyskać więcej informacji, zobacz https://developer.apple.com/library/archive/qa/qa1798/_index.html#//apple_ref/doc/uid/DTS40014167-CH1-IOS_STEPS

Jeśli ktoś zna łatwiejszy / milszy sposób, chciałbym to usłyszeć.

Rozpoznać
źródło
1
Również więcej dokumentacji na ten temat: developer.apple.com/library/content/documentation/Security/…
W Mojave 10.14.4 powyższe polecenie drukuje dodatkowe 8 bajtów na początku: fade7171000000fbco powoduje, że kod XML jest nieprawidłowy. Jakiś sposób, aby tego uniknąć lub go rozebrać?
luckman212
codesign -d --entitlements - <filepath> 2>&1 | LANG=C LC_CTYPE=C sed 's/^.*\<\?xml/\<\?xml/g' | grep "<.*>" Może jest inne rozwiązanie, ale w ten sposób usuwam te bajty. Ale nie uważam, że jest to konieczne: możesz codesignuruchomić aplikację, wskazując na uprawnienia xml, a macOS i tak zignoruje te bajty.
JayB
Dodaj dwukropek, aby pominąć te bajty:codesign -d --entitlements :- /Applications/Whatever.app/
artyom.stv