如何在rooted android设备上更改文件的组ID?

时间:2012-07-11 20:17:57

标签: android root

我试图将我在一个应用程序中编写的文件访问另一个应用程序。 adb shell中无法使用chgrpcommand 'chgrp' not found) 我已经安装了BusyBox但是为了访问chgrp

例如,我使用命令chown app_79 file.txt并且它可以工作。 但是,当我尝试chgrp app_79 file.txt时,它总会返回chgrp: unknown group app_79

之类的内容

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

3 个答案:

答案 0 :(得分:22)

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

chown uid.gid filename

正如Matt指出的那样,这些id必须是数字。

答案 1 :(得分:6)

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

busybox chown 10079.10079 file.txt

答案 2 :(得分:4)

找到一些有关如何对某些组ID进行硬编码的信息here。我之前也知道/data/system/packages.list/data/system/packages.xml包含应用程序的UID,这些都是10000 + x。我现在知道的是x是你在ll -l之后出现在“app_”之后的数字。

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

希望这有助于某人。