標籤:

Android 可以像 Linux 或 Mac 那樣輸入 Root 密碼才能執行重要操作么?

我不了解安卓,所以想問一下:

android不root很多功能不能用,也就沒太大意義了

root後又很不安全,因為所有應用都用root許可權,不知道android里有沒有selinux機制限制

那麼有沒有像linux或mac那樣應用通過輸入root密碼才能執行關鍵操作的辦法呢?


Android在這方面確實很混亂,以下只討論開啟Enforcing模式seAndroid(ASOP從4.4開始默認設置)。

root後又很不安全,因為所有應用都用root許可權

並不是,所有應用還是以普通用戶許可權運行的,而且每個應用都是一個獨立用戶

但是root了之後,應用可以通過調用su獲得root許可權。

再但是,現在基本所有的root manager都有許可權管理的功能,比如SuperSU,它帶的su在調用時候會給SuperSU的應用發消息。界面上看到的效果就是一個應用用到了root許可權時候,會彈出來是否允許。比如這樣:

個人感覺這個這個和輸入密碼是一樣的。

android里有沒有selinux機制限制

有,限制非常嚴格。以至於現在的root manager都默認直接繞過SELinux,給你所有許可權。

開啟了SELinux之後,像傳統的Linux和老版本Android那種,放一個su,然後設置一下s位的方法基本無效了。因為這樣即使是拿到root用戶的許可權,你的SELinux context還是以前那個,大部分東西仍然無法訪問。

所以現在的root manager並不是放了一個su,而是添加了一個daemon,用su時候不僅給了你root用戶的許可權,還給了你所有的context。


可以。

但是需要你的 root manager 支持。我記得某個的付費版本就能設置PIN。

直接改sudo的執行文件換成需要輸密碼的版本會導致 root manager 不工作。

這和SELinux沒什麼關係。


推薦閱讀:

怎麼樣評價手機評測zealer 科技美學 吳陽 以及大米評測?
為什麼安卓機沒有用 lumia 風格的外觀設計?
Nokia 6來了,小白入手安卓原生系統手機應該知道些什麼?
未來觸屏機的發展趨勢怎麼樣?非觸屏機又會被邊緣化到什麼程度?
用meego系統是什麼體驗?

TAG:Linux | Android |