чому судо працює на Linux, але не на Android?


22

У мене не було можливості прочитати достатньо про Android , Linux або UNIX, щоб відповісти на це сам. sudoпрацює на машині Linux, але не працює на Android, якщо ви не викорінюєте мобільний пристрій (наприклад, Samsung GT-N8013). Чому мобільний пристрій потребує вкорінення, але не типова установка Linux?


Контекст мого запитання пов'язаний з /programming/14019698/adb-shell-sudo-on-windows-7/14019726#14019726

(Також, чи є програма, яка може попросити запустити програму, як rootна Android, так само, як у вас є ескалація привілеїв, щоб "запуститись як адміністратор" в Windows? Якщо ви вважаєте, що це питання має бути власною темою, я можу створити один)


Це має бути в sudoersсписку, щоб отримати sudo. Його немає в Android Ubuntu
user3539

Відповіді:


20

sudoце звичайне застосування з бітом suid. Це означає, що для sudoйого використання необхідно встановити в системі. Не всі системи Linux sudoвстановлені за замовчуванням, як, наприклад, Debian.

Більшість Android-систем орієнтовані на кінцевих користувачів, яким не потрібно знати внутрішніх систем Android (тобто кожен додаток Android працює під власним користувачем), тому немає необхідності в наданні інтерактивного способу, щоб ендузер запускав команду як систему адміністратор.

Як правило, ви можете використовувати suзамість того, sudoщоб запускати команду як іншого користувача, але ви повинні знати облікові дані для цільового користувача для su(оскільки sudoви повинні знати облікові дані користувача, який виконує команду)


9

sudoне є універсальним . Тільки тому, що він існує у конкретному дистрибутиві Linux, який ви використовуєте, не означає, що він доступний для всіх ОС, які також використовують ядро ​​Linux.


8

Щоб rootвстановити користувача sudo(або будь-який інший додаток), телефон повинен бути вкорінений . В іншому випадку він буде встановлений як "стандартний" користувач і не матиме кореневого доступу.

Що стосується другого питання, як тільки sudoвін встановлений на вкоріненому телефоні, на мій досвід, додатки, які йому потрібні, просто вимагають його, і ви отримуєте підкачку.


5

Ви торкаєтесь критичного питання у вашому запитанні: типовий Linux встановлює IS вкорінення: ви завантажуєтеся з Live CD і перезаписуєте завантажувач із жорсткого диска, щоб завантажити власний код.

Просто вкорінення ПК менш складне, ніж на напів вбудованому пристрої, як телефон, так що люди, як правило, забувають, що встановлення другої ОС з подвійним завантаженням - це, по суті, вкорінення (єдине, що боротиметься з вами в цьому, - це BIOS з безпечне завантаження, але його можна легко скинути).

А ОС на пристрої Android просто не поставляється із встановленою sudoкомандою (або подібною).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.