[android]開發基礎(四)- 安全機制 SELinux
SELinux 使用白名單來定義系統可進行的行為,
也就是說只有被允許的行為才會被執行.
Android 預設使用uid/gid來管理行為的權限,
如果有應用程式取得root權限權限,此程式將不受任何限制,
並且可在裝置上執行任何行為,
基於SELinux設計的裝置可以限制這些取得root權限的程式(或者使用者),
避免安全問題.
由於SELinux基於白名單方式的管理,
所以系統如果有新增裝置或者功能,
所以必須根據需求更改相關權限,
以確保新的程式或者行為可以正確執行.
查詢裝置是否有被阻擋的行為可利用dmesg查詢:
su -c dmesg | grep ‘avc: ‘
安全機制 SELinux
主要有三個步驟
1.在BSP/device/manufacturer/device-name/sepolicy/底下,新增一個.te檔案
命令語法:
EX:(允許sdcard存取/data/下所有資料)
allow sdcardd media_data_file:file{read write};
2.更新boardconfig.mk,把新增的規則加進去
BOARD_SEPOLICY_DIRS +=
device/manufacturer/device-name/sepolicy
BOARD_SEPOLICY_UNION +=
file_contexts
new_rule.te
3.更新file_contexts,把新的type加入
/data/(/.*)? u:object_r:media_data_file:s0
重新build image,更新之後
即可套用新的規則.
官方也有相關說明
網址是:
官方說明網址
================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================
1 Response
[…] 之前提到過 SELINUX for Android, […]