Android中的UID GID與應用安全

2021-06-26 12:32:45 字數 1131 閱讀 7827

2012-02-14 13:10:36

|  分類:

android技術筆記|舉報

|字型大小訂閱

android系統是基於linux核心的,也繼承了linux的基於使用者和檔案許可權的安全機制,並將這種機制用於管理應用程式。

linux系統對使用者的管理:linux系統可以有多個使用者,每個使用者都有乙個使用者名稱:username,同時擁有乙個userid,兩者是一一對應的。每個使用者可以屬於乙個或者多個組。

linux系統的檔案許可權機制:

每個檔案都是屬於某個使用者的,這個使用者稱作檔案的所有者。檔案對於所有者、所有者所在組的使用者、以及其它任意使用者分別開放了不同的操作許可權,操作許可權分為:讀、寫、執行三種。只有獲得了檔案操作許可權的應用才能對檔案做相應的操作。

這就保護了檔案的安全性,保證

使用者對自己不具備許可權的檔案是不能進行操作。但是,這種機制太過於機械,有時候需要一定的靈活性,所以就出現了超級使用者:root,使用者root對所有的檔案擁有所有許可權。-----我的理解:這是一種對靜態檔案進行保護的安全機制,即檔案對使用者開放的許可權,是指這個檔案被操作的許可權。

進一步的解釋:所謂某使用者對檔案具有操作許可權。除了在控制台中,直接以使用者設分手動進行操作,大多數情況下,所謂使用者的操作,就是指使用者所執行的程序的操作。以某使用者身份執行某個程序時,預設地這個程序所擁有的許可權,就是使用者的許可權。當使用者對某個檔案擁有讀許可權時,這個程序就可以讀這個檔案;當使用者對某個檔案擁有寫許可權時,這個程序就可以對這個檔案進行改寫;當使用者對某個目錄有些許可權時,該程序就可以在目錄中建立檔案,所建立的檔案的歸該使用者所有。----這時候,這個程序的許可權,是主動許可權,即程序主動對某些檔案進行操作的許可權。

使用者執行的程序預設的只能擁有使用者的操作許可權,而不管這個程序對應的程式檔案本身有什麼許可權。

這太死板。有時候,某些程序需要臨時進行一些root使用者才有許可權執行的操作。為了滿足這種需求,就出現了下面的兩個許可權:

另外,還有兩個很特殊的許可權,不是對檔案進行描述的,而是對檔案執行時的程序進行規定的許可權,分別對應為setuid和setgid。擁有這兩個許可權的檔案,在執行時,其runner會獲得root許可權。

android,在應用安裝成功後,就為其指定了乙個系統中唯一的username,對應著系統中唯一的uid。這個username和uid實際上就是傳統上的linux的username和uid。

修改Linux使用者的UID GID

對於nfs共享檔案,保留檔案許可權,需要uid gid與nfs server端一致!試驗環境 centos6.5 64 172.24.0.26 01 使用者的uid和gid不能被占用 root 26 id mvp uid 501 mvp gid 501 mvp groups 501 mvp 假定我需...

linux 檢視使用者的uid,gid

1.可以通過檢視 etc passwd檔案來確定自己的 uid和 gid cat etc passwd grep 你的使用者名稱例子 lan lan 桌面 檔案和目錄 cat etc passwd grep lan lan x 1000 1000 lan,home lan bin bash其中x後面...

修改Linux使用者的UID GID

對於nfs共享檔案,保留檔案許可權,需要uid gid與nfs server端一致!試驗環境 centos6.5 64 172.24.0.26 01 使用者的uid和gid不能被占用 root 26 id mvp uid 501 mvp gid 501 mvp groups 501 mvp 假定我需...