最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 多用戶詳情

 更新時間:2021年08月31日 17:31:24   作者:給個碗  
這篇文章主要以Linux 用戶和組詳細的介紹了Android 多用戶的內(nèi)容,感興趣的小伙伴可以參考下文,希望文章能get到你的點

Android 多用戶

一、Linux 用戶和組

Linux作為一個多用戶的操作系統(tǒng),每個用戶在機器上都有一個私有空間,特別是它會擁有配額的磁盤空間,以存儲文件、接收私有的mail消息等。Linux必須保證這部分私有空間只對它的擁有者是可見的(類似于銀行賬戶,當(dāng)然只能對于儲戶自己可見啦),而且應(yīng)該確保沒有用戶可以使用系統(tǒng)應(yīng)用程序來侵犯其他用戶的私有空間(當(dāng)然也就是不能讓別人隨便來動我銀行賬戶的資金啦)。

在Linux操作系統(tǒng)中,所有的用戶都是通過唯一的用戶ID(UID->User ID)來識別的。但是如果選擇與其他用戶共享資料,共享的用戶就應(yīng)該是一個或者多個組的成員,這個用組ID(GID->group ID)來識別(幾個人出錢成立了一個小公司,這個公司名就是GID,我們的錢就是共享的資源,大家都可以使用和可見)。每個文件都可與一個確切的組相關(guān)聯(lián)。如:作為文件擁有者的用戶對該文件的讀寫權(quán)限,而組中其他用戶則只擁有讀權(quán)限,系統(tǒng)內(nèi)非組中的用戶則沒有任何權(quán)限(不可讀不可寫不可執(zhí)行)。

1、超級用戶:

在Linux系統(tǒng)中,有一個特殊的用戶->超級用戶(root),root用戶幾乎可以在Linux系統(tǒng)中做任何事情,因為OS沒有對它采取一般的防護機制,root用戶可以訪問系統(tǒng)上的每個文件,可以管理每一個正在運行的用戶程序。

2、普通用戶和超級用戶的切換

在Linux命令行輸入命令:su -,然后輸入root用戶的密碼即可切換至root用戶,但是建議一般情況下,不要隨意使用root用戶,因為root用戶操作失誤會導(dǎo)致系統(tǒng)文件丟失甚至系統(tǒng)崩潰。

在傳統(tǒng)計算機上,UID是跟隨著「人」(例如計算機的使用者或用戶)。Android里的UID是跟隨著「軟件」(例如Android應(yīng)用程序)。
由于每個應(yīng)用程序都有個UID,只有帶著此UID,才能存取該UID所涵蓋的有關(guān)資料。所以如果AP-1與AP-2的UID不同,則在預(yù)設(shè)(Default)情況下,雙方都無法讀取對方的數(shù)據(jù)。這種分而治之的方式,可以減輕黑客軟件的惡意傷害數(shù)據(jù),提升手機的安全性。
當(dāng)手機使用者(即User)下載你(即開發(fā)者)的應(yīng)用程序,在安裝(Install)時,Android就會給予一個UID。這個UID可連結(jié)到該應(yīng)用程序的 AndroidManifest.xml檔案的內(nèi)容。所以User在安裝你的應(yīng)用程序時,在屏幕上的窗口里可以檢視這個AndroidManifest.xml檔案的內(nèi)容。在檢視時,用戶會看到你對應(yīng)用程序的目的、權(quán)限等說明。當(dāng)你接受這支程序的意圖、權(quán)限說明之后,Android就安裝它,并給它一個UID。萬一在你的應(yīng)用程序執(zhí)行期間有越軌(企圖做出非權(quán)限范圍)的行為時,用戶將會得到Android的警告訊息。
有一些特殊情形下,兩支應(yīng)用程序是可以持有一樣的UID。例如,同一位開發(fā)者撰寫的應(yīng)用程序,常常需要推出新版本,這兩種版本的程序可以持有一樣的UID, 才有權(quán)限去將舊版程序所產(chǎn)生的數(shù)據(jù)拷貝轉(zhuǎn)移到新版軟件里。

Pid是進程ID,Uid是用戶ID,只是Android和計算機不一樣,計算機每個用戶都具有一個Uid,哪個用戶start的程序,這個程序的Uid就是那個用戶,而Android中每個程序都有一個Uid,默認(rèn)情況下,Android會給每個程序分配一個普通級別互不相同的 Uid,如果應(yīng)用之間要互相調(diào)用,只能是Uid相同才行,這就使得共享數(shù)據(jù)具有了一定安全性,每個軟件之間是不能隨意獲得數(shù)據(jù)的。而同一個application 只有一個Uid,所以application下的Activity之間不存在訪問權(quán)限的問題。

關(guān)于APPID UID userid,在單用戶的情況下,appid 就是Uid,在多用戶的時候通過appid 和userid 重新計算新的uid

public static int getUid(@UserIdInt int userId, @AppIdInt int appId) {
    if (MU_ENABLED) {


        return userId * PER_USER_RANGE + (appId % PER_USER_RANGE);
    } else {
        return appId;
    }
}

UserHandle包含三種概念:userid,uid,appid

  • userid:就是有多少個實際的用戶羅,例如老爸很窮,要跟兒子共用一臺手機,那可以跟手機將兩個用戶,user 0和user 1。兩個用戶的應(yīng)用和數(shù)據(jù)是獨立的。
  • uid:跟應(yīng)用進程相關(guān)。除了sharduid的應(yīng)用,每個用戶的每個應(yīng)用的uid不一樣的。用戶0的應(yīng)用的uid從一萬開始算。
  • appid:跟app相關(guān),包名相同的appid都一樣。即使是不同用戶。例如你和兒子都在這臺手機裝了微信,但這兩個微信的appid是一樣的。
