Logo lv.androidermagazine.com
Logo lv.androidermagazine.com

Ko faktiski nozīmē tālruņa sakņošanās?

Satura rādītājs:

Anonim

Mēs mīlam saņemt jūsu jautājumus. Tā vienmēr ir laba lieta, kad mēs varam palīdzēt viens otram, un mēs paši mācāmies lietas, meklējot atbildes. Lai gan mēs nevaram atrast laiku, lai atbildētu uz visiem tiem, dažreiz rodas kāds jautājums, kas ir pelnījis detalizētu atbildi.

"Ko nozīmē sakne?" ir viens no šiem jautājumiem. Dažiem no mums šī koncepcija var būt vienkārša, taču daudziem cilvēkiem, kuri nav pavadījuši laiku, lai aizrautos ar Android vai kādu citu uz atļaujām balstītu operētājsistēmu, ir kaut kas, par ko jāuzdod jautājumi. Es mēģināšu uz viņiem atbildēt pēc iespējas labāk.

Atļaujas

Pirms saknes definēšanas ir svarīgi saprast, kāpēc tā pastāv un kā tā darbojas. Tas ir tāpēc, ka Android faila struktūrā izmanto atļaujas (lai precīzi norādītu uz Linux balstītas atļaujas). Katram failam, mapei un nodalījumam ir atļauju komplekts. Šīs atļaujas izlemj, kurš var lasīt failu (apskatīt vai piekļūt saturam, tos nemainot), rakstīt failā (spēt mainīt šī faila saturu vai izveidot jaunu failu mapē vai nodalījumā) un izpildīt failu (palaidiet failu, ja tas var darboties, piemēram, lietotni). Tas tiek darīts, pamatojoties uz lietotājiem un atļaujām - noteiktiem lietotājiem ir piekļuve, savukārt lietotājiem, kuriem nav pareizo atļauju, nav piekļuves.

Pirmoreiz iestatot tālruni un pirmo reizi to ieslēdzot, jums tiek piešķirts lietotāja ID. Ja cits lietotājs piesakās, izmantojot Google, viņiem tiek piešķirts cits lietotāja ID. Kad tālrunī ir instalēta lietotne, tai tiek piešķirts arī savs lietotāja ID. Pati sistēma ir lietotājs, un citiem procesiem, kuriem jādarbojas tālrunī, var būt savs lietotāja ID. Lietotājs ir viss, kas var kaut ko darīt ar visiem jūsu Android failiem.

Lietotāju un atļauju sistēma ļauj Android izsekot, kas to var izdarīt.

Pieņemsim, ka instalējat ziņojumapmaiņas lietotni. Kad to instalējat, tam tiek piešķirts lietotāja ID. Tas arī iegūst vietu jūsu pašu datu nodalījumā, kam tikai tam ir pieeja. Jums ir atļaujas lietotnes izpildei, un, kad lietotne darbojas, tai ir atļauja piekļūt savai datu mapei un failiem. Lietotne var arī lūgt atļauju piekļūt tādām lietām kā jūsu adrešu grāmata vai SD karte vai fotoattēlu bibliotēka. Ja šiem pieprasījumiem sakāt “jā” (vai ja piekrītat vecāku Android versiju atļaujām), lietotnes lietotāja ID piešķir atļauju šo lietu datu failiem, kas nozīmē, ka tā var apskatīt datu mapi un tās saturu un, iespējams, mainīties tos vai pievienojiet jaunus failus. Lietotne nevar piekļūt nevienam datu failam, kam nav atļaujas to "apskatīt". Tas nozīmē (mūsu piemērā), ka tas nevar darīt, piemēram, apskatīt iestatījumu datu bāzi vai piekļūt citas programmas datu mapei. Bieži tiek lietots termins sandbox - lietotnes ir smilšukastē un tās var spēlēt tikai tajās smilšu kastēs, kurās tām atļauts atrasties.

