簡體   English   中英

SElinux Android消息解讀

[英]SElinux Android message interpretation

我無法理解我在我的 android 應用程序上收到的這條消息。 家里有高手嗎?

type=1400 audit(0.0:2233): avc: denied { create } for name="access_control.new_commit.cv" scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:fuse:s0:c512,c768 tclass=fifo_file permissive=0

給定的 SELinux 違規:

type=1400 audit(0.0:2233): avc: denied { create } for name="access_control.new_commit.cv" scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:fuse:s0:c512,c768 tclass=fifo_file permissive=0

下面我將嘗試對上述違規的重要部分進行解釋:

denied { create }操作權限狀態:請求/執行的拒絕權限。 在這種情況下,它是一個創建操作。 SELinux 拒絕執行創建目錄/文件操作的權限。

name="access_control.new_commit.cv" : Target name : 您的應用程序可能試圖創建的目標名稱(在本例中為文件/目錄名稱)。

scontext=u:r:untrusted_app:s0 : Source Context :此安全違規的源上下文。 這表明哪個域/進程正在嘗試執行創建功能。 此處, untrusted_app應用程序是由 zygote 啟動的應用程序

tcontext=u:object_r:fuse:s0 : Target Context :目標資源(在本例中為文件)的安全上下文。 在這里,源試圖在已被拒絕的Fuse 文件系統中創建文件

tclass=fifo_file : Target Class目標的類

一句話,SELinux拒絕了untrusted_appfuse create access_control.new_commit.cv文件的權限。

從 Google 來源,檢查 SEPolicy 文件untrusted_app.te權限是如何被拒絕的。

注意:如果您對答案有任何建議,請告訴我。

根據驗證 SELinux | Android 開源項目,留言:

type=1400 audit(0.0:2233): avc: denied { create } for name="access_control.new_commit.cv" scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:fuse:s0:c512,c768 tclass=fifo_file permissive=0

關鍵信息是:

  • Action創造
  • Actor = scontext = source contextuntrusted_app
  • Object = tcontext = target context保險絲
    • object_r = object read
  • Result = tclass = target classfifo_file =FIFO 文件
  • permissive = permissive mode : 0 -> NOT permissive mode
    • -> 是強制模式嗎?

翻譯成人類可讀的句子:

untrusted_app想要為保險絲創建一個fifo_file

(但是Android SELinux的強制模式在沒有權限的情況下停止它,所以你看到上面的logcat日志信息)

我在這里找到了一個有趣的頁面,以探討“ avc:被拒絕”問題。

https://wiki.gentoo.org/wiki/SELinux/Tutorials/Where_to_find_SELinux_permission_denial_details

我可以補充一點,在錯誤消息上運行 audit2allow 將為您提供有關如何更新 untrusted_app.te 文件的建議。

將 dmesg 轉儲到文本文件:

dmesg > /sdcard/dmesg.txt
cat dmesg.txt | grep avc | audit2allow 

在這種情況下會給你以下結果:

#============= untrusted_app ==============
allow untrusted_app fuse:fifo_file create;

將此行添加到 untrusted_app.te 並重建 Android 內核!

暫無
暫無

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

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