appid 的范圍是
public static final int FIRST_APPLICATION_UID = 10000;
 
/**
 * Last of application-specific UIDs starting at
 * {@link #FIRST_APPLICATION_UID}.
 */
public static final int LAST_APPLICATION_UID = 19999;

對于用戶組的進程來說,似于u0_a86這樣的UID。這個UID的前一部分表示userId,后一部分表示appId(減去Process.FIRST_APPLICATION_UID的結(jié)果)。

   //uid 不能超出限制。Android 對 UID 進行了分類,應(yīng)用 APK 所在進程的 UID 從 10000 開始,
    //而系統(tǒng) APK 所在進程小于 10000

到此這篇關(guān)于Android 多用戶詳情的文章就介紹到這了,更多相關(guān)Android 多用戶內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Android自定義WaveProgressView實現(xiàn)水波紋加載需求

    Android自定義WaveProgressView實現(xiàn)水波紋加載需求

    這篇文章主要為大家詳細介紹了Android自定義WaveProgressView實現(xiàn)水波紋加載需求,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Android注解使用之ButterKnife 8.0詳解

    Android注解使用之ButterKnife 8.0詳解

    這篇文章主要為大家詳細介紹了Android注解使用之ButterKnife 8.0的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Android selinux策略文件的編譯與加載

    Android selinux策略文件的編譯與加載

    這篇文章主要為大家介紹了Android selinux策略文件的編譯與加載用法解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Android實現(xiàn)Ant Design 自定義表單組件

    Android實現(xiàn)Ant Design 自定義表單組件

    Ant Design 組件提供了Input,InputNumber,Radio,Select,uplod等表單組件,下面通過本文給大家詳細介紹Android實現(xiàn)Ant Design 自定義表單組件,需要的的朋友參考下吧
    2017-06-06
  • 詳解Flutter的路由導(dǎo)航

    詳解Flutter的路由導(dǎo)航

    這篇文章主要介紹了Flutter的路由導(dǎo)航的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Flutter,感興趣的朋友可以了解下
    2021-04-04
  • Android軟件啟動動畫及動畫結(jié)束后跳轉(zhuǎn)的實現(xiàn)方法

    Android軟件啟動動畫及動畫結(jié)束后跳轉(zhuǎn)的實現(xiàn)方法

    這篇文章主要介紹了Android軟件啟動動畫及動畫結(jié)束后跳轉(zhuǎn)的實現(xiàn)方法,實例分析了Android圖片播放及定時器的相關(guān)使用技巧,非常具有使用價值,需要的朋友可以參考下
    2015-10-10
  • Android編程實現(xiàn)禁止?fàn)顟B(tài)欄下拉的方法詳解

    Android編程實現(xiàn)禁止?fàn)顟B(tài)欄下拉的方法詳解

    這篇文章主要介紹了Android編程實現(xiàn)禁止?fàn)顟B(tài)欄下拉的方法,結(jié)合實例形式詳細分析了Android狀態(tài)欄操作相關(guān)的函數(shù)、屬性調(diào)用及權(quán)限控制設(shè)置技巧,需要的朋友可以參考下
    2017-08-08
  • android仿知乎標(biāo)題欄隨ScrollView滾動變色

    android仿知乎標(biāo)題欄隨ScrollView滾動變色

    這篇文章主要為大家詳細介紹了android仿知乎標(biāo)題欄隨ScrollView滾動變色,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Android音視頻開發(fā)之MediaExtactor使用教程

    Android音視頻開發(fā)之MediaExtactor使用教程

    MediaExtactor在Android音視頻開發(fā)中負責(zé)提取音視頻信息和數(shù)據(jù)流的功能,可以通過該類實現(xiàn)從多媒體文件中剝離得到音頻和視頻的能力。本文將詳細為大家介紹一下它的使用,感興趣的可以了解一下
    2022-04-04
  • 解決Android 沉浸式狀態(tài)欄和華為虛擬按鍵沖突問題

    解決Android 沉浸式狀態(tài)欄和華為虛擬按鍵沖突問題

    對于現(xiàn)在的 App 來說,布局頁面基本都會用到沉浸式狀態(tài)欄,單純的沉浸式狀態(tài)欄很容易解決,但是在華為手機上存在一個底部虛擬按鍵的問題,會導(dǎo)致頁面底部和頂部出現(xiàn)很大的問題,下面通過本文給大家分享Android 沉浸式狀態(tài)欄和華為虛擬按鍵沖突問題,一起看看吧
    2017-07-07

最新評論

元江| 司法| 富平县| 长春市| 方城县| 南昌县| 连州市| 太白县| 牡丹江市| 浮梁县| 华安县| 兴安盟| 肥乡县| 许昌市| 勐海县| 双辽市| 西乌珠穆沁旗| 原平市| 栾城县| 宁德市| 广平县| 水城县| 田林县| 房山区| 蕉岭县| 车致| 凭祥市| 建水县| 探索| 五指山市| 浪卡子县| 定边县| 宝清县| 盐山县| 西乡县| 武山县| 永靖县| 马边| 永清县| 曲松县| 铜梁县|