13

我正在尝试将我在一个应用程序中编写的文件的访问权限授予另一个应用程序。 chgrp在 adb shell() 中不可用command 'chgrp' not found我已经安装了 BusyBox,但为了访问chgrp.

例如,我使用该命令chown app_79 file.txt并且它有效。但是当我尝试chgrp app_79 file.txt它总是返回类似chgrp: unknown group app_79

我用谷歌搜索了一堆,发现大多数 linux 系统都有一个/etc/group存储该系统组信息的文件,但它在 Android 中不存在。

4

3 回答 3

23

使用内置工具,而不是busybox,它会是

chown uid.gid filename

正如马特指出的那样,这些 id 可能必须是数字。

于 2012-07-11T21:18:21.633 回答
6

使用busybox chown uid.gid file.txt并将 UID 和 GID 指定为数字而不是名称。app_79可能对应于 ID 10079(以确保您可以重新检查它busybox ls -l -n /data/data):

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

在此处找到一些有关如何硬编码某些组 ID 的信息。我也有以前的知识/data/system/packages.list/data/system/packages.xml包含应用程序的 UID,它们都类似于 10000+x。我现在知道的是,当你 ls -l 时,x 是“app_”之后的数字。

所以,奇怪的是你可以chgrp 10079 file.txt但你不能chgrp app_79 file.txt

希望这可以帮助某人。

于 2012-07-11T21:14:27.800 回答