Logo sk.androidermagazine.com
Logo sk.androidermagazine.com

Čo vlastne znamená zakorenenie telefónu?

Obsah:

Anonim

Radi dostávame vaše otázky. Je vždy dobré, keď si môžeme navzájom pomáhať, a pri hľadaní odpovedí sa učíme veci. Aj keď nemôžeme nájsť čas na odpoveď na všetky z nich, niekedy sa objaví určitá otázka, ktorá si zaslúži podrobnú odpoveď.

„Čo znamená root?“ je jednou z týchto otázok. Tento koncept môže byť pre niektorých z nás jednoduchý, ale pre mnohých ľudí, ktorí sa nestrávili nejakým časom s Androidom alebo iným operačným systémom založeným na povoleniach, je niečo klásť otázky. Pokúsim sa na ne odpovedať čo najlepšie.

oprávnenie

Predtým, ako definujeme root, je dôležité pochopiť, prečo existuje a ako to funguje. Je to preto, že systém Android používa v štruktúre súborov povolenia (presnejšie povolenia založené na systéme Linux). Každý súbor, každý priečinok a každý oddiel má množinu povolení. Tieto oprávnenia rozhodujú o tom, kto môže čítať súbor (prezerať alebo získať prístup k obsahu bez jeho zmeny), zapisovať do súboru (byť schopný zmeniť obsah tohto súboru alebo vytvoriť nový súbor v priečinku alebo oddiele) a vykonať súbor. (spustite súbor, ak ide o typ, ktorý sa dá spustiť, napríklad aplikácia). Deje sa tak na základe používateľov a povolení - niektorí používatelia majú prístup, zatiaľ čo používatelia, ktorí nemajú správne povolenia, majú zablokovaný prístup.

Pri prvom nastavení telefónu a jeho prvom zapnutí sa vám pridelí ID používateľa. Ak sa iný používateľ prihlási cez Google, bude mu pridelené iné ID používateľa. Ak je v telefóne nainštalovaná určitá aplikácia, priradí sa mu aj vlastné ID používateľa. Samotný systém je používateľom a ďalšie procesy, ktoré je potrebné spustiť v telefóne, môžu mať svoje vlastné ID používateľa. Všetko, čo môže s akýmkoľvek súborom v systéme Android urobiť čokoľvek, je používateľ.

Systém používateľov a povolení je spôsob, akým Android sleduje, kto môže čo robiť.

Povedzme, že inštalujete aplikáciu na odosielanie správ. Pri inštalácii dostane pridelené ID používateľa. Taktiež získa miesto vo vlastnom dátovom oddiele, ku ktorému má prístup iba. Máte oprávnenie na spustenie aplikácie a pri spustení aplikácie má povolenie na prístup k vlastnému údajovému priečinku a súborom. Aplikácia môže tiež požiadať o povolenie na prístup k veciam, ako je váš adresár alebo karta SD alebo knižnica fotografií. Ak týmto požiadavkám vyslovíte áno (alebo ak súhlasíte s oprávneniami starších verzií systému Android), ID používateľa aplikácie získa povolenie k dátovým súborom týchto vecí, čo znamená, že môže zobraziť priečinok s údajmi a jeho obsah a prípadne zmeniť alebo pridať nové súbory. Aplikácia nemá prístup k žiadnym dátovým súborom, na ktoré nemá povolenie „pozrieť sa“. To znamená (v našom príklade) to nemôže robiť veci, ako je prezeranie databázy nastavení alebo prístup do dátového priečinka inej aplikácie. Termín karanténa sa na tento účel často používa - aplikácie sú karantény a môžu sa hrať iba v karanténach, v ktorých majú povolenie.

