2012-07-11 33 views
11

我試圖給我寫在一個應用程序中的文件訪問另一個應用程序。 chgrp在adb shell中不可用(command 'chgrp' not found) 我已經安裝了BusyBox,但爲了訪問chgrp如何更改rooted android設備上文件的組ID?

例如,我使用命令chown app_79 file.txt,它的工作原理。 但當我嘗試chgrp app_79 file.txt它總是返回類似chgrp: unknown group app_79

我Google了一堆,發現大多數Linux系統中有一個文件/etc/group存儲該系統的組信息,但它不存在於Android系統。

回答

21

使用內置的工具,而不是busybox的,這將是

chown uid.gid filename 
這些ID必須的

可能像Matt指出的那樣是數字。

+0

ID不一定是我的數字。 'root.root'和'root.system'在我的設備上工作。 – BuvinJ 2016-06-01 21:56:24

+0

請注意,在Linux chown所有者:組文件路徑通常適用於這個句點句法。 – BuvinJ 2016-06-01 21:58:52

3

找到一些信息here關於如何對某些組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

希望這可以幫助別人。

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 
相關問題