Daftar Isi:
Kami senang mendapatkan pertanyaan Anda. Itu selalu merupakan hal yang baik ketika kita dapat saling membantu, dan kita belajar sendiri saat mencari jawabannya. Meskipun kita tidak dapat menemukan waktu untuk menjawab semuanya, kadang-kadang sebuah pertanyaan tertentu muncul sehingga layak untuk dijawab secara terperinci.
"Apa artinya root?" adalah salah satu pertanyaan itu. Konsep ini mungkin sederhana bagi sebagian dari kita, tetapi bagi banyak orang yang belum menghabiskan waktu bermain-main dengan Android atau sistem operasi berbasis izin lainnya, itu sesuatu untuk ditanyakan. Saya akan mencoba dan menjawab semuanya sebaik mungkin.
Izin
Sebelum kita mendefinisikan root, penting untuk memahami mengapa itu ada dan bagaimana cara kerjanya. Itu karena Android menggunakan izin (izin berbasis Linux, tepatnya) dalam struktur file. Setiap file, setiap folder dan setiap partisi memiliki seperangkat izin. Izin ini memutuskan siapa yang dapat membaca file (melihat atau mengakses konten tanpa mengubahnya), menulis ke file (dapat mengubah konten file itu, atau membuat file baru di dalam folder atau partisi) dan menjalankan file (jalankan file jika itu tipe yang dapat dijalankan, seperti aplikasi). Ini dilakukan berdasarkan pada pengguna dan izin - pengguna tertentu memiliki akses, sementara pengguna yang tidak memiliki izin yang tepat diblokir dari memiliki akses.
Saat pertama kali mengatur telepon Anda dan menyalakannya untuk pertama kali, Anda akan diberikan ID pengguna. Jika pengguna lain masuk melalui Google, mereka diberikan ID pengguna yang berbeda. Ketika aplikasi diinstal di ponsel Anda, itu juga diberi ID pengguna sendiri. Sistem itu sendiri adalah pengguna dan proses lain yang perlu dijalankan pada ponsel Anda mungkin memiliki ID pengguna mereka sendiri. Segala sesuatu yang dapat melakukan apa saja untuk file apa pun di Android Anda adalah pengguna.
Sistem pengguna dan izin adalah cara Android melacak siapa yang dapat melakukan apa.
Katakanlah Anda memasang aplikasi perpesanan. Itu akan diberikan ID pengguna ketika Anda menginstalnya. Ia juga mendapat tempat di partisi data Anda sendiri, yang hanya dapat diakses olehnya. Anda memiliki izin untuk menjalankan aplikasi, dan ketika aplikasi itu berjalan, ia memiliki izin untuk mengakses folder dan file datanya sendiri. Aplikasi ini juga dapat meminta izin untuk mengakses hal-hal seperti buku alamat atau kartu SD atau perpustakaan foto Anda. Jika Anda menjawab ya untuk permintaan ini (atau jika Anda menyetujui izin pada versi Android yang lebih lama) ID pengguna aplikasi diberikan izin ke file data dari hal-hal tersebut, artinya dapat melihat folder data dan kontennya dan mungkin berubah mereka atau tambahkan file baru. Aplikasi tidak dapat mengakses file data apa pun yang tidak memiliki izin untuk "dilihat". Itu berarti (dalam contoh kami) tidak dapat melakukan hal-hal seperti melihat pengaturan database, atau mengakses folder data aplikasi lain. Istilah kotak pasir sering digunakan untuk ini - aplikasi diberi kotak pasir dan hanya bisa bermain di kotak pasir tempat mereka diizinkan.
Untuk file yang merupakan program dan dapat dijalankan (seperti aplikasi), model izin yang sama berlaku. ID pengguna Anda memiliki izin untuk menjalankan aplikasi yang Anda instal saat Anda masuk. Pengguna sistem memiliki izin untuk menjalankan aplikasi dan pengguna tingkat sistem lainnya mungkin memiliki akses ke aplikasi atau proses tertentu yang digunakan aplikasi. Aplikasi lain tidak dapat memulai aplikasi yang tidak memiliki izin untuk memulai. Jika Anda menambahkan pengguna sekunder, mereka tidak memiliki akses ke aplikasi atau file Anda dan sebaliknya. Ada file, folder, dan aplikasi di ponsel Anda yang ID pengguna Anda tidak memiliki izin untuk melihat, mengubah atau menjalankan. Biasanya bagian-bagian Android tersebut memerlukan izin level sistem (ID pengguna sistem) untuk melakukan apa saja, dan Anda bukan pengguna sistem atau pengguna yang memiliki izin level sistem.
Berpindah izin
Meskipun secara teknis mungkin untuk mengubah cara telepon Anda melakukan booting dan file yang digunakannya untuk memulai sistem yang sedang berjalan dan menetapkan izin pengguna yang ditingkatkan ID pengguna Anda, itu tidak aman atau praktis. Tetapi Android (dan sebagian besar sistem berbasis Unix atau Linux) memiliki apa yang disebut pengguna root, dan mendukung biner Pengganti (pikirkan biner sebagai aplikasi kecil) untuk mengubah ID pengguna. Itu digunakan untuk mengatur sistem pada level inti.
Karena orang-orang yang membuat ponsel Anda tidak ingin Anda memiliki akses yang mudah ke ID pengguna root - dan tidak semua alasannya egois karena itu juga melindungi Anda dan data pribadi Anda - biner Pengganti tidak termasuk dalam sebagian besar build dari Android. Tanpa Pengganti Pengguna, kami tidak dapat mengganti ID pengguna kami. Ngomong-ngomong, sebagian besar level sistem di Android memiliki nama yang mirip. Keamanan inti (file dalam bootloader dan / atau kernel itu sendiri) juga dibangun dengan cara untuk mencegah Anda berpindah ID pengguna sebagai bagian dari modul kernel SELinux (S ecurity- E nanced Linux - memberi tahu Anda nama-nama itu mudah) modul kernel. Beberapa ponsel (Samsung's Knox datang ke pikiran) memiliki perlindungan lebih lanjut, dan hampir semua perusahaan yang membuat Android mengharuskan, untuk membuat perubahan, bootloader harus dibuka kuncinya sehingga file-file ini dapat diubah dan memungkinkan Anda untuk mengganti ID pengguna. Beberapa telepon, seperti BlackBerry Priv bahkan melangkah lebih jauh dan tidak akan mem-boot jika kita mengubah apa pun (bahkan jika kita bisa).
Untuk menjadi root, Anda perlu cara mengubah ID pengguna Anda.
Setelah kita melewati semua itu - baik dengan membuka kunci bootloader melalui cara yang disahkan atau menggunakan semacam exploit - kita dapat menempatkan biner SU (SubstituteUser) di tempat yang dapat dijalankan ketika dipanggil untuk menjalankan - yang disebut PATH. Jika ada aplikasi di PATH ID pengguna Anda, itu akan berjalan tanpa memberitahu sistem di mana tepatnya. Anda juga perlu memastikan biner SU berada di tempat bahwa ID pengguna Anda memiliki izin untuk mengeksekusi (menjalankan) file. Aplikasi lain apa pun (Google Play memiliki banyak aplikasi yang memerlukan izin root) juga akan memerlukan akses yang sama. Ketika Anda menggunakan metode untuk me-root ponsel Anda, semua ini diurutkan oleh orang-orang yang membuat metode root.
Setelah semua yang ada di tempat, kita dapat menjalankan biner SU (atau aplikasi lain dapat menjalankan biner SU).
Mendapatkan akses root
Di sinilah root masuk. Biner SU menggunakan flag saat dijalankan untuk memberi tahu sistem ID pengguna yang ingin Anda alihkan. Sebagai contoh, jika saya menjalankan biner SU di komputer Ubuntu saya seperti ini "su Jim -c nano" Saya akan menjalankan perintah nano sebagai pengguna Jim (setelah memberikan kata sandi Jim). Jika Anda menjalankan biner SU tanpa flag atau argumen, itu akan mengalihkan Anda ke pengguna root. Biasanya Anda perlu memberikan kata sandi, tetapi karena "root" adalah pengguna yang tidak digunakan di Android, kata sandi tersebut tidak memiliki kata sandi. Menjalankan perintah "su" akan mengalihkan Anda ke root pengguna, dan memberikan Anda ID pengguna 0, dan menempatkan Anda di grup root. Anda sekarang adalah Pengguna Super.
Sebagai Pengguna Super, Anda dapat melakukan apa saja untuk file, folder, atau partisi apa pun di Android Anda. Yang kami maksud adalah apa saja. Anda dapat menghapus aplikasi bloatware dan Anda juga dapat menghapus file sistem penting yang merusak ponsel Anda. Anda juga dapat melakukan hal-hal pada perangkat keras seperti mengubah frekuensi CPU dan merusak ponsel Anda selamanya.
Root adalah pengguna super, yang bisa melakukan apa saja. Dan kami berarti apa pun.
Aplikasi dapat melakukan hal yang sama. SU ditempatkan di tempat yang ada di PATH aplikasi dan aplikasi apa pun dapat memanggilnya dan menjalankannya. Aplikasi itu kemudian memiliki izin Pengguna Super, dan dapat melakukan apa pun yang diinginkannya ke file apa pun di ponsel Anda. Inilah sebabnya mengapa orang-orang yang membuat ponsel Anda benar-benar tidak ingin Anda memiliki tingkat akses ini, dan perusahaan yang memungkinkan Anda untuk membuka kunci bootloader dan mengubah hal-hal masih tidak menempatkan biner SU di ponsel Anda secara default. Memiliki akses root tanpa cara untuk mengendalikan siapa atau apa yang dapat menggunakannya berbahaya bagi perangkat lunak ponsel Anda dan data pribadi Anda.
Itu sebabnya Anda perlu menginstal aplikasi yang memaksa Anda untuk mengizinkan akses root setiap kali Anda atau aplikasi lain mencoba untuk memohon izin Pengguna Super. Sering kali ketika Anda menggunakan metode root untuk telepon Anda satu akan disertakan, bersama dengan beberapa binari berguna lainnya seperti toolset BusyBox. Jika Anda melakukan sesuatu dengan tangan, Anda harus menginstalnya sendiri. SuperSU oleh Chainfire di Google Play adalah yang baik untuk memulai.
Barang sisa
Banyak ponsel dan beberapa metode root melakukan hal-hal yang sedikit berbeda (Android 4.3 membawa banyak perubahan) dan memerlukan skrip atau daemon (Anda akan melihat kata-kata seperti daemonsu atau su.d disebutkan) daripada hanya menjatuhkan biner SU di tempat. Ini digunakan untuk memanggil SubstituteUser sehingga Anda dapat beralih ke pengguna root seperti metode biner mentah. Orang-orang yang mengetahui cara me-rooting ponsel Anda telah menyortir semua ini dan itu akan bekerja sama pada sisi yang menghadap pengguna.
Dimungkinkan juga untuk "mem-root" beberapa Android. Ini berarti Anda dapat memiliki izin Pengguna Super dan melakukan beberapa hal yang perlu Anda lakukan, tetapi reboot mengambil akses root. Demikian juga, Anda dapat memiliki "shell-root" di mana Anda hanya dapat mengakses pengguna root melalui adb dari komputer Anda.
Akhirnya, saya ingin menekankan bahwa jika Anda memiliki pertanyaan ini, Anda perlu mempertimbangkan apakah Anda siap untuk memiliki Android yang sudah di-root. Kami tidak bercanda ketika kami mengatakan mudah merusak ponsel Anda dengan akses SuperUser. Tidak ada alasan untuk malu bahwa Anda perlu melakukan sedikit bacaan atau mengajukan beberapa pertanyaan lagi sebelum Anda melakukan hal-hal yang dapat merusak ponsel Anda atau memberikan akses aplikasi rouge acak ke semua data Anda.
Untuk itulah kami di sini.