Собственный контроль разрешений Android - PullRequest
1 голос
/ 22 июня 2011

Хорошо, я искал что-то вроде ответа здесь . Единственная проблема в том, что я смотрел на этот код вилки zygote , но я понятия не имею, что происходит. Я пытаюсь выяснить, где именно применяются права для вызовов собственных методов в Android. Более того, я хочу знать, как ядро ​​Linux обеспечивает разрешения. Нечто подобное enforcePermission(), которое я видел в некоторых исходных текстах Android, за исключением того, что я хочу знать, где он находится на уровне ядра. Если кто-то может указать мне какое-то направление или понять, что делает этот код Zygote, я был бы очень благодарен.

Если это не имеет смысла, возможно, это потому, что я идиот или что-то в этом роде.

Спасибо!

1 Ответ

2 голосов
/ 22 июня 2011

То, что говорится в этом посте (что верно), заключается в том, что нет специального вызова enforcePermission() в стиле нативного кода: каждое предоставленное разрешение эффективно преобразуется в конкретный дополнительный идентификатор группы. Индивидуальные проверки разрешений выполняются либо с использованием стандартной модели разрешений / возможностей Linux, с использованием определенного кода в подпрограммах IPC (например, когда вы привязываетесь к определенным службам, службы могут проверять членство вызывающих процессов в соответствующей группе), либо с помощью специальных исправлений ядро / библиотеки (например, сетевое разрешение объясняется здесь ).

...