Logo hu.androidermagazine.com
Logo hu.androidermagazine.com

Mit jelent valójában a telefon gyökerezése?

Tartalomjegyzék:

Anonim

Szeretjük feltenni a kérdéseidet. Mindig jó, ha segítünk egymásnak, és a válaszokat keresve saját magunkat tanulunk meg. Noha nem találunk időt mindegyikük megválaszolására, néha egy kérdés felmerül annyira, hogy megérdemli a részletes választ.

"Mit jelent a gyökér?" az egyik ilyen kérdés. Lehet, hogy a koncepció néhányunk számára egyszerű, de sok ember számára, akik még soha nem töltöttek időt az Android vagy más engedélyekre épülő operációs rendszerrel való szórakozásra, kérdéses kérdés. Megpróbálok mindent megválaszolni, amennyire csak tudok.

Engedélyek

A gyökér meghatározása előtt fontos megérteni, miért létezik és hogyan működik. Ennek oka az, hogy az Android engedélyeket (pontosabban Linux-alapú engedélyeket) használ a fájlszerkezetben. Minden fájlnak, mappának és minden partíciónak van engedélyek halmaza. Ezek az engedélyek döntenek arról, hogy ki olvashat egy fájlt (megnézheti vagy elérheti a tartalmat anélkül, hogy megváltoztatná azokat), írhatna egy fájlra (képes lenne megváltoztatni a fájl tartalmát, vagy új fájlt hozhat létre egy mappában vagy partícióban), és végrehajtani egy fájlt (futtassa a fájlt, ha futtatható, mint egy alkalmazás). Ez a felhasználók és az engedélyek alapján történik - egyes felhasználóknak van hozzáférése, míg a megfelelő engedélyekkel nem rendelkező felhasználók hozzáférést kapnak.

A telefon első beállításakor és első bekapcsolásakor felhasználói azonosítót kap. Ha egy másik felhasználó bejelentkezik a Google-on keresztül, akkor más felhasználói azonosítót kapnak. Ha egy alkalmazás telepítve van a telefonjára, akkor hozzá is rendel egy saját felhasználói azonosítót. Maga a rendszer felhasználó, és a telefonon futó más folyamatoknak megvan a saját felhasználói azonosítója. A felhasználó minden, ami bármit megtehet az Android fájljaival.

A felhasználók és az engedélyek rendszere az, hogy az Android nyomon követi, ki mit tehet.

Tegyük fel, hogy telepített egy üzenetküldő alkalmazást. Telepítéskor hozzárendel egy felhasználói azonosítót. Megtalál egy helyet a saját adatpartícióján is, amelyhez csak hozzá fér. Engedélyek vannak az alkalmazás végrehajtására, és az alkalmazás futtatásakor engedélye van a saját adatmappájának és fájljainak elérésére. Az alkalmazás engedélyt kérhet például a címjegyzék, az SD-kártya vagy a fotókönyvtár eléréséhez. Ha igen, ezekre a kérésekre (vagy ha elfogadja az Android régebbi verzióinak engedélyét), az alkalmazás felhasználói azonosítója engedélyt kap ezeknek a fájloknak a fájljainak, azaz megnézheti az adatmappát és annak tartalmát, és esetleg megváltozhat vagy új fájlokat adhat hozzá. Az alkalmazás nem fér hozzá olyan adatfájlokhoz, amelyekhez nem rendelkezik „megtekintési” engedéllyel. Ez azt jelenti (a példánkban), hogy nem tud megtenni a beállítások adatbázisát, vagy elérni egy másik alkalmazás adatmappáját. A homokozó kifejezést gyakran használják erre - az alkalmazások homokdobozban vannak, és csak azokban a homokozóban játszhatnak, amelyekben engedélyezik a belépést.

