почему sudo работает на 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(или любое другое приложение). В противном случае он будет установлен как «стандартный» пользователь и не будет иметь root-прав.

Что касается второго вопроса, после sudoустановки на рутированный телефон, по моему опыту, приложения, которым он нужен, просто запрашивают его, и вы получаете всплывающее окно.

Аарон Д. Мараско
источник
5

Вы затрагиваете критическую точку в своем вопросе: типичная установка Linux - это рутинг: вы загружаетесь с Live CD и перезаписываете загрузочный сектор жесткого диска, чтобы загрузить свой собственный код.

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

И ОС на устройстве Android просто не поставляется с установленной sudoкомандой (или подобной).

чокнутый урод
источник