Jak dokładnie działa „root”? Czy po rootowaniu wszystkie aplikacje działają jako root na moim telefonie?

45

Czytałem o zrootowaniu telefonu, ale mam pewne wątpliwości koncepcyjne: kiedy kupujesz telefon z Androidem od operatora, nie masz dostępu do roota. Czy po uruchomieniu telefonu oznacza to, że używane jest konto „użytkownika” (jak mam na Linux / Mac, „/ home / ja”)? Czy w telefonach z Androidem występuje „/ home / yourself” lub podobny?

Jeśli „zrootuję” telefon, czy będę go uruchamiał jako root po włączeniu? Czy wszystkie aplikacje będą teraz działać jako root? Czy kiedy będą próbować działać jako root, będę musiał im na to pozwolić?

Jeśli Android jest w zasadzie Linuksem, aby wykonać kopię zapasową mojego urządzenia, czy nie powinienem być w stanie połączyć się w celu zrootowania go, zrób pełny, tar -cvzf /a następnie scp gdzieś? Dlaczego miałbym mieć Nandroid i te pełne rozwiązania?

Ktoś nadal używa ciebie MS-DOS
źródło

Odpowiedzi:

56

Czy po uruchomieniu telefonu oznacza to, że używane jest konto „użytkownika” (jak mam na Linux / Mac, „/ home / ja”)? Czy w telefonach z Androidem występuje „/ home / yourself” lub podobny?

Nie. Android został zaprojektowany z myślą o systemie dla jednego użytkownika i wiele decyzji projektowych podjęto w taki sposób, że / home / ja już nie istnieje. W systemie Android możliwości wielu użytkowników jądra systemu Linux służą do zwiększenia bezpieczeństwa, uruchamiając każdą aplikację jako własny użytkownik; tym samym izolując dane każdej aplikacji od siebie.

Jeśli „zrootuję” telefon, czy będę go uruchamiał jako root po włączeniu? Czy wszystkie aplikacje będą teraz działać jako root? Czy kiedy będą próbować działać jako root, będę musiał im na to pozwolić?

Nie, nie tak We współczesnych metodach rootowania (czyli w zasadzie każdej z metod rootowania oprócz najwcześniejszych) istnieje aplikacja o nazwie „Superuser”, która służy do zarządzania aplikacjami, które mogą uzyskać dostęp do roota.

Ponieważ Android to Linux, jestem zainteresowany dostępem do terminala i niektórych narzędzi uniksowych (ssh, rsync itp.). Nie mam nic przeciwko konieczności używania klawiatury bluetooth i vi (na przykład do edycji / etc / hosts) w razie potrzeby. czy to możliwe? Czy mogę mieć terminal z wieloma narzędziami uniksowymi (wiem, że busybox jest dostępny)?

Tak, istnieje powłoka (ale nie jest to powłoka bash). Może być konieczne zainstalowanie emulatora terminali, aby uzyskać do niego dostęp (niektóre niestandardowe ROM instalują go domyślnie) lub użyć go jako zdalnej powłoki za pomocą ADB. Ponieważ nie używa bash, terminal będzie się nieco różnić od tego, co zwykłeś widzieć w zwykłych dystrybucjach Linuksa (zwłaszcza nie ma on autouzupełniania), a większość poleceń powłoki, które uważasz za „standardowe”, nie istnieje lub tylko istnieje w formie bardzo gorzkiej.

Jeśli często korzystasz z terminala, możesz zainstalować busybox i bash, aby uzyskać bardziej znane wrażenia z korzystania z terminala; możesz także zainstalować narzędzia przestrzeni użytkownika GNU, ale będziesz potrzebować dość wysokiej klasy telefonu z dużą ilością miejsca na dysku.

Krótko mówiąc, to, czego chcesz, jest możliwe; chociaż wiele narzędzi nie jest domyślnie instalowanych w pamięci ROM producenta. Samodzielne zainstalowanie wszystkich tych narzędzi zajmuje sporo czasu, najłatwiejszą i najszybszą drogą jest instalacja niestandardowej pamięci ROM, która udostępnia takie narzędzia, jak CyanogenMod.

Jeśli Android jest w zasadzie Linuksem

Android używa jądra Linux, ale nie jest to GNU / Linux i nie używa typowych programów przestrzeni użytkownika GNU. Zamiast tego używa przestrzeni użytkownika przybornika, która jest bardzo minimalistyczną przestrzenią użytkownika (nawet mniejszą niż zajęty, przybornik nawet nie ma cp, zamiast tego należy użyć cat, aby skopiować pliki). Niektóre niestandardowe ROM Androida instalują domyślnie busybox.

aby wykonać kopię zapasową mojego urządzenia, czy nie powinienem być w stanie połączyć się z rootem, zrobić pełną tar -cvzf /, a gdzieś scp? Dlaczego miałbym mieć Nandroid i te pełne rozwiązania?

co jest w zasadzie tym, co robi Nandroid (ściśle mówiąc, tworzenie kopii zapasowych Nandroid bardziej przypomina tworzenie kopii zapasowych przy użyciu dd niż tar), z wyjątkiem znacznie wygodniejszego interfejsu GUI. Większość ludzi, nawet zaawansowani użytkownicy, nie lubią pisać skomplikowanych poleceń na małej klawiaturze ani konieczności podłączania zewnętrznej klawiatury za każdym razem, gdy chcą wykonać kopię zapasową (a 99% świata ma terminalną fobię). O wiele łatwiej jest po prostu uruchomić aplikację, kliknąć przycisk i wykonać wszystkie czynności za Ciebie.

Lie Ryan
źródło
2
„99% świata ma śmiertelną fobię” - smutne, ale prawdziwe. Ale zamiast tego jestem miłośnikiem terminali. Zawsze chcę wiedzieć, jakie polecenia są wydawane za aplikacją. W końcu przetwarza moje cenne dane. Uwielbiam wydawać polecenia samodzielnie, szczególnie jako programista.
midnite
W jaki sposób producent OEM korzysta z funkcji root na nierootowanym urządzeniu?
Shloime Rosenblum