回覆列表
  • 1 # 使用者1148744882014

    根據使用者的使用過程體驗,可以將Android涉及的許可權大致分為如下三類:

    (1)Android手機所有者許可權:自使用者購買Android手機後,使用者不需要輸入任何密碼,就具有安裝一般應用軟體、使用應用程式等的許可權;

    (2)Androidroot許可權:該許可權為Android系統的最高許可權,可以對所有系統中檔案、資料進行任意操作。出廠時預設沒有該許可權,需要使用z4Root等軟體進行獲取,然而,並不鼓勵進行此操作,因為可能由此使使用者失去手機原廠保修的權益。同樣,如果將Android手機進行root許可權提升,則此後使用者不需要輸入任何密碼,都將能以Androidroot許可權來使用手機。

    (3)Android應用程式許可權:Android提供了豐富的SDK(Softwaredevelopmentkit),開發人員可以根據其開發Android中的應用程式。而應用程式對Android系統資源的訪問需要有相應的訪問許可權,這個許可權就稱為Android應用程式許可權,它在應用程式設計時設定,在Android系統中初次安裝時即生效。值得注意的是:如果應用程式設計的許可權大於Android手機所有者許可權,則該應用程式無法執行。如:沒有獲取Androidroot許可權的手機無法執行RootExplorer,因為執行該應用程式需要Androidroot許可權。

    Android系統許可權定義

    Android系統在/system/core/private/android_filesystem_config.h標頭檔案中對Android使用者/使用者組作了如下定義,且許可權均基於該使用者/使用者組設定。

    值得注意的是:每個應用程式在安裝到Android系統後,系統都會為其分配一個使用者ID,如app_4、app_11等。以下是Calendar和Terminal軟體在Android系統中程序瀏覽的結果(其中,黑色字型標明的即為應用分配的使用者ID):

    在Android系統中,上述使用者/使用者組對檔案的訪問遵循Linux系統的訪問控制原則,即根據長度為10個字元的許可權控制符來決定使用者/使用者組對檔案的訪問許可權。該控制符的格式遵循下列規則:

    第1個字元:表示一種特殊的檔案型別。其中字元可為d(表示該檔案是一個目錄)、b(表示該檔案是一個系統裝置,使用塊輸入/輸出與外界互動,通常為一個磁碟)、c(表示該檔案是一個系統裝置,使用連續的字元輸入/輸出與外界互動,如串列埠和聲音裝置),“.”表示該檔案是一個普通檔案,沒有特殊屬性。

    2~4個字元:用來確定檔案的使用者(user)許可權;

    5~7個字元:用來確定檔案的組(group)許可權;

    8~10個字元:用來確定檔案的其它使用者(otheruser,既不是檔案所有者,也不是組成員的使用者)的許可權。

    第2、5、8個字元是用來控制檔案的讀許可權的,該位字元為r表示允許使用者、組成員或其它人可從該檔案中讀取資料。短線“-”則表示不允許該成員讀取資料。

    第3、6、9位的字元控制檔案的寫許可權,該位若為w表示允許寫,若為“-”表示不允許寫。

    第4、7、10位的字元用來控制檔案的製造許可權,該位若為x表示允許執行,若為“-”表示不允許執行。

    舉個例子,“drwxrwxr--2rootroot40962月1110:36lu”表示的訪問控制權限(黑色字型標明)為:因為lu的第1個位置的字元是d,所以由此知道lu是一個目錄。第2至4位置上的屬性是rwx,表示使用者root擁有許可權列表顯示lu中所有的檔案、建立新檔案或者刪除lu中現有的檔案,或者將lu作為當前工作目錄。第5至7個位置上的許可權是rwx,表示root組的成員擁有和root一樣的許可權。第8至10位上的許可權僅是r--,表示不是root的使用者及不屬於root組的成員只有對lu目錄列表的許可權。這些使用者不能建立或者刪除lu中的檔案、執行junk中的可執行檔案,或者將junk作為他們的當前工作目錄。

    Android應用程式許可權申請

    每個應用程式的APK包裡面都包含有一個AndroidMainifest.xml檔案,該檔案除了羅列應用程式執行時庫、執行依賴關係等之外,還會詳細地羅列出該應用程式所需的系統訪問。程式設計師在進行應用軟體開發時,需要透過設定該檔案的uses-permission欄位來顯式地向Android系統申請訪問許可權。

  • 中秋節和大豐收的關聯?
  • 強字開頭的詩句有哪些?