A fájlokat, amelyek programok és futtathatók (mint például az alkalmazások), ugyanaz az engedélyezési modell vonatkozik. Az Ön felhasználói azonosítója engedélyezte a telepített alkalmazások futtatását, miközben be van jelentkezve. A rendszerfelhasználó jogosult azok futtatására, és más rendszerszintű felhasználók férhetnek hozzá az alkalmazásokhoz vagy az alkalmazások által használt bizonyos folyamatokhoz. Más alkalmazások nem indíthatnak el olyan alkalmazásokat, amelyeknek nincs engedélyük az indításra. Ha másodlagos felhasználót adott hozzá, akkor nem fér hozzá az alkalmazásokhoz vagy a fájlokhoz, és fordítva. A telefonján vannak olyan fájlok, mappák és alkalmazások, amelyek felhasználói azonosítójának nincs engedélye a megtekintéshez, megváltoztatáshoz vagy futtatáshoz. Az Android ezen részein rendszerint rendszerszintű engedélyekre (rendszer felhasználói azonosítóra) van szükség, hogy bármi megtörténjen, és nem Ön vagy a rendszerhasználó, vagy olyan felhasználó, aki rendszerszintű engedélyekkel rendelkezik.

Váltási engedélyek

Noha technikailag megváltoztathatja a telefon indítási módját és a futó rendszer elindításához használt fájlokat, és a felhasználói azonosítójával megemelt jogosultságokat rendelhet hozzá, ez nem biztonságos és praktikus. De az Android (és a legtöbb Unix vagy Linux alapú rendszer) rendelkezik úgynevezett root felhasználóval, és támogatja a SubstituteUser bináris szoftvert (gondoljon egy binárisra, mint egy kis alkalmazásra) a felhasználói azonosítók megváltoztatásához. Ezeket a rendszer központi szintű adminisztrálására használják.

Mivel az emberek, akik telefonját készítették, nem akarják, hogy könnyedén hozzáférhessen a gyökér felhasználói azonosítóhoz - és nem minden ok önző, mert véd téged és a személyes adatait is - a SubstituteUser bináris fájl nem szerepel a legtöbb Android. Helyettesítő felhasználó nélkül nem tudjuk átváltani felhasználói azonosítónkat. Egyébként az Android rendszerszintű dolgai hasonló egyszerű nevekkel rendelkeznek. Az alapbiztonság (a rendszerbetöltőben lévő fájlok és / vagy a mag a rendszermagban) szintén úgy épül fel, hogy megakadályozzák a felhasználói azonosítók váltását a SELinux részeként (S- biztonság - E fejlesztésű Linux - azt mondta, a nevek egyszerűek) kernelmodul. Néhány telefon (a Samsung Knox eszébe jut) további védelmet nyújt, és szinte az összes android gyártó cég megköveteli, hogy a módosítások elvégzéséhez a rendszerbetöltőt ki kell nyitni, hogy ezeket a fájlokat meg lehessen változtatni, és lehetővé váljon a felhasználói azonosítók váltása.. Néhány telefon, például a BlackBerry Priv, még egy lépéssel tovább megy, és nem indul, ha bármit megváltoztatunk (még akkor is, ha tudnánk).

A gyökérré válásához szükség van egy módra a felhasználói azonosító megváltoztatására.

Ha mindezek után túljutunk - akár a bootloader felszabadításával engedéllyel, akár valamilyen kizsákmányolással -, akkor elhelyezhetjük az SU bináris fájlt (SubstituteUser) egy olyan helyre, amely képes futtatni, amikor futtatni hívják - ezt PATH-nek hívják. Ha valamelyik alkalmazás található a felhasználói azonosító PATH-ban, akkor az anélkül fog futni, hogy pontosan megmondja a rendszernek, hogy hol van. Azt is ellenőriznie kell, hogy az SU bináris fájl olyan helyen van-e, hogy az Ön felhasználói azonosítója jogosult fájlok végrehajtására (futtatására). Bármely más alkalmazáshoz (a Google Playnek rengeteg olyan programja van, amelyeken root jogosultság szükséges) szintén ugyanolyan hozzáférés szükséges. Amikor módszert használ a telefon gyökérzetéhez, mindezt azok a személyek rendezik, akik a gyökér módszert építették fel.

Ha minden a helyén van, futtathatjuk az SU bináris fájlt (vagy egy másik alkalmazás futtathatja az SU bináris fájlt).

A root hozzáférés megszerzése

