Cara memberikan izin aplikasi Mac untuk membaca seluruh sistem file

13

Saya membeli aplikasi ini bernama Xee dari toko aplikasi Mac. Ia dapat membuka file dengan sangat baik, tetapi ketika saya mencoba menelusuri folder dari dalam aplikasi Xee, ia harus meminta izin. (Lihat tangkapan layar di bawah.) Saya harus melakukan ini untuk setiap folder saat pertama kali saya menjelajahinya.

Saya berasumsi bahwa ini adalah batasan yang diberlakukan oleh app store. Apakah ada cara untuk mengelak dari ini dan memberikan izin aplikasi (diinstal pada mesin saya) untuk melihat direktori apa pun, atau bahkan melakukan apa pun yang diinginkan?

Tangkapan layar

Brian Gordon
sumber
1
Ini disebut - Keamanan. Dan Anda kemungkinan besar tidak ingin aplikasi memiliki akses penuh ke folder APAPUN di sistem Anda.
Rob
Apakah ini hanya terjadi untuk file / folder di luar folder pengguna Anda atau juga untuk hal-hal di dalam?
nohillside
@patrix Ini terjadi di dalam folder pengguna saya.
Brian Gordon

Jawaban:

3

Agak sulit tetapi, tetapi Anda dapat menghapus kotak pasir dengan mengubah <key>com.apple.security.app-sandbox</key>nilai (yang diatur ke < true/>) dengan hex editor.

Di macOS Sierra 10.12 atur menjadi < false/>
Di macOS El Capitain 10.11 atau sebelumnya atur ke < fals/>

Untuk Xee Anda perlu mengedit binari berikut:

  • /Applications/Xee³.app/Contents/MacOS/Xee³
  • /Applications/Xee³.app/Contents/Loader/Xee3.ImageLoader

Sumber: /programming/7018354/remove-sandboxing

Bob Fanger
sumber
Terima kasih! Berhasil. Jangan lupa ke chmod a+xfile jika Anda menggunakan hex editor Anda untuk membuat file baru.
Brian Gordon
Juga, hexed.it fantastis.
Brian Gordon
1
Ini sebenarnya bukan solusi ke depan. App Sandboxing semakin diperlukan seiring berjalannya waktu, jadi bekerja dengannya lebih baik daripada bekerja melawannya
Ben Leggiero
Pertimbangkan untuk memberikan umpan balik kepada Apple tentang batasan ini dan bagaimana membatasi aliran kerja Anda. Umpan balik pelanggan akan membantu membentuk apa yang bisa dan tidak bisa dilakukan aplikasi Mac App Store di masa mendatang. Untuk saat ini, aplikasi yang dibeli melalui Apple Mac App Store terbatas.
Bob Fanger
19

Aplikasi ini di-sandbox. Ini berarti aplikasi telah ditandatangani kode dengan seperangkat hak. Hak-hak ini ditegakkan oleh Mac OS X. Dokumentasi pengembang Apple tentang sandboxing memberikan lebih banyak detail.

Anda dapat melihat kepemilikan kotak pasir Xee menggunakan perintah Terminal.app berikut:

codesign --display --entitlements - /Applications/Xee.app

Artikel Ole Begemann, Memeriksa Penandatanganan Kode dan Status Kotak Pasir dalam Kode , menjelaskan lebih lanjut.

Mengundurkan diri atau Menghapus Hak

Untuk menghapus kepemilikan, Anda perlu menyalin kode ulang aplikasi tanpa kepemilikan - menggunakan codesign- atau menghapus sepenuhnya penandatanganan kode dari aplikasi.

Tanyakan Pengembang Xee

Tidak disarankan memodifikasi aplikasi Mac. Mintalah bantuan pengembang Xee tentang cara mengatasi perilaku ini; hanya mereka yang memiliki pengetahuan yang tepat untuk menyelesaikan masalah ini.

Pengembang Xee tampaknya menyadari masalah ini:

(Perhatikan bahwa versi App Store adalah kotak pasir, sedangkan uji coba non-App Store dan versi lengkap tidak kotak pasir. Jika Anda lebih suka keamanan kotak pasir OS X, Anda harus mendapatkan versi App Store. Namun, versi kotak pasir perlu meminta izin untuk operasi tertentu, dan jika Anda merasa ini menjengkelkan, Anda harus mendapatkan versi non-App Store.)

Beri tahu Apple

Pertimbangkan untuk memberikan umpan balik kepada Apple tentang batasan ini dan bagaimana membatasi aliran kerja Anda. Umpan balik pelanggan akan membantu membentuk apa yang bisa dan tidak bisa dilakukan aplikasi Mac App Store di masa mendatang. Untuk saat ini, aplikasi yang dibeli melalui Apple Mac App Store terbatas.

Graham Miln
sumber
2
Jawaban Stellar tentang sandboxing - dilakukan dengan baik yang mencakup topik rumit dengan cara yang mudah dibaca.
bmike
-4

Coba salin konten aplikasi ke hard drive Anda dan buka dari sana. Mungkin aplikasi melindungi file mereka dari dirinya sendiri.

naoxink
sumber