2015-10-08 2 views
0

J'ai une application (service) qui n'a pas d'activité. Je voudrais commencer cette application dans init.rc comme ceci:SEAndroid-Exécuter une application dans un domaine de sécurité spécifique

service secret_service /system/bin/am startservice com.my.secret.service/com.my.secret.service.SecretService 
    class late_start 
    user root 
    group root 

Si courir comme ci-dessus, ce service fonctionne dans le contexte de sécurité « platform_app ». Cependant, j'aimerais le faire dans un contexte de sécurité différent, tel que "mysecurity". J'ai déjà essayé d'utiliser le label comme ceci:

service secret_service /system/bin/am startservice com.my.secret.service/com.my.secret.service.SecretService 
    class late_start 
    user root 
    group root 
    seclabel u:r:mysecurity:s0 

Mais cela ne fonctionne pas. Est-ce que quelqu'un a une idée de comment y parvenir?

Merci.

Répondre

0

Vous devriez faire une entrée dans mac_permissions.xml, qui mappe le certificat de signature de l'application à une valeur seinfo, et une entrée correspondante dans seapp_contexts, qui associe la valeur seinfo à un domaine. En outre, si votre domaine n'est pas l'un des domaines standard, vous devez également créer le fichier d'application de type approprié (par exemple, mysecurity.te) dans external/sepolicy pour l'inclusion lors de la génération de la stratégie.