Усунення деяких загадок суперкористувача
Читаючи в Інтернеті минулого тижня, я помітив кілька прекрасних публікацій, в яких допускається помилка, яку роблять занадто багато людей - стверджуючи, що рутування вашого телефону, планшета або планшета на Android (ми не можемо забути годинник) зробить роботу краще.
Це пастка, в яку потрапляє занадто багато людей, тому що наявність суперкористувального доступу (root) на будь-якому комп'ютері під керуванням Linux може дозволити вам робити речі, які роблять ваш пристрій кращим. Це також може дозволити вам робити речі, які погіршують роботу пристрою, або навіть ламати все і залишати вас з купою міді і кремнію, які більше ніколи нічого не зроблять. Стара приказка «з великою силою приходить велика відповідальність» дійсно вірна.
Але сама по собі наявність прав суперкористувача нічого не дає.
Всі файли
У будь-якій операційній системі на основі Unix, будь то Ubuntu, Android або навіть OS X, ви можете сміливо стверджувати, що все є файлом. Коли ви підключаєте флеш-накопичувач до USB-порту, один файл читається, а інший файл створюється або заповнюється. Коли ви змінюєте гучність звуку, що виходить на ваші динаміки, ви змінюєте файл, який читається, щоб повідомити звуковому серверу, наскільки гучним повинен бути звук. Це йде ще глибше в операційній системі. Якщо ви хочете дізнатися, скільки батареї залишилося, ви читаєте файл, в який ядро записало значення. Якщо ви хочете змінити процесор керування, ви знадобилися, ви записуєте нове значення у файл.
Ви можете переконатися в цьому прямо на своєму Android. Відкрийте сеанс ADB і подивіться/proc або/sys. Це набір «інструкцій», які читає і записує ядро порожній з інформацією про вашу батарею, ваш процесор і всілякі непорозуміння, які відбуваються за лаштунками, коли ваш Android працює і працює. І якщо ми зможемо маніпулювати цими файлами і папками, ми можемо щось змінити.
Root - користувач з правами на злом
Оскільки всі є файлом, можливість створювати, видаляти або змінювати ці файли може істотно вплинути практично на все у вашому Android. Дозвіл користувачеві змінювати будь-які файли, які йому не належать, ніколи не є хорошою ідеєю, тому Android використовує дозволи, щоб вирішити, хто і що може робити. Ні, не так, як дозволи, які ви надаєте при встановленні програми. Ми говоримо про дозвіл на читання, запис або виконання файлу в системі.
Можливо, ви купили свій телефон, але ви не є власником системних файлів і тек. Вони належать системі, і ваші «речі» знаходяться в іншому місці, де вам дозволено з цим возитися. Користувачеві системи також дозволяється обходити себе, тому що йому, можливо, доведеться вносити корективи в речі, які належать вам, тому що вони зберігаються у вільному для них просторі. Ось як працюють дозволи на основі Unix. Ваш простір дає вам дозвіл робити що завгодно, а іншим користувачам - робити все це. У просторі, який вам не належить, ви можете тільки дивитися, поки користувач системи може робити все це, тому що це його простір.
Ось де приходить користувач root. Він може робити що завгодно з будь-яким файлом або будь-якою текою на вашому Android. Або ваша стільниця Linux. Або твій iMac. Ніде root не має повних прав на читання, запис і виконання. Root дозволено вилучати ваші файли. Root може сказати, що ваша наполовину розряджена батарея дійсно повністю заряджена, якщо брехати і вводити будь-яке значення в цьому файлі. Root дозволяє вказувати процесору ніколи не спати або ніколи не прокидатися або працювати з будь-якою швидкістю і напругою, підтримуваними ядром. Root може виконувати звичайні завдання, які всі розуміють, а також дійсно технічні речі, які являють собою просто набір шістнадцяткових чисел, коли ми намагаємося подивитися і подивитися, що він робить.
Іншими словами, root дозволяє робити речі, які покращують роботу вашого Android, і робити те, що погіршує роботу вашого Android.
Те, що root не може зробити, це змусити будь-яку з цих речей статися самостійно. Рутинг вашого телефону просто говорить про те, що тепер є користувач, якому дозволено робити речі, які звичайні користувачі не можуть робити. Вам потрібно або вводити команди, поки ви дієте як користувач root (через термінальну програму або інтерфейс ADB), або встановлювати програми або сценарії, які автоматизують роботу і можуть запускати команди через певні проміжки часу або через графічний інтерфейс. Якщо ви використовуєте Root Explorer для маніпулювання з системними файлами, ви просто надсилаєте файлові команди як root, коли натискаєте кнопки. Це здається чарівництвом, тому що вам не потрібно було робити нічого складніше, ніж встановлювати додаток з Google Play.
Безпековий фактор
Ніщо так не змушує мене з'їжуватися, як коли хтось просить додаток для рутингу свого телефону, тому що вони не розуміють всього цього SDK і ADB. Це ті користувачі, яких погані хлопці просто бісять, тому що їм потрібні люди, які просто клацають, щоб вкрасти пароль вашого банку. І їх там багато.
Оскільки всі є файлом, і root може робити що завгодно з будь-яким файлом в будь-якому місці на вашому Android, просто отримати конфіденційну інформацію з безпечної області і помістити її куди-небудь, щоб її можна було відправити назад на будь-який сервер в іншій частині світу., Все, що вам потрібно зробити, це сказати, щоб це сталося, і приховати команди, щоб це сталося в грі, яку ви піратували з blackdroid, дійсно легко.
Коли ви купуєте новий Android, root не включений для вашого ж блага. Я займаюся цим на Unix вже більше 20 років, і я все ще облажався. Ви облажаєтеся, якщо є шанс. Ми всі облажаємося, тому що це так легко облажатися. Що не так просто виправити все це. Тому що люди, які створюють ці Android, не будуть поставляти програмне забезпечення, щоб перезавантажувати речі до заводського стану - найкраще в програмі Google Nexus - ви не можете просто плакати дядька і завантажувати все заново, коли ви облажаєтеся і у вас є пристрій, який не працює або працює нормально, але небезпечно, і ви ділитеся подробицями свого життя з якимось хлопцем з Естонії або Орегона.
Нам це не потрібно, і ми можемо зробити все, що в наших силах, щоб скасувати ці запобіжні заходи, але у вашому телефоні немає рута, оскільки вам не можна довіряти за допомогою root. Пам'ятайте, що такі люди, як HTC або Verizon, не мають ні найменшого уявлення про те, чи є ви обережним користувачем або тим, хто задоволений кліком. З нами всі поводяться так, ніби ми щасливі за клік. Спасибі, Обама.
Серединний шлях (і, на мій погляд, найкращий спосіб) - це коли ви можете розблокувати завантажувач на своєму телефоні - після попереджень про те, що коли ви все зіпсували, вам не пощастило - і встановити будь-яку прошивку, яка вам подобається. Ось як пристрої Nexus і так звані версії для розробників поставляються з заводу. Ви можете зламати його, якщо хочете, і виробник не буде намагатися зупинити вас - або вас не хвилює, коли ви його зламаєте. Я також думаю, що маркер розблокування завантажувача повинен бути наданий, коли ваш пристрій повністю оплачений, але це вже інша стаття.
Знання того, як це працює, дуже важливо. Не тільки для того, щоб не зламати ваш новий телефон за 600 доларів, але і для того, щоб залишатися в безпеці, поки ви ним користуєтеся. Найголовніше, майте на увазі, що рутування вашого телефону тільки дає вам дозвіл зробити щось дурне і ніколи нічого не робить само по собі.