Failiem, kas ir programmas un kurus var palaist (piemēram, lietotnes), tiek piemērots tas pats atļaujas modelis. Jūsu lietotāja ID ir atļauts palaist lietotnes, kuras instalējāt, kamēr esat pierakstījies. Sistēmas lietotājam ir atļauja tās palaist, un citiem sistēmas līmeņa lietotājiem var būt piekļuve lietotnēm vai noteiktiem procesiem, kurus lietotnes izmanto. Citas lietotnes nevar startēt lietotnes, kurām nav atļaujas startēt. Ja pievienojāt sekundāru lietotāju, viņiem nav piekļuves jūsu lietotnēm vai failiem, un otrādi. Jūsu tālrunī ir faili, mapes un lietotnes, kuras jūsu lietotāja ID nav atļauts redzēt, mainīt vai palaist. Parasti šīm Android daļām ir nepieciešamas sistēmas līmeņa atļaujas (sistēmas lietotāja ID), lai ar tām varētu kaut ko darīt, un jūs neesat sistēmas lietotājs vai lietotājs, kuram ir sistēmas līmeņa atļaujas.

Pārslēgšanās atļaujas

Lai gan tas ir tehniski iespējams mainīt tālruņa palaišanas veidu un failus, ko tas izmanto, lai palaistu operētājsistēmu un piešķirtu jūsu lietotāja ID paaugstinātas atļaujas, tas nav ne droši, ne praktiski. Bet operētājsistēmai Android (un lielākajai daļai Unix vai Linux balstītu sistēmu) ir tas, ko sauc par saknes lietotāju, un tās atbalsta aizstājēju SubstituteUser (domājiet par bināru kā mazu lietotni), lai mainītu lietotāja ID. Tos izmanto sistēmas administrēšanai pamata līmenī.

Tā kā cilvēki, kas izgatavoja jūsu tālruni, nevēlas, lai jums būtu viegli piekļūt saknes lietotāja ID - un ne visi iemesli ir savtīgi, jo tas aizsargā arī jūs un jūsu privātos datus - binārā vietne SubstituteUser nav iekļauta lielākajā daļā Android. Bez SubstituteUser mēs nevaram pārslēgt savu lietotāja ID. Starp citu, lielākajai daļai operētājsistēmas Android līmeņa sistēmu līmeņa lietu ir līdzīgi vārdi. Pamata drošība (faili sāknēšanas ielādētājā un / vai pašā kodolā) ir veidota arī tādā veidā, lai neļautu jums pārslēgt lietotāja ID kā daļu no SELinux (S ecurity - E uzlabots Linux - pateica, ka vārdi ir viegli) kodola modulis. Dažiem tālruņiem (ienāk prātā Samsung Knox) ​​ir papildu aizsardzība, un gandrīz visi uzņēmumi, kas ražo Androids, pieprasa, lai izmaiņas veiktu, lai sāknēšanas ielādētājs būtu atbloķēts, lai šos failus varētu mainīt un ļautu mainīt lietotāja ID.. Daži tālruņi, piemēram, BlackBerry Priv, pat iet soli tālāk un negrasās sāknēt, ja kaut ko mainām (pat ja mēs varētu).

Lai kļūtu par sakni, jums ir nepieciešams veids, kā mainīt savu lietotāja ID.

Tiklīdz mēs to visu nokārtosim - vai nu atbloķējot sāknēšanas ielādētāju, izmantojot autorizētus līdzekļus, vai izmantojot kaut kādu utilizācijas veidu -, mēs varam novietot SU bināro (SubstituteUser) vietā, kur tas var darboties, kad tas tiek saukts, lai to darbinātu - to sauc par PATH. Ja kāda lietotne atrodas jūsu lietotāja ID PATH, tā darbosies, nepaziņojot sistēmai precīzi, kur tā atrodas. Jums arī jāpārliecinās, vai SU binārais fails atrodas tajā vietā, ka jūsu lietotāja ID ir atļauts izpildīt (palaist) failus. Tādai pašai piekļuvei būs nepieciešama arī jebkura cita lietotne (pakalpojumā Google Play ir daudz lietotņu, kurām nepieciešama saknes atļauja). Kad tālruņa sakņošanai izmantojat metodi, to visu sakārto ļaudis, kas izveidoja saknes metodi.

Kad tas viss ir vietā, mēs varam palaist SU bināro (vai citu lietotni var palaist SU bināro).

Saknes piekļuves iegūšana

