Comment changer l'identifiant de groupe d'un fichier sur un appareil Android rooté?
J'essaie de donner accès à un fichier que j'ai écrit dans une application à une autre application.
chgrp
n'est pas disponible dans la commande adb shell (command 'chgrp' not found
)
J'ai installé BusyBox, mais dans le but d'obtenir l'accès à chgrp
.
Par exemple j'utilise la commande chown app_79 file.txt
et il fonctionne.
Mais quand j'essaie chgrp app_79 file.txt
elle renvoie toujours à quelque chose comme chgrp: unknown group app_79
J'ai Googlé un tas et a constaté que la plupart des systèmes linux ont un fichier /etc/group
qui stocke les informations de groupe pour ce système, mais il n'est pas présent dans Android.
source d'informationauteur Matt
Vous devez vous connecter pour publier un commentaire.
À l'aide de la builtin outils, plutôt que de busybox, il serait
Probablement avec ces id d'avoir à être numérique comme Matt l'a souligné.
Utilisation
busybox chown uid.gid file.txt
et spécifier les UID et GID comme des nombres à la place des noms.app_79
probablement correspond ID 10079 (pour être sûr que vous pouvez enregistrer avecbusybox ls -l -n /data/data
):Trouvé quelques informations ici au sujet de la façon dont certains identifiants de groupe sont codés en dur. J'ai également eu une connaissance préalable de ces
/data/system/packages.list
et/data/system/packages.xml
contenait les Uid des applications, qui sont tous à quelque chose comme 10000+x. Ce que je sais maintenant, c'est que x est le nombre qui vient après "app_" lorsque vous ls-l.Donc, la chose étrange est que vous pouvez
chgrp 10079 file.txt
mais vous ne pouvez paschgrp app_79 file.txt
.Espère que cela aide quelqu'un.