我试图将我在一个应用程序中编写的文件访问另一个应用程序。
adb shell中无法使用chgrp
(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中不存在。
答案 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
。
希望这有助于某人。