Šajā vietā nonāk sakne. SU binārā versija izmanto karodziņus, lai pateiktu sistēmai, uz kuru lietotāja ID vēlaties pārslēgties. Piemēram, ja es Ubuntu datorā palaižu SU bināro failu, piemēram, šo "su Jim -c nano", es izpildīšu nano komandu kā lietotājs Jim (pēc Jima paroles ievadīšanas). Ja palaižat SU bināro failu bez karodziņiem vai argumentiem, tas pārslēdz jūs uz saknes lietotāju. Parasti jums būs jānorāda parole, bet, tā kā sakne ir neizmantots lietotājs Android, tai nav paroles. Palaižot komandu "su", jūs tiksit pārslēgts uz lietotāja sakni, piešķirts lietotāja ID 0 un iekļauts saknes grupā. Tagad jūs esat super lietotājs.

Kā superlietotājs jūs varat darīt jebko, izmantojot jebkuru failu, mapi vai nodalījumu jūsu Android ierīcē. Ar jebko mēs saprotam burtiski jebko. Varat noņemt bloatware lietotnes, kā arī svarīgus sistēmas failus, kas sabojā jūsu tālruni. Jūs varat arī veikt aparatūras lietas, piemēram, mainīt CPU frekvenci un sabojāt tālruni uz visiem laikiem.

Sakne ir superlietotājs, kurš var darīt jebko. Un mēs domājam jebko.

Lietotnes var darīt to pašu. SU tiek novietots tur, kur tas atrodas lietojumprogrammas PATH, un jebkura lietotne var to izsaukt un palaist. Pēc tam šai lietotnei ir superlietotāju atļaujas un tā var darīt visu, kas patīk, jebkuram failam jebkurā vietā jūsu tālrunī. Tas ir iemesls, kāpēc cilvēki, kuri izgatavoja jūsu tālruni, patiešām nevēlas, lai jums būtu šāds piekļuves līmenis, un uzņēmumi, kuri ļauj jums atbloķēt sāknēšanas programmu un mainīt lietas, pēc noklusējuma joprojām nenovieto SU bināro tālruni. Piekļuve saknei, nespējot kontrolēt, kurš vai kas to var izmantot, ir bīstams tālruņa programmatūrai un jūsu personīgajiem datiem.

Tāpēc jums jāinstalē lietotne, kas liek jums atļaut root piekļuvi ikreiz, kad jūs vai kāda cita lietotne mēģina atsaukties Super lietotāja atļaujas. Vairumā gadījumu, kad tālrunī izmantojat saknes metodi, tā tiks iekļauta kopā ar dažiem citiem noderīgiem bināriem failiem, piemēram, BusyBox rīku kopu. Ja darījāt lietas ar rokām, jums tas būs jāinstalē pats. Sākums ir SuperSU, ko izveidojis Chainfire pakalpojumā Google Play.

Likmes un beigas

Daudzi tālruņi un dažas sakņu metodes dara lietas nedaudz savādāk (Android 4.3 ienesa daudz izmaiņu) un prasa tikai skriptus vai dēmonu (jūs redzēsit tādus vārdus kā daemonsu vai su.d), nevis vienkārši nometot SU bināro. Tos izmanto, lai izsauktu SubstituteUser, lai jūs varētu pārslēgties uz root lietotāju, tāpat kā neapstrādātu bināro metodi. Cilvēki, kuri izdomāja, kā sakņot jūsu tālruni, to visu ir sakārtojuši, un tas darbosies tāpat kā lietotājs.

Ir arī iespējams "temp-root" dažus androids. Tas nozīmē, ka jums var būt Super lietotāja atļaujas un veikt dažas darāmās darbības, taču, atsāknējot, tiek novērsta piekļuves iespēja. Tāpat jums var būt “čaulas sakne”, kur saknes lietotājam var piekļūt tikai caur adb no datora.

Visbeidzot es gribu uzsvērt, ka, ja jums bija šie jautājumi, jums jāapsver, vai esat gatavs izmantot sakņotu Android. Mēs nejokojām, kad teicām, ka ir viegli sabojāt tālruni ar SuperUser piekļuvi. Nav iemesla kaunēties, ka, pirms veicat lietas, kas var sabojāt tālruni vai piešķirt kādai nejaušai rouge lietotnei piekļuvi visiem jūsu datiem, jums tas nedaudz jāizlasa vai jāuzdod vēl daži jautājumi.

Tas ir tas, par ko mēs esam šeit.