Du har sandsynligvis hørt noget snak om root og den nyeste version af Android, og måske endda hørt ting som "rodens død" smides rundt. Tingene er ændret, og nye sikkerhedsfunktioner i Android begrænser nu, hvad processer med superbrugerrettigheder kan gøre på systempartitionen. Jeg vil forsøge at forklare noget af dette så godt jeg kan uden at kaste rundt for mange ord, ingen (ja, næsten ingen) forstår. Noget af det er dog uundgåeligt.
Du skal muligvis hælde en stiv en for dette.
Alle Android-apps gaffel fra en systemproces kaldet zygote. I Android 4.3 blev tingene ændret, og nu har zygote en ny sikkerhedspolitik. Selvom vi kan gaffel en proces med suid (superbruger) privilegier, begrænser de nye begrænsninger, hvad vi kan gøre med den. Dette er hele punktet i SELinux, hvilket er en god ting for brugernes sikkerhed. Vores nye proces (tænk på den som den root-app, du prøver at køre) teknisk set har root-adgang, men den kan faktisk ikke gøre noget nyttigt med det. Dette er en meget god måde at beskytte systemet mod useriøse processer, som du ikke ønsker - som i potentielle ZOMGMALWARE - at have adgang til alt.
Der er to måder, man snakker om til at omgå dette nye sæt af sikkerhedspolitikker. Den ene er, at rodadgang gennem shell - hvor du har tilsluttet din telefon til en computer og bruger kommandolinjen til at kommunikere - stadig fungerer fint. Du kan hæve din brugerstatus og gøre de samme ting, som du altid kunne gøre via adb. Og chancerne er temmelig slanke, der ikke vil ske, uden at du ved det.
Den anden måde er med en su daemon.
En dæmon er en baggrundsproces, der ikke er under direkte kontrol af den aktive bruger. Det kører stille og venter på den tid, det er nødvendigt for at gøre noget nyttigt. Når det kaldes, gør det, hvad det var designet til at gøre, og går derefter tilbage i skjul. En su daemon skal påberåbes under systeminitialiseringen, der bliver et klæbepunkt for at hacking root-adgang til "lager" -ROM'er.
Levering af Android-implementering med Nexus ser ikke efter yderligere politikker i / data / system / sepolicy som CyanogenMod og opstrøms indikerer, at det skal. Det indlæser / sepolicy-filen fra ramdisk og kalder den en dag.
+ Koushik Dutta
Du har - som minimum - et ændret startbillede for at starte en brugerdefineret dæmon på din Android-enhed. Det er ikke et problem med noget som CyanogenMod, men det betyder, at du blinker noget andet end lager for at få det til at ske. Blinkende tilpassede billeder, kerner og ROM'er er noget, som mange mennesker bare ikke ønsker at gøre.
Så det er, hvor vi er. De største navne i Android-samfundet arbejder hårdt på at få tingene alle sorteret, men der er en meget god chance for, at rod, som du kender rod i dag, vil kræve, at du flash brugerdefineret firmware ud over SU-appen og binæren. Det er en god ting, at Android flytter til en mere sikker sikkerhedsmodel, og du bliver bare nødt til at lære lidt mere om, hvordan dit system fungerer, og hvordan du ændrer det for at få det i den tilstand, du ønsker - hvilket i sidste ende er en anden god ting.
Google ved, at brugere vil have ting som superbruger-tilladelser. Der er en meget god chance for, at de på en eller anden måde vil løse disse problemer, enten ved at kræve rod til mindre ting eller ved at opbygge en løsning i Android selv. Hvis du kører Linux eller OSX på din computer, ved du, at hvis du har en hjemmemappe, kan du gøre det meste uden at hæve nogen tilladelser. Måske vil Google bevæge sig i denne retning. Eller måske tilføjer de superbrugerfunktioner i Android i udviklerindstillingerne. I mellemtiden fortsætter de med at gøre Nexus-telefoner, som kan låses helt op for brugere, der ønsker eller har brug for at blinke tilpasset firmware - og folk som udviklerne på CyanogenMod (og andre steder) vil fortsætte med at bygge det.