Bagaimana Izin Aplikasi akan Ditangani di Ubuntu Touch?

19

Sebagian besar elemen perangkat keras, atau set data yang dibagikan di antara aplikasi pada platform Android dan iOS dikontrol dengan kuat, dan hanya disediakan untuk aplikasi secara eksplisit berdasarkan kebutuhan yang perlu diketahui. Ini dapat memungkinkan pengguna untuk memastikan, misalnya, aplikasi senter berbahaya tidak mengunggah lokasi dan daftar kontak mereka.

Pada desktop di Ubuntu, secara efektif ada dua tingkat izin kontrol: pengguna, dan root. Dalam hal pengguna, tidak banyak batasan yang diberikan. Itu masih dapat terhubung ke internet, antarmuka dengan sebagian besar perangkat keras yang disukainya, dan membaca / menulis file apa pun di /home/user/. Model ini mengasumsikan bahwa pengguna cukup kompeten untuk memastikan aplikasi yang mereka gunakan adalah sah (yang sangat mudah dengan perangkat lunak sumber terbuka).

Jadi pertanyaan saya adalah, batasan dan kontrol seperti apa atas kemampuan aplikasi yang akan ada pada platform seluler? Dan karena semuanya OS yang sama, bagaimana sistem itu akan meluap ke desktop? Apakah semua program harus di-sandbox?

Saya cukup tertarik untuk mengetahui rencananya :)

PS. Satu hal yang saya sukai dari cara iOS melakukannya di Android adalah bahwa banyak izin harus disetujui secara eksplisit oleh pengguna saat dijalankan untuk pertama kalinya. Hasilnya adalah, jika Anda tidak ingin memberi tahu aplikasi Facebook di mana Anda berada, Anda bisa melarangnya, dibandingkan di Android di mana Anda hanya perlu menghapus aplikasi tersebut dan Get Over It ™.

Sistem saya suka melihat itu meminta izin dengan "Sekali ini saja" dan "Always" pilihan, ketika aplikasi membutuhkan bahwa izin untuk menjalankan perintah . Ingin menemukan diri Anda di peta? Minta izin lokasi. Sama seperti cara beberapa API HTML5 ditangani.

Yunus
sumber
3
Saya suka pertanyaan Anda. Ini adalah salah satu hal yang mengganggu bagi saya bahwa beberapa aplikasi di Android meminta terlalu banyak hak istimewa dan saya bahkan tidak mengerti untuk apa aplikasi itu membutuhkannya. Mempertimbangkan tahap awal sistem belum ada banyak fokus pada masalah itu. Tetapi akan lebih penting pada fase selanjutnya.
NilsB
2
Sementara saya suka pertanyaan Anda dalam teori, dalam aplikasi itu berarti membuat bagian "murni linux pada lengan" perangkat pergi (yang menurut saya adalah keuntungan paling keren). Mungkin - baca semoga - mereka akan menerapkan setiap aplikasi adalah pengguna yang mirip dengan layanan apa yang dilakukan sekarang.
RobotHumans
1
Itu tidak berarti apa-apa tentang akses perangkat keras. Itu dikelola oleh grup seperti di linux biasa murni. Orang lupa itu karena pengguna mereka secara ajaib adalah bagian dari grup audio atau grup dial untuk usb-ttys atau apa pun. Akses nirkabel? Aplikasi menandatangani permintaan yang dikirim melalui dbus, masalah terpecahkan. Izin Linux berfungsi.
RobotHumans
1
Saya tidak di tim dev, tetapi perangkat audio mengharuskan pengguna berada di grup yang relevan, seperti halnya perangkat tty, dll di vanilla ubuntu.
RobotHumans
1
Setidaknya perangkat audio, modem, wlan, ethernet, gpu, cpu, ram, dvd, usb, pembaca kartu, bluetooth, printer, webcam, ata, sata, esata, keyboard, mouse, touchpad, dan akses pembaca sidik jari dapat dibatasi berdasarkan pada grup ATAU / dan pengguna. Setiap perangkat yang diakses melalui simpul perangkat memiliki grp / izinnya sendiri. Jika aplikasi menggunakan soket, cukup atur grup / izin. Ada juga berbagai cara ( ya, Anda juga memiliki opsi ) untuk membatasi komunikasi antara aplikasi, layanan, dan sebagainya ( sudah disebutkan D-Bus dan layanan seperti RPC lainnya ). Bahkan lsbisa dibatasi. Kotak ini memiliki batasan panjang ...
GoFundMonica - codidact.org

Jawaban:

5

Ini sedang dikerjakan sebagai bagian dari spesifikasi Unggah Pengembang Aplikasi Ubuntu , khususnya, bagian keamanan .

Ini masih dalam tahap awal, tetapi sebagai ekstrak ke spesifikasi, dan untuk memberikan beberapa konteks:

Setelah aplikasi diinstal, AppArmor akan memberikan kotak pasir keamanan untuk melindungi pengguna dari kode jahat atau rusak. Untuk mencapai hal ini, setiap aplikasi akan memerlukan profil yang dibangun dengan benar, dan minimal permisif untuk membatasi apa yang dapat diakses aplikasi mereka pada sistem lokal.

Aplikasi akan di-sandbox melalui AppArmor , dan izin akan diberikan sesuai dengan profil keamanan AppArmor aplikasi.

David Planella
sumber
Saya kira itu berarti mereka mendapatkan izin saat diinstal?
Jonah