13

あるアプリで書き込んだファイルへのアクセスを別のアプリに許可しようとしています。 chgrpは adb シェル ( command 'chgrp' not found) では使用できません。BusyBox をインストールしましたが、 にアクセスするためchgrpです。

たとえば、コマンドを使用するchown app_79 file.txtと機能します。しかし、私が試しchgrp app_79 file.txtてみると、常に次のようなものが返されますchgrp: unknown group app_79

Google で調べたところ、ほとんどの Linux システムには/etc/groupそのシステムのグループ情報を格納するファイルがあることがわかりましたが、Android には存在しません。

4

3 に答える 3

23

busybox ではなく組み込みツールを使用すると、次のようになります。

chown uid.gid filename

Matt が指摘したように、おそらくこれらの ID は数値でなければなりません。

于 2012-07-11T21:18:21.633 に答える
6

busybox chown uid.gid file.txt名前の代わりに UID と GID を数値として使用および指定します。ID 10079 に対応app_79している可能性があります (必ず で再確認してください):busybox ls -l -n /data/data

busybox chown 10079.10079 file.txt
于 2012-07-11T21:16:24.190 に答える
4

一部のグループ ID がどのようにハードコーディングされているかについて、ここでいくつかの情報を見つけました。また、アプリの UID がすべて 10000+x のようなものであるという以前の知識も/data/system/packages.listありました。/data/system/packages.xml私が今知っていることは、x は ls -l のときに "app_" の後に来る数字だということです。

だから、奇妙なことは、できるのchgrp 10079 file.txtにできないということchgrp app_79 file.txtです。

これが誰かに役立つことを願っています。

于 2012-07-11T21:14:27.800 に答える