Pre súbory, ktoré sú programami a môžu sa spúšťať (napríklad aplikácie), sa uplatňuje rovnaký model povolení. Vaše ID používateľa má povolenie na spúšťanie aplikácií, ktoré ste nainštalovali, keď ste prihlásení. Systémový používateľ má povolenie na ich spúšťanie a ostatní používatelia na úrovni systému môžu mať prístup k aplikáciám alebo určitým procesom, ktoré aplikácie používajú. Iné aplikácie nemôžu spúšťať aplikácie, na ktoré nemajú povolenie na spustenie. Ak ste pridali druhého používateľa, nemajú prístup k vašim aplikáciám alebo súborom a naopak. V telefóne sú súbory, priečinky a aplikácie, ktorých ID používateľa nemá povolenie na ich zobrazenie, zmenu alebo spustenie. Tieto časti systému Android zvyčajne vyžadujú povolenie na úrovni systému (ID užívateľa systému), aby ste mohli robiť čokoľvek, a vy nie ste systémový používateľ alebo používateľ, ktorý má povolenia na úrovni systému.

Prepínanie povolení

Aj keď je technicky možné zmeniť spôsob spúšťania telefónu a súbory, ktoré používa na spustenie bežiaceho systému a priradenie zvýšených povolení pre ID používateľa, to nie je bezpečné ani praktické. Ale Android (a väčšina systémov založených na Unixe alebo Linuxe) má tzv. Root user a podporuje binárne rozhranie SubstituteUser (binárne zariadenie ako malú aplikáciu) na zmenu ID používateľov. Používajú sa na správu systému na základnej úrovni.

Pretože ľudia, ktorí si vytvorili telefón, nechcú, aby ste mali ľahký prístup ku koreňovému ID používateľa - a nie všetky dôvody sú sebecké, pretože vás tiež chráni a vaše súkromné ​​údaje - binárny jazyk Náhradník nie je súčasťou väčšiny súborov Android. Bez SubstituteUser nemôžeme zmeniť svoje užívateľské ID. Väčšina vecí na systémovej úrovni v systéme Android má mimochodom podobné ľahké názvy. Základné zabezpečenie (súbory v bootloaderi a / alebo samotnom jadre) sú tiež postavené tak, aby vám zabránili v prepínaní užívateľských ID ako súčasti modulu jadra SELinux (S ecurity- E nhanced Linux - povedal, že názvy sú jednoduché)., Niektoré telefóny (spoločnosť Samsung Knox prichádza na myseľ) majú ďalšiu ochranu a takmer všetky spoločnosti, ktoré vyrábajú Android, vyžadujú, aby bolo potrebné vykonať zmeny, aby sa bootloader musel odomknúť, aby bolo možné tieto súbory zmeniť a umožniť tak prepínanie ID používateľov, Niektoré telefóny, ako napríklad BlackBerry Priv, idú ešte o krok ďalej a nebudú sa zavádzať, ak niečo zmeníme (aj keď by sme mohli).

Aby ste sa stali rootom, potrebujete spôsob, ako zmeniť svoje užívateľské ID.

Akonáhle sa dostaneme okolo toho všetkého - buď odomknutím bootloadera autorizovanými prostriedkami alebo pomocou nejakého zneužitia - môžeme umiestniť binárny SU (SubstituteUser) na miesto, ktoré môže bežať, keď sa volá spustiť - to sa nazýva PATH. Ak je nejaká aplikácia v PATH vášho ID používateľa, spustí sa bez toho, aby systému oznámila, kde presne je. Musíte sa tiež uistiť, že binárny kód SU je na mieste, kde má vaše ID používateľa povolenie na vykonávanie (spúšťanie) súborov. Rovnaký prístup bude vyžadovať aj každá iná aplikácia (Google Play obsahuje veľa aplikácií, ktoré potrebujú oprávnenie typu root). Keď na koreň telefónu použijete metódu, toto všetko vyriešia ľudia, ktorí zostavili koreňovú metódu.

Akonáhle je všetko na svojom mieste, môžeme spustiť binárny SU (alebo iná aplikácia môže spustiť binárny SU).

Získanie prístupu root

Tu prichádza root. Binárny SU používa pri spustení príznaky, aby informoval systém, na ktoré ID používateľa sa chcete prepnúť. Napríklad, ak spustím binárny SU na svojom počítači Ubuntu takto „su Jim -c nano“, spustím príkaz nano ako užívateľ Jim (po zadaní Jimovho hesla). Ak spustíte binárny SU bez príznakov alebo argumentov, prepne vás na koreňového užívateľa. Zvyčajne by bolo potrebné zadať heslo, ale keďže „root“ je v systéme Android nepoužívaným používateľom, nemá žiadne heslo. Spustenie príkazu „su“ vás prepne do koreňového adresára užívateľa a priradí vám ID užívateľa 0 a vloží vás do koreňovej skupiny. Teraz ste Super užívateľ.

Ako Super užívateľ môžete so systémom Android robiť ľubovoľné súbory, priečinky alebo oddiely. Čokoľvek, myslíme doslova čokoľvek. Môžete odstrániť aplikácie bloatware a tiež môžete odstrániť základné systémové súbory, ktoré poškodia váš telefón. S hardvérom môžete robiť aj také činnosti, ako je zmena frekvencie procesora a navždy zničiť telefón.

Root je super užívateľ, ktorý môže robiť čokoľvek. A máme na mysli čokoľvek.

Aplikácie môžu robiť to isté. SU sa umiestni tam, kde je v aplikácii PATH, a každá aplikácia to môže nazvať a spustiť. Táto aplikácia potom má oprávnenie Super User a môže robiť čokoľvek, čo sa mu páči, na ľubovoľnom mieste v telefóne. To je dôvod, prečo ľudia, ktorí urobili váš telefón, skutočne nechcú, aby ste mali takúto úroveň prístupu, a spoločnosti, ktoré vám umožnia odomknúť bootloader a zmeniť veci, do svojho telefónu predvolene neukladajú binárny SU. Mať root prístup bez možnosti ovládať, kto a čo ho môže používať, je nebezpečný pre softvér telefónu a vaše osobné údaje.

Preto je potrebné nainštalovať aplikáciu, ktorá vás núti povoliť prístup typu root vždy, keď sa vy alebo iná aplikácia pokúsite uplatniť oprávnenie Super User. Najčastejšie sa pri telefóne používa koreňová metóda, spolu s ďalšími užitočnými binárnymi súbormi, ako je súprava nástrojov BusyBox. Ak ste robili veci ručne, budete ich musieť nainštalovať sami. SuperSU od Chainfire v Google Play je dobré začať.

Kurzy a končeky

Mnoho telefónov a niektoré metódy root robia veci trochu inak (Android 4.3 priniesol veľa zmien) a vyžaduje iba skripty alebo démona (uvidíte slová ako daemonsu alebo su.d zmienené) namiesto toho, aby ste jednoducho zahodili binárny SU na miesto. Používajú sa na volanie SubstituteUser, takže môžete prepnúť na koreňového užívateľa rovnako ako surová binárna metóda. Ľudia, ktorí prišli na to, ako rootovať váš telefón, to všetko vyriešili a bude fungovať rovnako na strane orientovanej na používateľa.

Je tiež možné „dočasne root“ niektoré Androidy. To znamená, že môžete mať oprávnenie superpoužívateľa a urobiť niekoľko vecí, ktoré musíte urobiť, ale reštartom sa zabráni prístupu root. Podobne môžete mať „shell-root“, kde môžete pristupovať k užívateľovi root iba pomocou adb z vášho počítača.

Nakoniec by som chcel zdôrazniť, že ak ste mali tieto otázky, musíte zvážiť, či ste pripravení na zakorenený Android. Nerobili sme si srandu, keď sme povedali, že je ľahké zničiť telefón pomocou prístupu SuperUser. Neexistuje dôvod sa hanbiť, že musíte urobiť trochu čítania alebo položiť niekoľko ďalších otázok skôr, ako začnete robiť veci, ktoré môžu telefón rozbiť alebo dať nejakým náhodným aplikáciám prístup k všetkým vašim údajom.

To je to, pre čo sme tu.