Android 是架構在 Linux 之上,使用 java 去實作的系統,所以它的檔案系統就是 linux 的檔案系統,要更動就必須要有最高權限 root,所以彷間才會有很多破解 root 的手機,這些原因都是根源於此,如果我們想要修改我們的手機,把廠商植入的一些莫明其妙的服務拿掉,就需要來了解一下 Android 的檔案權限。
先來看看系統 apk 都在哪
# cd system/app
cd system/app
# ls -l
ls -l
-rw-r--r-- root root 120554 2012-12-20 10:28 CalendarProvider.apk
-rw-r--r-- root root 761891 2012-12-20 10:24 Email.apk
-rw-r--r-- root root 52291 2012-12-20 10:24 MediaProvider.apk
-rw-r--r-- root root 20544 2012-12-20 10:28 StorageMgr.apk
-rw-r--r-- root root 70488 2012-12-20 10:25 Calculator.apk
-rw-r--r-- root root 5475 2012-12-20 10:24 ScrCapService.apk
-rw-r--r-- root root 34586 2012-12-20 10:24 HomeLocation.apk
-rw-r--r-- root root 115089 2012-12-20 10:29 SystemUpdate.apk
...
就放在 /system/app 之中,各位可以看到,擁有者是 root,如果您想刪掉某個廠商植入的東東,那就進到這裡後,下個移除指令即可。
# rm DeviceRegister.apk
rm DeviceRegister.apk
當然,您必須先取得 root 權限。
開始我們的主題,檔案權限
我們可以看到,每個檔案前面都有 -rw-r--r-- root root ....
-rw-r--r-- 是檔案型態(File Type)+3組權限(rwx)組合,擁有人、群組、其他
第一個位元是 File Type,- 代表是檔案
d 是目錄;
- 是檔案;
l 為連結檔 (link file);
b 表示為裝置檔裡面的可供儲存的周邊設備,例如硬碟;
c 表示為裝置檔裡面的序列埠設備,例如鍵盤、滑鼠。
接著是3組權限(rwx)組合
r 代表可讀
w 代表可寫
x 代表可執行
- 代表無權限
上例中
第一組是 rw- ,代表擁有人權限是讀+寫+不可執行
第二組是 r-- ,代表群組權限是讀+不可寫+不可執行
第三組是 r-- ,代表其他權限是讀+不可寫+不可執行
rw-r--r-- 對應數值為 644, 如下表所示
r w x
-----------
0 0 0 = 0
0 0 1 = 1
0 1 0 = 2
0 1 1 = 3
1 0 0 = 4
1 0 1 = 5
1 1 0 = 6
1 1 1 = 7
由右向左,第一個x是2^0,第二個w是2^1,第三個r是2^2
所以,對應值就是 r=4,w=2,x=1
然後看有什麼權限,就把它加起來就是權限值了。
如 755 = 111 101 101 = rwx r-x r-x
同理 sdcard 的權限是 rwxrwxrwx = 111 111 111 = 777
/system 的權限是 rwxr-xr-x = 111 101 101 = 755
/system/media 的權限是 rwxr-xr-x = 111 101 101 = 755
開機畫面 bootanimation.zip 的權限是 rw-r--r-- = 110 100 100 = 644
# ls -l /system/media
ls -l /system/media
-rw-r--r-- root root 843308 2012-12-17 12:35 boot.wav < 開機音樂
-rw-r--r-- root root 543788 2012-12-17 12:35 shutdown.wav < 關機音樂
drwxr-xr-x root root 2013-06-16 21:06 audio
-rw-r--r-- root root 415635 2012-12-17 12:35 shutdownanimation.zip < 關機動畫
-rw-rw-rw- root root 4995540 2013-06-17 01:10 bootanimation.zip < 開機動畫
bootanimation.zip 格式
在裡頭有一個檔 desc.txt是用來設定撥放的一些參數
以我的為例
320 480 30
p 1 0 part0
p 0 0 part1
圖片是 320*480 每秒 30 幅
第一回合 播放1次 間隔0幅 圖檔目錄part0
第二回合 播放無限次 間隔0幅 圖檔目錄part1
請注意:bootanimation.zip 千萬不要壓縮
參考資料
http://linux.vbird.org/linux_basic/0410accountmanager.php
http://www.cyut.edu.tw/~dywang/linuxSystem/node26.html
http://web.nchu.edu.tw/~jlu/cyut/android/animation.shtml
沒有留言:
張貼留言
請提供您的寶貴意見 ;-)