Taula de continguts:
Ens encanta rebre les vostres preguntes. Sempre és bo quan ens puguem ajudar, i aprenem coses a nosaltres mateixos quan busquem les respostes. Tot i que no podem trobar temps per respondre-hi totes, de vegades es planteja una determinada pregunta que mereix una resposta detallada.
"Què significa arrel?" és una d’aquestes preguntes. El concepte pot ser senzill per a alguns de nosaltres, però per a moltes persones que no han passat temps per jugar amb Android o qualsevol altre sistema operatiu basat en permisos, és una cosa per fer preguntes. Vaig a intentar respondre-les tot el millor que puc.
Permisos
Abans de definir root, és important comprendre per què existeix i com funciona. El fet que Android utilitza permisos (per a ser exactes) en l'estructura dels fitxers. Cada fitxer, cada carpeta i cada partició té un conjunt de permisos. Aquests permisos decideixen qui pot llegir un fitxer (mirar o accedir al contingut sense canviar-los), escriure a un fitxer (poder canviar el contingut d’aquest fitxer o crear un fitxer nou dins d’una carpeta o partició) i executar un fitxer. (executeu el fitxer si és un tipus que es pot executar, com una aplicació). Es fa en funció dels usuaris i dels permisos: alguns usuaris hi tenen accés, mentre que els que no tenen els permisos adequats se'ls impedeix accedir.
Quan primer configureu el telèfon i el connecteu per primera vegada, se us ha assignat un identificador d’usuari. Si un altre usuari inicia la sessió via Google, se li assigna un identificador d'usuari diferent. Quan una aplicació està instal·lada al telèfon, també se li assigna un identificador d’usuari propi. El sistema en si és un usuari i altres processos que necessiten executar-se al telèfon poden tenir el seu propi ID d’usuari. Tot el que pot fer qualsevol cosa a qualsevol fitxer del vostre Android és usuari.
Un sistema d’usuaris i permisos és com Android fa un seguiment de qui pot fer què.
Suposem que instal·leu una aplicació de missatgeria. Se li assigna un ID d’usuari quan l’instal·leu. També obté un lloc en la partició de dades pròpia que només té accés. Teniu permisos per executar l’aplicació i quan l’aplica l’executa té permís per accedir a la seva pròpia carpeta de dades i fitxers. L’aplicació també pot demanar permís per accedir a coses com la vostra llibreta d’adreces o la targeta SD o la fototeca. Si dius que sí a aquestes sol·licituds (o si accepta els permisos en versions anteriors d'Android), l'ID d'usuari de l'aplicació té permís als fitxers de dades d'aquestes coses, el que significa que pot mirar la carpeta de dades i el contingut i possiblement canviar. o afegir-hi fitxers nous. L'aplicació no pot accedir a fitxers de dades als quals no tingui permís per "mirar". Això vol dir que (en el nostre exemple) no pot fer coses com mirar la base de dades de configuració o accedir a la carpeta de dades d’una altra aplicació. El terme sandbox s'utilitza sovint per a això: les aplicacions estan emparedades i només poden reproduir-se en les caixes de sorra on tenen permís per entrar.
Per als fitxers que són programes i poden funcionar (com aplicacions), s'aplica el mateix model de permís. El vostre identificador d'usuari té permís per executar les aplicacions instal·lades mentre teniu la sessió iniciada. L'usuari del sistema té permís per executar-les i altres usuaris del nivell del sistema poden tenir accés a les aplicacions o a determinats processos que fan servir les aplicacions. Altres aplicacions no poden iniciar aplicacions que no tenen permís per començar. Si heu afegit un usuari secundari, no tenen accés a les vostres aplicacions o fitxers i viceversa. Hi ha fitxers, carpetes i aplicacions al telèfon que el vostre identificador d'usuari no té permís per veure, modificar o executar. Normalment, aquestes parts d'Android requereixen permisos a nivell del sistema (l'ID d'usuari del sistema) per fer res i no l'usuari del sistema ni un usuari que tingui permisos a nivell de sistema.
Permisos de commutació
Si bé tècnicament és possible canviar la forma d’arrencar el telèfon i els fitxers que utilitza per iniciar el sistema en funcionament i assignar permisos elevats de la vostra identificació d’usuari, això no és segur ni pràctic. Però Android (i la majoria de sistemes basats en Unix o Linux) tenen el que s’anomena un usuari root i donen suport al binari SubstituteUser (penseu en un binari com a aplicació petita) per canviar els ID d’usuari. S'utilitzen per administrar el sistema a nivell bàsic.
Com que les persones que han creat el telèfon no volen que tinguis un accés fàcil a l'ID d'usuari root, i no totes les raons són egoistes perquè també protegeix a tu i a les seves dades privades, el binari SubstituteUser no està inclòs en la majoria de versions de Android. Sense SubstituteUser, no podem canviar el nostre identificador d’usuari. Per cert, la majoria de les coses del nivell del sistema a Android tenen noms similars. La seguretat bàsica (els fitxers del carregador d’arrencada i / o del nucli en si mateix) també es construeixen de manera que s’eviti que canvieu els ID d’usuari com a part del mòdul del nucli SELinux (S ecurity- E nhanced Linux - us va dir que els noms són fàcils).. Alguns telèfons (ve a la memòria Knox de Samsung) tenen més proteccions i gairebé totes les empreses que fan Androids requereixen que, per fer canvis, caldrà desbloquejar el carregador d’arrencada per poder canviar aquests fitxers i permetre canviar els ID d’usuari.. Alguns telèfons, com el BlackBerry Priv, fins i tot fan un pas més i no s’iniciaran si canviem res (fins i tot si poguéssim).
Per convertir-vos en root, necessiteu una manera de canviar l’identificador d’usuari.
Un cop superem tot això, ja sigui desbloquejant el carregador d'arrencada a través de mitjans autoritzats o utilitzant algun tipus d'explotació, podem col·locar el binari SU (SubstituteUser) en un lloc que es pugui executar quan es diu que s'executa. Si alguna aplicació es troba en el camí d'accés de l'identificador d'usuari, es publicarà sense dir al sistema exactament on es troba. També heu d'assegurar-vos que el binari SU estigui en un punt que el vostre identificador d'usuari tingui permís per executar (executar) fitxers. Qualsevol altra aplicació (Google Play té moltes aplicacions que necessiten permisos arrel) també necessitarà el mateix accés. Si utilitzeu un mètode per arrelar el telèfon, tot això els resol els usuaris que han creat el mètode arrel.
Una vegada tot el que estigui al seu lloc, podem executar el binari SU (o una altra aplicació pot executar el binari SU).
Obtenint accés root
Aquí és on entra el root. El binari SU utilitza indicadors quan s'executa per indicar al sistema quina és l'ID d'usuari que voleu canviar. Per exemple, si faig el binari SU al meu ordinador Ubuntu com aquest "su Jim -c nano", executaré la comanda nano com a usuari Jim (després de subministrar la contrasenya de Jim). Si teniu el binari SU sense indicadors ni arguments, us canviarà per l'usuari root. Normalment, haureu d’aportar una contrasenya, però com que “root” és un usuari no utilitzat a Android no té cap contrasenya. Si utilitzeu la comanda "su", us canviarà a l'arrel de l'usuari i us assignarà l'ID d'usuari de 0 i us situarà al grup arrel. Ara ets el Super Usuari.
Com a super usuari, podeu fer qualsevol cosa sobre qualsevol fitxer, carpeta o partició del vostre Android. Per qualsevol cosa, volem dir literalment qualsevol cosa. Podeu eliminar les aplicacions de bloatware i també podeu eliminar fitxers del sistema essencials que trenquen el telèfon. També podeu fer coses amb el maquinari com canviar la freqüència de la CPU i arruïnar el telèfon per sempre.
Root és el super usuari, que pot fer qualsevol cosa. I volem dir qualsevol cosa.
Les aplicacions poden fer el mateix. El SU es col·loca on es troba a l’APH path i qualsevol aplicació pot trucar-lo i executar-lo. Aquesta aplicació té permisos de Super Usuari i pot fer qualsevol cosa que desitgi en qualsevol lloc del vostre telèfon. És per això que les persones que han creat el telèfon realment no volen que tingueu aquest nivell d'accés i les empreses que us permeten desbloquejar el carregador d'arrencada i canviar les coses encara no col·loquen el binari SU al vostre telèfon de manera predeterminada. Tenir accés root sense cap manera de controlar qui o què pot utilitzar-lo és perillós per al programari del telèfon i les seves dades personals.
Per això, necessiteu instal·lar una aplicació que us obligui a permetre l’accés root en qualsevol moment que una altra aplicació tracti d’invocar els permisos del SuperUsuari. La majoria de vegades quan s’utilitzi un mètode root per al telèfon, s’inclourà un, juntament amb alguns altres binaris útils com el conjunt d’eines BusyBox. Si heu fet les coses a mà, haureu d’instal·lar-ne una. SuperSU de Chainfire a Google Play és un bon principi per començar.
Probabilitats i finalitats
Molts telèfons i alguns mètodes d’arrel fan les coses una mica diferent (Android 4.3 va comportar molts canvis) i requereixen scripts o un dimoni (es podran veure paraules com daemonsu o su.d esmentades) en lloc de deixar de banda el binari SU al seu lloc. S'utilitzen per trucar a SubstituteUser de manera que podeu canviar a l'usuari root tal com el mètode binari brut. Les persones que han descobert com arrelar el telèfon han resolt tot això i funcionarà igual en el costat orientat a l'usuari.
També és possible "arrelar temporalment" alguns androides. Això vol dir que podeu tenir permisos d’Usuari i fer algunes coses que heu de fer, però un reinici no permet accedir a root. Així mateix, podeu tenir un "shell-root" on només podeu accedir a l'usuari root mitjançant adb des del vostre ordinador.
Finalment, vull subratllar que si teniu aquestes preguntes, heu de plantejar-vos si esteu preparats per tenir un Android arrelat. No vam fer broma quan vam dir que és fàcil arruïnar el telèfon amb accés de SuperUser. No hi ha cap raó per avergonyir-vos que heu de fer una mica de lectura o fer algunes preguntes més abans de fer coses que puguin trencar el telèfon o donar a alguna aplicació aleatòria rouge accés a totes les vostres dades.
Per això estem aquí.