Android 可以像 Linux 或 Mac 那樣輸入 Root 密碼才能執行重要操作么?
01-23
我不了解安卓,所以想問一下:
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系統是什麼體驗?