Sisällysluettelo:
Rakastamme kysymysten saamista. On aina hyvä asia, kun voimme auttaa toisiamme, ja opimme juttuja itse etsiessään vastauksia. Vaikka emme löydä aikaa vastata kaikkiin niihin, toisinaan tietty kysymys nousee tarpeeksi, että se ansaitsee yksityiskohtaisen vastauksen.
"Mitä juuri tarkoittaa?" on yksi niistä kysymyksistä. Konsepti saattaa olla yksinkertainen joillekin meistä, mutta monille ihmisille, jotka eivät ole viettäneet aikaa vaihtumassa Androidin tai muun käyttöoikeuspohjaisen käyttöjärjestelmän kanssa, on jotain, josta kysyä kysymyksiä. Aion yrittää vastata heihin kaikkiin parhaimmin.
käyttöoikeudet
Ennen kuin määrittelemme juuri, on tärkeää ymmärtää miksi se on olemassa ja miten se toimii. Se johtuu siitä, että Android käyttää käyttöoikeuksia (tarkalleen ottaen Linux-pohjaisia oikeuksia) tiedostorakenteessa. Jokaisella tiedostolla, kansiolla ja osiolla on joukko käyttöoikeuksia. Nämä oikeudet päättävät kuka voi lukea tiedoston (tarkastella tai käyttää sisältöä muuttamatta niitä), kirjoittaa tiedostoon (pystyä muuttamaan tiedoston sisältöä tai luoda uuden tiedoston kansion tai osion sisällä) ja suorittamaan tiedoston (suorita tiedosto, jos se voi toimia, kuten sovellus). Tämä tapahtuu käyttäjien ja käyttöoikeuksien perusteella - joillakin käyttäjillä on käyttöoikeus, kun taas käyttäjillä, joilla ei ole oikeuksia, estetään pääsy.
Kun määrität puhelimen ensimmäisen kerran ja käynnistät sen ensimmäisen kerran, sinulle annetaan käyttäjätunnus. Jos toinen käyttäjä kirjautuu sisään Googlen kautta, hänelle annetaan erilainen käyttäjätunnus. Kun sovellus on asennettu puhelimeesi, sille annetaan myös oma käyttäjätunnus. Itse järjestelmä on käyttäjä, ja muilla puhelimella suoritettavilla prosesseilla voi olla oma käyttäjätunnus. Kaikki, joka voi tehdä mitä tahansa Android-tiedostoihisi, on käyttäjä.
Käyttäjä- ja käyttöoikeusjärjestelmä on kuinka Android seuraa, kuka voi mitä tehdä.
Oletetaan, että asennat viestisovelluksen. Sille määritetään käyttäjätunnus, kun asennat sen. Se saa myös paikan omalla tietoosiollasi, johon vain sillä on pääsy. Sinulla on käyttöoikeudet sovelluksen suorittamiseen, ja kun sovellus suoritetaan, sillä on lupa käyttää omaa tietokantaansa ja tiedostojaan. Sovellus voi myös pyytää lupaa käyttää muun muassa osoitekirjaasi, SD-korttia tai valokuvakirjastoa. Jos vastaat kyllä näihin pyyntöihin (tai jos hyväksyt Androidin vanhempien versioiden käyttöoikeudet), sovelluksen käyttäjätunnuksella annetaan lupa kyseisten asioiden datatiedostoille, mikä tarkoittaa, että se voi tarkastella tietokansiota ja sen sisältöä ja mahdollisesti muuttaa tai lisää uusia tiedostoja. Sovellus ei voi käyttää datatiedostoja, joita sillä ei ole lupaa "tarkastella". Tämä tarkoittaa (esimerkissämme), että se ei voi tehdä esimerkiksi tarkastella asetustietokantaa tai käyttää toisen sovelluksen tietokansiota. Termiä hiekkalaatikko käytetään usein tähän - sovellukset ovat hiekkalaatikoita ja voivat pelata vain hiekkalaatikoissa, joissa heillä on lupa olla.
Tiedostoille, jotka ovat ohjelmia ja jotka voivat toimia (kuten sovellukset), sama lupamalli koskee. Käyttäjätunnuksellasi on lupa ajaa asennettuja sovelluksia, kun olet kirjautunut sisään. Järjestelmän käyttäjällä on lupa käyttää niitä, ja muilla järjestelmätason käyttäjillä voi olla pääsy sovelluksiin tai tiettyihin sovellusten käyttämiin prosesseihin. Muut sovellukset eivät voi käynnistää sovelluksia, joilla ei ole käynnistyslupaa. Jos olet lisännyt toissijaisen käyttäjän, hänellä ei ole pääsyä sovelluksiisi tai tiedostoihisi ja päinvastoin. Puhelimessa on tiedostoja, kansioita ja sovelluksia, joita käyttäjätunnuksellasi ei ole lupaa nähdä, muuttaa tai suorittaa. Yleensä nämä Android-osat vaativat järjestelmätason käyttöoikeuksia (järjestelmän käyttäjätunnuksen), jotta ne voivat tehdä mitään, etkä ole järjestelmän käyttäjä tai käyttäjä, jolla on järjestelmän tason käyttöoikeudet.
Vaihtooikeudet
Vaikka teknisesti on mahdollista muuttaa tapaa, jolla puhelin käynnistyy ja tiedostoja, joita käytetään käynnistämään järjestelmä ja määrittämään käyttäjätunnuksellesi korkeat käyttöoikeudet, se ei ole turvallista eikä käytännöllistä. Mutta Androidilla (ja useimmissa Unix- tai Linux-pohjaisissa järjestelmissä) on ns. Pääkäyttäjä, ja ne tukevat SubstituteUser-binaaria (ajattele binaaria pienenä sovelluksena) käyttäjätunnusten vaihtamiseksi. Niitä käytetään järjestelmän hallinnointiin ydintasolla.
Koska puhelimesi tekijät eivät halua sinun pääsevän helposti juuritunnukseen - ja kaikki syyt eivät ole itsekäs, koska se suojaa myös sinua ja henkilökohtaisia tietojasi - SubstituteUser-binaari ei sisälly useimpiin rakennuksiin Android. Ilman korvaavaa käyttäjää, emme voi vaihtaa käyttäjätunnustamme. Suurimmalla osalla Android-järjestelmän järjestelmätasoista asioita on muuten samanlaisia helppoja nimiä. Ydinturvallisuus (käynnistyslataimen tiedostot ja / tai ydin itse) on myös rakennettu tavalla, joka estää sinua vaihtamasta käyttäjätunnuksia osana SELinux (S- turvallisuus - parannettu Linux - kertoi sinulle, että nimet ovat helppoja) ytimen moduulia. Joillakin puhelimilla (Samsungin Knox tulee mieleen) on lisäsuojauksia, ja melkein kaikki Androideja valmistavat yritykset vaativat, että muutosten tekemistä varten käynnistyslataimen pitäisi olla avattu, jotta nämä tiedostot voidaan muuttaa ja antaa sinun vaihtaa käyttäjätunnuksia. Jotkut puhelimet, kuten BlackBerry Priv, menevät jopa askeleen pidemmälle eivätkä aio käynnistyä, jos muutamme jotain (vaikka voisimme).
Jotta pääset juureksi, tarvitset tapa muuttaa käyttäjätunnuksesi.
Kun olemme ohi kaiken tämän - joko avaamalla käynnistyslataimen valtuutetuilla keinoilla tai käyttämällä jonkinlaista hyväksikäyttöä - voimme sijoittaa SU-binaarisen (SubstituteUser) paikalle, jota se voi käyttää, kun sitä kutsutaan ajamaan - sitä kutsutaan PATH: ksi. Jos jokin sovellus on käyttäjätunnuksesi PATH-ohjelmassa, se suoritetaan kertomatta järjestelmälle tarkalleen missä se on. Sinun on myös varmistettava, että SU-binaari on siinä paikassa, että käyttäjätunnuksellasi on lupa suorittaa (suorittaa) tiedostoja. Kaikilla muilla sovelluksilla (Google Playssa on paljon sovelluksia, jotka tarvitsevat pääkäyttäjän oikeuksia) on myös käytettävä samaa käyttöoikeutta. Kun käytät menetelmää puhelimen juurruttamiseen, juuri tämän menetelmän rakentaneet ihmiset selvittävät tämän kaiken.
Kun kaikki tämä on paikallaan, voimme suorittaa SU-binaarin (tai toinen sovellus voi suorittaa SU-binaarin).
Juurinkäytön hankkiminen
Juuri tulee tänne. SU-binaari käyttää lippuja ajon aikana ilmoittaakseen järjestelmälle, mihin käyttäjätunnukseen haluat vaihtaa. Esimerkiksi, jos käytän SU-binaaria Ubuntu-tietokoneellani kuten "su Jim -c nano", aion suorittaa nano-komennon käyttäjänä Jim (toimitettuaan Jimin salasanan). Jos suoritat SU-binaarin ilman lippuja tai argumentteja, se muuttaa sinut pääkäyttäjäksi. Tavallisesti sinun on annettava salasana, mutta koska "root" on käyttämätön käyttäjä Androidilla, sillä ei ole salasanaa. Suorittamalla komento "su" siirrytään käyttäjän pääkäyttäjään, määritetään käyttäjän käyttäjätunnus 0 ja laitetaan sinut pääryhmään. Olet nyt superkäyttäjä.
Superkäyttäjänä voit tehdä mitä tahansa tiedostoihin, kansioihin tai osioihin Android-laitteellasi. Millä tahansa tarkoitamme kirjaimellisesti mitä tahansa. Voit poistaa bloatware-sovelluksia ja poistaa myös tärkeät järjestelmätiedostot, jotka rikkovat puhelimesi. Voit myös tehdä laitteistoon liittyviä asioita, kuten muuttaa prosessorin taajuutta ja pilata puhelimesi ikuisesti.
Juuri on superkäyttäjä, joka voi tehdä mitä tahansa. Ja tarkoitamme mitä tahansa.
Sovellukset voivat tehdä saman asian. SU sijoitetaan mihin se on sovelluspolussa, ja mikä tahansa sovellus voi soittaa sille ja ajaa sen. Sovelluksella on sitten superkäyttäjän oikeudet, ja se voi tehdä kaiken haluamansa tiedoston mihin tahansa paikkaan puhelimessa. Siksi puhelimesi tehneet ihmiset eivät todellakaan halua, että sinulla olisi tämän tason käyttöoikeudet, ja yritykset, jotka sallivat sinun avata käynnistyslataimen ja muuttaa asioita, eivät edelleenkään aseta SU-binääristä puhelimeesi oletuksena. Pääsy root-käyttämiseen jollain tapaa hallita sitä, kuka tai mikä voi sitä käyttää, on vaarallinen puhelimen ohjelmistolle ja henkilökohtaisille tiedoillesi.
Siksi sinun on asennettava sovellus, joka pakottaa sinut sallimaan pääkäyttäjän käyttöoikeudet aina, kun sinä tai toinen sovellus yrität vedota superkäyttäjän oikeuksiin. Useimmiten, kun käytät juurimenetelmää puhelimeesi, se sisällytetään johonkin muuhun hyödylliseen binaariin, kuten BusyBox-työkalusarja. Jos teit asioita käsin, sinun on asennettava se itse. Chainfiren SuperSU Google Playsta on hyvä aloittaa.
Sekalaisia asioita
Monet puhelimet ja jotkut juurimenetelmät tekevät asiat hieman eri tavalla (Android 4.3 toi paljon muutoksia) ja vaativat komentosarjoja tai daemonin (näet sanat, kuten daemonsu tai su.d mainitaan) sen sijaan, että pudottaisi SU-binaarin paikoilleen. Niitä käytetään soittamaan SubstituteUser -sovellukselle, jotta voit siirtyä pääkäyttäjäksi aivan kuten raaka-binaarimenetelmä. Ihmiset, jotka tajusivat puhelimen juurruttamisen, ovat järjestäneet kaiken tämän, ja se toimii samalla tavalla käyttäjän tavoin.
On myös mahdollista "temp-root" joitain androideja. Tämä tarkoittaa, että sinulla voi olla superkäyttäjän oikeudet ja tehdä muutama tehtävä, mutta uudelleenkäynnistys vie pääsyn päälle. Samoin sinulla voi olla "shell-root", jossa pääset pääkäyttäjään vain adb: n kautta tietokoneeltasi.
Lopuksi haluan korostaa, että jos sinulla olisi näitä kysymyksiä, sinun on pohdittava, oletko valmis käyttämään juurtunutta Androidia. Emme vitsaile, kun sanoimme, että puhelimesi on helppo pilata SuperUser-pääsyn avulla. Ei ole syytä hävetä siitä, että sinun on luettava vähän tai kysyttävä vielä muutamia kysymyksiä ennen kuin teet asioita, jotka voivat rikkoa puhelimesi tai antaa satunnaiselle sovellukselle pääsyn kaikkiin tietoihisi.
Sitä varten olemme täällä.