簡體   English   中英

android權限vs linux權限

[英]android permissions vs linux permissions

Android權限(您在清單中請求並在安裝時顯示的權限)與root用戶在root用戶手機上獲得的linux權限相同嗎?

更確切地說:如果我在手機上有root並且我有一個應用程序可以打電話但是沒有在清單中請求權限,那么呼叫會成功還是應用程序會崩潰?

謝謝。

某些Android權限是作為Linux權限實現的(例如,外部存儲或網絡各自賦予允許執行這些操作的Unix組的成員資格),而其他權限則完全在Android層中實現。

“Root”與此毫無關系,因為對於Android應用程序(可以訪問各種Android級服務)的主流程來說,以root身份運行幾乎是聞所未聞。 相反,當人們在他們的設備上安裝root hacks時,他們正在做的是添加一個可以讓幫助程序以root身份運行的墊片 - 而不是應用程序本身。 如果幫助程序想要做的是基於Linux API,並且受Linux權限限制,那么這可能有效,只要它是傳統的基於用戶/組的強制執行,而不是被SELinux強制阻止(為了解決這個問題,一些黑客從一個守護進程啟動助手,該守護進程在SELinux完全激活之前在啟動時就已經初始化了。

但是對於必須通過Android API完成的事情,root可能幾乎無關緊要,因為通常執行任務的代碼不會以root身份運行。 通過啟動不同的VM實例來與Android API交互的一些命令行工具可能在那里具有增強的權限 - 但這與嘗試在應用程序的進程中執行相同的操作非常不同。

人們有時也利用root訪問權限將他們的.apk放在系統分區上(如果他們可以掛載它可寫),這允許授予一些清單權限,如果在安裝時在同一個.apk的清單中找到它將被忽略。數據分區的正常方式。

root root手機不會影響Android權限。 換句話說,如果某個應用程序執行需要某些權限的“某事”,並且該應用程序未在AndroidManifest中聲明它們,則該應用程序將崩潰。

更多文檔

該應用程序會崩潰。 有趣的是,你在“androidmanifest”中聲明的權限實際上是在原生的android框架中實現的,主要是java框架層和一些關於這種框架的cpp本機實現。 您可以通過查看Android OpenSource項目代碼來證實這一點。 這些權限實際上是在Android上實現的不同安全策略層,android的有趣之處在於,ti繼承了許多基於Linux的權限,一個例子是使用用戶,andrd用戶組權限封裝正在運行的應用程序(每個正在運行的應用程序都有不同的組和用戶),並且從android 5開始,SELinux也被啟用。

可以公平地說,所有這些機制共同起作用,以加強整個Android的安全性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM