Android Centrinis

Ką iš tikrųjų reiškia telefono įsišaknijimas?

protection click fraud

Mums patinka gauti jūsų klausimus. Visada yra gerai, kai galime padėti vieni kitiems, o ieškodami atsakymų patys išmokstame dalykų. Nors negalime rasti laiko atsakyti į visus juos, kartais tam tikras klausimas iškyla pakankamai, kad nusipelno išsamaus atsakymo.

"Ką daro šaknis reiškia?" yra vienas iš tų klausimų. Kai kuriems iš mūsų ši koncepcija gali būti paprasta, tačiau daugeliui žmonių, kurie neleido laiko suktis su „Android“ ar bet kokia kita leidimais pagrįsta operacine sistema, verta užduoti klausimų. Stengsiuosi į visus juos atsakyti kuo geriau.

Leidimai

failų leidimai

Prieš apibrėžiant šaknį, svarbu suprasti, kodėl ji egzistuoja ir kaip ji veikia. Taip yra todėl, kad „Android“ failų struktūroje naudoja leidimus (tiksliau „Linux“ pagrindu sukurtus leidimus). Kiekvienas failas, kiekvienas aplankas ir kiekvienas skaidinys turi tam tikrą leidimų rinkinį. Šie leidimai nusprendžia, kas gali skaityti failą (žiūrėti ar pasiekti turinį jo nekeisdamas), rašyti į failą (gali keisti to failo turinį arba sukurkite naują failą aplanke ar skaidinyje) ir paleiskite failą (paleiskite failą, jei jo tipas gali būti paleistas, pvz., programa). Tai daroma atsižvelgiant į naudotojus ir leidimus – tam tikri vartotojai turi prieigą, o naudotojai, kurie neturi tinkamų leidimų, jiems neleidžiami.

Kai pirmą kartą nustatote telefoną ir įjungiate jį pirmą kartą, jums priskiriamas vartotojo ID. Jei kitas vartotojas prisijungia per Google, jam priskiriamas a skirtinga Vartotojo ID. Kai telefone įdiegiama programa, jai taip pat priskiriamas atskiras vartotojo ID. Pati sistema yra vartotojas, o kiti procesai, kurie turi veikti jūsų telefone, gali turėti savo vartotojo ID. Viskas, kas gali ką nors padaryti su bet kuriais „Android“ failais, yra naudotojas.

Naudotojų ir leidimų sistema yra tai, kaip „Android“ seka, kas ką gali daryti.

Tarkime, kad įdiegiate pranešimų siuntimo programą. Kai jį įdiegiate, jam priskiriamas vartotojo ID. Jis taip pat gauna vietą savo duomenų skaidinyje, prie kurio tik jis turi prieigą. Turite leidimus vykdyti programą, o kai programa veikia, ji turi teisę pasiekti savo duomenų aplanką ir failus. Programa taip pat gali prašyti leidimo pasiekti tokius dalykus kaip adresų knyga, SD kortelė ar nuotraukų biblioteka. Jei atsakysite „taip“ į šias užklausas (arba jei sutinkate su senesnių „Android“ versijų leidimais), programos vartotojo ID bus suteiktas leidimas tų dalykų duomenų failams, tai reiškia, kad jis gali peržiūrėti duomenų aplanką ir jo turinį ir galbūt juos pakeisti arba pridėti naujų failų. Programa negali pasiekti jokių duomenų failų, kurių ji neturi leidimo „žiūrėti“. Tai reiškia (mūsų pavyzdyje) ji negali atlikti tokių veiksmų, kaip peržiūrėti nustatymų duomenų bazę arba pasiekti kitos programos duomenų aplanką. Tam dažnai naudojamas terminas „smėlio dėžė“ – programos yra smėlio dėžės ir gali žaisti tik tose smėlio dėžėse, kuriose turi leidimą būti.

Failams, kurie yra programos ir kuriuos galima paleisti (pvz., programoms), taikomas tas pats leidimo modelis. Jūsų vartotojo ID turi leidimą paleisti programas, kurias įdiegėte, kai esate prisijungę. Sistemos vartotojas turi leidimą jas paleisti, o kiti sistemos lygio vartotojai gali turėti prieigą prie programų arba tam tikrų procesų, kuriuos naudoja programos. Kitos programos negali paleisti programų, kurių paleisti neturi leidimo. Jei pridėjote antrinį naudotoją, jis neturės prieigos prie jūsų programų ar failų ir atvirkščiai. Jūsų telefone yra failų, aplankų ir programų, kurių vartotojo ID ne turėti leidimą matyti, keisti ar paleisti. Paprastai toms „Android“ dalims reikia sistemos lygio leidimų (sistemos naudotojo ID), kad būtų galima ką nors daryti, ir jūs nesate sistemos vartotojas arba vartotojas, turintis sistemos lygio leidimus.

Leidimų perjungimas

SuperSU

Nors techniškai įmanoma pakeisti telefono įkrovos būdą ir failus, kuriuos jis naudoja paleisdamas veikiančią sistemą ir priskirdamas padidintus vartotojo ID leidimus, tai nėra nei saugu, nei praktiška. Tačiau „Android“ (ir dauguma „Unix“ ar „Linux“ pagrįstų sistemų) turi vadinamąjį „root“ vartotoją ir palaiko „SubstituteUser“ dvejetainis (galvokite apie dvejetainį kaip mažą programėlę), kad pakeistumėte vartotojų ID. Jie naudojami pačiam sistemos administravimui lygiu.

Kadangi žmonės, kurie sukūrė jūsų telefoną, nenori, kad turėtumėte lengvą prieigą prie pagrindinio vartotojo ID – ir ne visos priežastys savanaudiškas, nes taip pat apsaugo jus ir jūsų asmeninius duomenis – „SubstituteUser“ dvejetainis failas nėra įtrauktas į daugumą Android. Be SubstituteUser negalime pakeisti savo vartotojo ID. Beje, dauguma sistemos lygio dalykų „Android“ turi panašius paprastus pavadinimus. Pagrindinė sauga (failai įkrovos įkrovikoje ir (arba) pačiame branduolyje) taip pat yra sukurti taip, kad neleistų jums pakeisti vartotojo ID kaip SELinux (Ssaugumas -Epatobulintas „Linux“ – sakė, kad pavadinimai yra lengvi) branduolio modulis. Kai kurie telefonai (primenu „Samsung Knox“) turi papildomą apsaugą, o beveik visos „Android“ gaminančios įmonės reikalauja, kad norint atlikti pakeitimus, įkrovos įkroviklis turi būti atrakinta, kad būtų galima pakeisti šiuos failus ir perjungti vartotojo ID. Kai kurie telefonai, pvz., „BlackBerry Priv“, netgi žengia žingsnį toliau ir nepasileidžia, jei ką nors pakeisime (net jei galėtų).

Norėdami tapti root, turite pakeisti savo vartotojo ID.

Kai tik visa tai įveiksime – arba atrakinę įkrovos įkroviklį įgaliotomis priemonėmis arba naudodami kokį nors išnaudojimą – galime patalpinti SU dvejetainį failą (SubstituteUser) toje vietoje, kurią jis gali paleisti, kai jis raginamas paleisti – tai vadinama KELIAS. Jei kuri nors programa yra jūsų vartotojo ID PATH, ji veiks nenurodant tiksliai, kur ji yra. Taip pat turite įsitikinti, kad SU dvejetainis failas yra toje vietoje, kur jūsų vartotojo ID turi leidimą vykdyti (paleisti) failus. Bet kuriai kitai programai („Google Play“ yra daug programų, kurioms reikia šakninių leidimų) taip pat reikės tokios pat prieigos. Kai naudojate telefono root metodą, visa tai išsprendžia žmonės, kurie sukūrė šakninį metodą.

Kai viskas yra vietoje, galime paleisti SU dvejetainį failą (arba kita programa gali paleisti SU dvejetainį failą).

Gaukite root prieigą

Aš esu Grootas

Čia atsiranda šaknis. SU dvejetainis failas naudoja vėliavėles, kai jis paleidžiamas, kad praneštų sistemai, į kokį vartotojo ID norite pereiti. Pavyzdžiui, jei aš paleisiu SU dvejetainį failą savo Ubuntu kompiuteryje, pavyzdžiui, „su Jim -c nano“, paleisiu nano komandą kaip naudotojas Džimas (pateikęs Jimo slaptažodį). Jei paleidžiate SU dvejetainį failą be vėliavėlių ar argumentų, jis perjungia jus į pagrindinį vartotoją. Paprastai jums reikės pateikti slaptažodį, bet kadangi „root“ yra nenaudojamas „Android“ vartotojas, jis neturi slaptažodžio. Vykdydami komandą „su“, būsite perjungti į vartotojo šaknį, jums priskirs 0 vartotojo ID ir pateksite į šakninę grupę. Dabar esate super vartotojas.

Kaip super vartotojas galite padaryti bet ką su bet kokiu failu, aplanku ar skaidiniu savo „Android“. Bet ką reiškiame tiesiogine prasme bet ką. Galite pašalinti „bloatware“ programas ir taip pat galite pašalinti pagrindinius sistemos failus, kurie sugadina jūsų telefoną. Taip pat galite atlikti veiksmus su aparatūra, pavyzdžiui, pakeisti procesoriaus dažnį ir visam laikui sugadinti telefoną.

Root yra super vartotojas, kuris gali padaryti bet ką. Ir mes turime omenyje bet ką.

Programos gali padaryti tą patį. SU dedamas ten, kur yra programos PATH, ir bet kuri programa gali jį iškviesti ir paleisti. Tada ši programa turi „Super User“ leidimus ir gali daryti bet ką, kas jai patinka, su bet kuriuo failu bet kurioje telefono vietoje. Štai kodėl žmonės, kurie sukūrė jūsų telefoną, tikrai nenori, kad turėtumėte tokio lygio prieigą, ir įmonės kurie leidžia atrakinti įkrovos tvarkyklę ir pakeisti dalykus vis tiek neįdėkite SU dvejetainio failo į telefoną iki numatytas. Turėti root prieigą ir nekontroliuoti, kas ar kas gali ja naudotis, yra pavojinga jūsų telefono programinei įrangai ir jūsų asmeniniams duomenims.

Štai kodėl jums reikia įdiegti programą, kuri verčia jus leisti root prieigą bet kuriuo metu, kai jūs ar kita programa bando iškviesti Super User leidimus. Daugeliu atvejų, kai telefone naudojate šakninį metodą, jis bus įtrauktas kartu su kai kuriais kitais naudingais dvejetainiais failais, pvz., BusyBox įrankių rinkiniu. Jei viską atlikote rankomis, turėsite patys įdiegti. SuperSU by Chainfire „Google Play“ yra gera pradžia.

Likučiai

Daugelis telefonų ir kai kurie šakniniai metodai veikia šiek tiek kitaip („Android 4.3“ atnešė daug pakeitimų) ir reikalauja scenarijus arba demonas (matysite tokius žodžius kaip daemonsu arba su.d), užuot tiesiog išmetę SU dvejetainį failą vieta. Jie naudojami pakviesti SubstituteUser, kad galėtumėte pereiti prie pagrindinio vartotojo, kaip ir neapdorotas dvejetainis metodas. Žmonės, kurie suprato, kaip išjungti jūsų telefoną, visa tai išsprendė ir jis veiks taip pat ir vartotojui.

Taip pat galima „temp-root“ kai kuriuos „Android“ įrenginius. Tai reiškia, kad galite turėti „Super User“ leidimus ir atlikti keletą dalykų, kuriuos jums reikia padaryti, tačiau paleidus iš naujo, atimama root prieiga. Taip pat galite turėti "shell-root", kur galite pasiekti tik pagrindinį vartotoją adb iš savo kompiuterio.

Galiausiai noriu pabrėžti, kad jei turite šių klausimų, turite pagalvoti, ar esate pasirengę turėti įsišaknijusią „Android“. Nejuokaudavome sakydami, kad naudojant „SuperUser“ prieigą lengva sugadinti telefoną. Nėra jokios priežasties gėdytis, kad jums reikia šiek tiek perskaityti arba užduoti dar kelis klausimus prieš darydami dalykus, kurie gali sugadinti jūsų telefoną arba suteikti atsitiktinei neteisėtai programai prieigą prie visų jūsų duomenų.

Tam mes čia ir esame.

instagram story viewer