Программно, как «рутирование» устройства обеспечивает доступ? [дубликат]

С точки зрения непрофессионала можно было бы сказать: «О, у меня нет root-прав, поэтому я заблокирован, и доступ запрещен». Мне нужна программная точка зрения; рассказывая мне, как нерутированное устройство не имеет доступа ко всей файловой системе и т. д., и как корневое устройство имеет этот доступ.

Примеры:

1. Задана ли файловая система по умолчанию для запрета чтения/записи в /system, /sys, /data и т. д.?

2.Хранится ли что-то в /system или /data (например, программа, блочное устройство/файл и т. д.), запускаемое ОС без рута, что ограничивает системный доступ к нескольким задачам, которые есть у пользователей с рутом?

3. Действительно ли «некорневая» ОС по умолчанию имеет общесистемное предотвращение доступа без рута?

Потому что посмотрите на это так: чтобы «рутировать» ваше устройство, нужно что-то менять, верно? Таким образом, «программа или процесс рутирования» должна предполагать, как обойти это ограничение. Кто-нибудь здесь/может ли кто-нибудь дать ссылку на что-либо ( или объяснить это ), объясняющее этот процесс того, как процесс рутирования позволяет пользователям получить доступ, который им обычно не предоставляется по умолчанию ( программно; не подробности о шагах, которые необходимо выполнить в процессе рутирования, а не информация о том, как получить root на телефоне с точки зрения пользователя; с точки зрения разработчика ).

Лучший пример : скажем, я разработчик Android и хочу научиться создавать программу рутирования. Что мне, например, нужно знать для этого?

Продавцы хотят заработать на вас как можно больше денег; и они не хотят оказывать техническую поддержку, если вы выстрелите себе в ногу. Таким образом, обычный «пользователь» телефона не имеет полных разрешений rwx везде. Чтобы рутировать телефон, вам нужно «эксплуатировать» ошибку (дыру), оставленную производителем в вашей версии аппаратного/программного обеспечения (они имеют тенденцию постоянно их исправлять), чтобы запустить программу вашего творения с полным рутом (пользователем id 0) разрешения. Затем эта программа может использовать все остальное.
Ваш вопрос не столько о рутировании, сколько о том, как работает управление разрешениями и как монтируются разделы. Возможно, для начала вам захочется ознакомиться с нашей вики-тегом прав доступа к файлам . Это скорее общие темы для Linux, чем проблема для Android;)

Ответы (1)

Корень — термин Linux для администратора самого высокого уровня. Чтобы получить root права на свой телефон, нужно предоставить себе привилегии корневого уровня. Эти привилегии включают в себя возможность манипулировать разделами, защищенными файловыми системами. Чтобы получить root права, в Android используется эксплойт.