2016-11-03 2 views
0

Je suis sur un android, en utilisant adb shell pour résoudre un problème que mon application a avec le système de fichiers. Je rencontre une erreur d'autorisations lors de l'utilisation de tinyalsa, donc je souhaite enquêter sur les répertoires impliqués.erreur «autorisation refusée» malgré avoir toutes les autorisations de système de fichiers nécessaires

cannot open device '/dev/snd/pcmC1D0c': Permission denied 

Si je su puis stat chaque élément dans le chemin, la coquille me dit les autorisations suivantes:

/   (755/drwxr-xr-x) 
/dev/  (755/drwxr-xr-x) 
/dev/snd/ (755/drwxr-xr-x) 

Si je tente de stat /dev/snd sans su, cependant, je reçois Permission denied.

Pourquoi cela serait-il? J'ai même essayé su -c 'chmod -R a+rx /dev/snd', mais cela ne fait aucune différence.

Répondre

0

Je ne connais pas beaucoup dans ce domaine, mais il semble que SELinux interfère. Si vous désactivez:

# In a "su" adb shell 
printf 0 > /sys/fs/selinux/enforce 

... vous pouvez découvrir les autorisations que vous voyez lorsque vous exécutez stat en tant que root.

Cela peut ne pas être la solution optimale, mais cela vous permettra d'effectuer les actions nécessaires. Je recommande de lire sur SELinux si vous développez pour autre chose qu'une base d'utilisateurs très exclusive.