Itt jön be a gyökér. Az SU binárisan jelzőket használ, amikor futtatja, hogy megmondja a rendszernek, hogy mely felhasználói azonosítóra szeretne váltani. Például, ha az Ubuntu számítógépemen ilyen "su Jim -c nano" számítógépen futok az SU bináris fájl, akkor a nano parancsot Jim felhasználóként fogom futtatni (miután megadtam a Jim jelszavát). Ha az SU bináris fájlt zászlók vagy argumentumok nélkül futtatja, akkor a root felhasználóra vált. Általában meg kell adnia egy jelszót, de mivel a "root" egy Androidon fel nem használt felhasználó, nincs jelszava. A "su" parancs futtatásával átvált a felhasználói gyökérre, és 0-os felhasználói azonosítót ad hozzá, és a gyökér csoportba helyezi. Te most a Super Felhasználó vagy.

Szuperfelhasználóként bármi megtehető az Android fájljain, mappáin vagy partícióin. Bármivel szó szerint bármit is értünk. Távolíthatja el a bloatware alkalmazásokat, és eltávolíthatja a telefonját megtörő alapvető rendszerfájlokat is. A hardvert is megteheti, például megváltoztathatja a processzor frekvenciáját, és örökre tönkreteheti a telefont.

A Root a szuper felhasználó, aki bármit megtehet. És bármit is értünk.

Az alkalmazások ugyanazt tehetik. Az SU-t oda helyezik, ahol az az alkalmazás PATH-ban található, és bármely alkalmazás felhívhatja és futtathatja. Ez az alkalmazás ezután rendelkezik szuper felhasználói engedélyekkel, és bármit megtehet a telefon bármely helyén, bárhol. Ez az oka annak, hogy a telefont készítők valóban nem akarják, hogy ilyen szintű hozzáféréssel rendelkezzen, és azok a cégek, amelyek lehetővé teszik a rendszerbetöltő feloldását és a dolgok megváltoztatását, alapértelmezésben még mindig nem helyezik a SU bináris számot a telefonra. A gyökér hozzáférés olyan módon, hogy nem tudjuk ellenőrizni, hogy ki és mit használhatja, veszélyes a telefon szoftverére és személyes adataira.

Ezért telepítenie kell egy alkalmazást, amely arra kényszeríti a root hozzáférést, hogy bármikor megkísérelje meghívni a szuper felhasználói engedélyeket. Leggyakrabban, amikor a gyökér módszert használja a telefonjára, az egy, valamint a többi hasznos bináris fájl, például a BusyBox eszközkészlet mellett szerepel. Ha kézzel dolgozott, akkor saját maga kell telepítenie. A Google Playen a Chainfire által készített SuperSU jó kezdeni.

Limlom

Számos telefon és néhány gyökér módszer kicsit másképp csinálja a dolgokat (az Android 4.3 sok változást hozott), és szkriptek vagy démon használatához (ilyenek a daemonsu vagy su.d szavak, például a fent említett szavak jelennek meg) szükséges ahelyett, hogy az SU bináris fájlt a helyére dobnák. Ezeket használják a SubstituteUser hívására, így válthat a root felhasználóra, akárcsak a nyers bináris módszert. Azok az emberek, akik kitalálták, hogyan lehet gyökérkezni a telefont, mindezt rendezték, és ez ugyanaz fog működni a felhasználó felé.

Az is lehetséges, hogy néhány androidot "ideiglenesen gyökérítsünk". Ez azt jelenti, hogy rendelkezhet szuper felhasználói engedélyekkel, és megtehetsz néhány tennivalót, de az újraindítás megszakítja a hozzáférést. Hasonlóképpen van egy „shell-root”, ahol csak a gyökér felhasználóhoz adb segítségével férhet hozzá a számítógépről.

Végül szeretném hangsúlyozni, hogy ha ezek a kérdések merültek fel, mérlegelnie kell, hogy készen áll-e gyökerező Android-ra. Nem vicceltem, amikor azt mondtuk, hogy könnyű tönkretenni a telefonját a SuperUser hozzáféréssel. Nincs ok szégyenkezni, hogy el kell végeznie egy kis olvasást, vagy még néhány kérdést feltennie, mielőtt olyan dolgokat végez, amelyek megronthatják a telefonját, vagy véletlenszerűen hozzáférhetővé teszik az alkalmazások számára az összes adatot.

Ezért vagyunk itt.