天天看點

android apk權限 linux,Android權限之一APK對檔案的通路控制

/data目錄權限:

drwxrwx--x system   system            2011-01-03 23:41 data

這種情況下,用ES Explorer檢視/data時,目錄為空。File("/data")對象的canRead/canWrite方法測試,不可讀不可寫檔案存在。

說明預設情況下APK的gid中沒有system。

/system目錄權限:

drwxr-xr-x root     root              2011-03-05 19:23 system

這種情況下,ES Explorer可以進入到/system目錄,File("/system")對象的canRead/canWrite方法測試,可讀不可寫檔案存在。

說明預設情況下APK的gid中有root。

對于一個目錄來說,假如該目錄的權限設定對于APK來說不可讀不可寫,用File("")對象的canRead/canWrite方法測試,不可讀不可寫檔案存在。

試驗了一下午,總結一下:

1、普通APK運作時,屬性root組,但不屬性system組。

2、對于父目錄a沒有讀寫權限但子目錄a/b有讀寫權限的的情況,直接使用File("a/b")方式可以對a/b目錄進行讀寫。

這一點兒對一些特殊場合下的APK比較有意義。比如一個系統的内置程式有一些加密資訊需要放在本地,但又不能讓其它程式和使用者能通路到。就可以對系統做一下定制,在/data下面建立一個someone檔案夾,權限為777.因為/data本身是700,是以第三方程式是無法通路到這個目錄底下的任何東西的。但對于我們的這個特殊APK來說,通過File("/data/someone")這種方式是可以通路到,并且可讀可寫的。

3、上面試驗中沒有提到的一點,我在一個APK中使用ProcessBuilder啟動一個本地程序時,本地程序和這個APK具有相同的UID和GID。

4、Android系統中所有檢視使用者ID相關的指令都被删除了。是以,上面都是猜的。

android apk權限 linux,Android權限之一APK對檔案的通路控制

繼續閱讀