Я думаю, что разрешения Android — это своего рода механизм DAC, потому что разрешения сопоставляются с идентификатором группы в ядре Linux. SEAndroid — это механизм MAC. И проверка MAC происходит после проверки DAC.
Но я не понимаю отношения между ними. Как они сотрудничают, чтобы проверить, разрешено или запрещено одно действие в приложении?
И я хочу знать, как действие CHECK реализовано в исходном коде (проверка разрешений и проверка политики SEAndroid). Но я не могу найти соответствующий исходный код в ядре Android и Linux.
В документе Security Enhanced (SE) Android: внедрение гибкого MAC-адреса в Android говорится, что
Для обычных установок сторонних приложений установка приложения прерывается, если политика отказывает в одном из запрошенных разрешений.
Я также хочу знать подробную реализацию из исходного кода. Но я не знаю, где это.
Кто-нибудь, знакомый с ядром Android и Linux, может мне помочь?