国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

安卓權限中要掌握的三大模塊

原創 精選
移動開發 Android
從事安卓工作多年,害怕的不是寫代碼,反而是權限問題!在我安卓生涯的開始階段,常常因為權限問題而煩惱數日。我還清晰地記得,當時我使用的是關系權限的安卓權限系統,但我的服務依然遇到了權限問題而無法正常啟動。在我進行問題排查的初期,因其版本已關閉安卓權限,從而沒有考慮權限是否存在異常。

作者 | 趙青窕

審校 | 孫淑娟

經過數日的分析,我才明白關閉權限僅僅是關閉安卓權限中的一部分而并非所有權限,最終通過修改文件屬性后,我的服務才可以正常啟動了。經歷這件事情后,我立志要把我的經驗總結出來并分享給志同道合的朋友們。

根據我個人的工作經驗,我把安卓權限分為如下三部分:

  1. 設置文件的屬性
  2. 采用allow語句配置某一個應用訪問某一個文件的權限
  3. Linux系統原生的用戶,用戶組權限

第1點和第2點屬于SELinux的范疇,這兩部分是相輔相成的關系,通過設置文件屬性來配置某一文件是不是可執行文件,緊接著我們可以采用allow語句來配置該可執行文件可以訪問的文件資源及其對文件資源的操作權限;第3點屬于Linux這一類系統的共同特性,于前面兩點是完全不同的部分,用戶和用戶組及權限用來說明某一文件所屬的用戶和用戶組,及其讀寫執行權限。接下來,讓我們先認識SELinux,然后再詳細地看上面三部分。

SELinux相關命令

  • 關閉SELinux權限:setenforce 0,即設置SELinux 成為permissive模式,對違反Selinux規則的行為會進行記錄,但不會阻止。
  • 打開SELinux權限:setenforce 1,即設置SELinux 成為enforcing模式,對違反Selinux規則的行為會進行記錄,且會進行阻止。
  • 獲取SELinux權限:getenforce

下圖1是上面三個命令的執行情況,供大家參考。

圖 1 :SELinux命令演示

  • 查看SELinux權限:命令參數中增加-Z(注意此處是大寫字母)選項。

 如果是查看文件,則采用圖2中紅色方框內的方式。

圖 2:查看文件權限

如果是查看進程的權限,則可以采用圖2中所說的方式。圖2中列出了不查看權限和查看權限的方式,方便大家比較。

圖 3:查看進程對應的SELinux權限

下圖4是查看屬性(property)權限的命令。

圖 4:查看property權限

配置SELinux權限

在此,我通過一個例子來說明如何配置。假如我們有一個可執行文件,我們用test_bin表示,該可執行文件需要訪問我們的驅動節點/dev/test,針對這種情況,我們需要配置4處。

1.file_contexts中對文件/dev/test進行配置,配置方法如下(先假設test_dev_node和

test_bin_exec已經定義了,后面會進行說明):

est_bin_exec已經定義了,后面會進行說明)
/dev/test u:object_r:test_dev_node:s0
test_bin(此處需要使用test_bin的絕對路徑) u:object_r:test_bin_exec:s0

該配置語句的意思就是把我們的設備節點/dev/test配置為test_dev_node類型,可執行文

件test_bin配置為test_bin_exec的類型,其余部分也有其具體含義,只是對于使用者來

說,暫時可以忽略。在具體項目配置時,替換上面配置文件中標出來的內容即可。

2.配置對應的te文件

type test_dev_node, dev_type;  
type test_bin_exec, exec_type, vendor_file_type, file_type;

allow test_bin_exec test_dev_node:chr_file rw_file_prems;

  上面三條語句主要完成兩種工作,分別是類型定義和allow語句,這兩部分都比較重要,

類型定義好后,我們才能對資源進行相應類型的配置,如上面對/dev/test和test_bin的配

置,而allow語句就是配置我們常說的權限問題,上面的allow語句就是設置類型為

test_bin_exec的可執行程序可以訪問test_dev_node類型的文件。我把這個過程總結為定

義類型---配置類型----設置權限。

除了上面涉及到的內容外,安卓系統中還具有property_contexts,service_contexts,

seapp_contexts等類型。不管什么類型,我們套用三步驟定義類型---配置類型----設置權限即可,并結合需要處理的文件類型,就可以完成權限配置,如屬性類文件,定義類型時,其語句格式是type  xxx  property_type,倘若還是不知道如何定義,可以參考安卓基線代碼中的SELinux定義,因為基線中的權限定義已經包含了盡可能全的情況。

當遇到neverallow問題時,我們就把出現問題部分按照上面三步驟定義類型---配置類型----設置權限進行重新定義,重新定義后的類型名稱不在系統的nerverallow范疇內,再次重新設置后就可規避nerverallow問題。

至此,我們已經簡單了解了SElinux問題,接下來重新思考一下文章開始的時候說的三大部分。

1.設置文件的屬性

此處就是指上面在file_contexts對文件/dev/test和test_bin進行了屬性配置,當我們關閉SELinux權限時,并不能關閉系統對文件屬性的判斷,比如當我們沒有對test_bin進行配置時,安卓系統會認為test_bin是一個普通文件。這種情況下,不管SELinux是否關閉,test_bin都無法正常運行。請記住,關閉SELinux時,安卓系統仍然會判斷文件屬性。

2.allow語句

當系統中沒有配置適當的allow語句,但配置了適當的文件屬性和用戶組屬性,讀寫權限時,此時關閉SELinux就可以正常工作。若出現這種現象,說明就是因為allow語句配置不恰當,這個時候應該趕緊抓取對應的日志,從對應的log中過濾出AVC的日志,如下是一種AVC錯誤:

avc: denied { read } for name="vendor" dev="tmpfs" ino=9241 scontext=u:r:dumpstate:s0 tcontext=u:object_r: test_dev_node:s0 tclass=chr_file permissive=0

分析如下:

  • 上面日志中的中括號中表示缺少的權限,從日志看缺少read全校;
  • scontext=u:r:dumpstate:s0用來表示缺少權限;
  • tcontext=u:object_r: test_dev_node:s0用來表示訪問哪類文件時出現了權限問題;
  • tclass=chr_file表示要訪問的文件類型。

我們把上面四部分按照下面組合即可添加對應的權限:

allow dumpstate test_dev_node:chr_file r read;

3.用戶,用戶組和讀寫權限

這類權限是Linux這一類系統中原生的內容,這類權限與SELinux完全不相關。當用戶組配置有問題時,即使關閉SELinux權限,其問題會依然存在。

那在安卓系統中,我們如何來進行該類權限的配置呢?其實在安卓中,有一類init.rc文件(文件名可以是init.rc或者init.xxx.rc),rc文件除了可以同來啟動服務等功能外,還可以在該類文件中配置用戶和用戶組讀寫權限,如下面的例子所示:

on init
chmod 0660 /dev/test
chown system system /dev/test

總結

本文先簡單介紹了SELinux,然后進行三大部分的說明。這三部分有任何一部分異常,其對應功能都無法正常工作。在配置安卓權限時,需要從這三部分來考慮,缺一不可,最重要的一點是,關閉SELinux,僅僅能屏蔽allow語句對應的權限問題。

作者介紹

趙青窕,51CTO社區編輯,從事多年驅動開發。研究興趣包含安全OS和網絡安全領域,發表過網絡相關專利。

責任編輯:華軒 來源: 51CTO
相關推薦

2014-10-08 10:17:59

2021-01-16 08:28:07

AppApp Ops應用

2024-10-17 09:14:24

RBAC模型管理

2023-02-03 17:47:28

2024-11-19 09:00:00

Pythondatetime模塊

2023-03-30 19:17:54

語言編程

2010-06-09 16:07:13

UML組成

2023-11-16 12:20:11

2021-01-05 14:25:45

Windows蘋果安卓

2021-12-17 07:47:37

IT風險框架

2011-12-02 15:20:33

瀏覽器歐朋瀏覽器QQ瀏覽器

2024-01-19 12:49:00

Linux文件權限權限類型

2021-08-08 10:44:33

安卓系統開發者手機廠商

2014-08-04 13:56:42

安卓概念

2022-03-22 11:33:13

AT模塊Harmony鴻蒙

2020-01-18 10:35:52

谷歌安卓甲骨文

2024-10-23 08:45:07

ACLABACRBAC

2025-01-06 08:22:41

2023-12-04 09:36:00

Python數據庫

2021-11-24 22:45:19

蘋果安卓手機
點贊
收藏

51CTO技術棧公眾號

一本一道久久久a久久久精品91 | 久久久久久国产精品三级玉女聊斋| 色播在线视频| 久久国产成人午夜av影院| 国产啪精品视频| 狠狠一区二区三区| 精品国产一区二区三区四区在线观看| 91福利在线尤物| 精品国产电影一区二区| av网址在线播放| 欧美三级电影在线看| 一区二区三区性视频| 亚洲一区视频在线| 在线影院福利| 一本大道久久a久久精二百| 三级网站在线| 欧美色视频日本高清在线观看| 91se在线观看| 亚洲va中文字幕| 国产一二三区在线视频| 欧美日本一道本| 草莓视频丝瓜在线观看丝瓜18| 精品国产乱码久久| 欧美日韩在线精品一区二区三区激情综合 | 亚洲一区二区欧美激情| 高清一级毛片视频| 亚洲一线二线三线视频| 神马午夜dy888| 欧美性猛交xxxx乱大交| 亚洲图片88| 日韩精品高清在线观看| 日本中文字幕一区二区| 午夜精品在线视频| 希岛爱理一区二区三区| 乱一区二区三区在线播放| 久久精品国产精品亚洲红杏| 日本在线xxx| 亚洲欧美激情一区二区| 精品视频二区| 亚洲欧美制服第一页| av综合网址| 成人午夜小视频| 美女精品网站| 黄色一级视频片| 亚洲美女免费在线| 欧美69xxx| 精品国内产的精品视频在线观看| 国产精品香蕉| 精品999在线观看| 成人看片黄a免费看在线| jlzzjlzz欧美大全| 欧美三级资源在线| 精品女同一区二区三区在线观看| 国产精品99久久99久久久二8| 欧美视频网站| www在线观看免费| 亚洲一区二区在线视频| 成年网站在线视频网站| 91精品国产91久久久久福利| 亚洲青涩在线| 男人亚洲天堂网| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 一二三四视频在线中文| 国产精品美女av| 久久99精品国产麻豆婷婷洗澡| 麻豆三级在线观看| 51精品久久久久久久蜜臀| 国产一区二区三区视频在线| 2019国产精品视频| 久久亚洲免费视频| 黄色一级片在线观看| 久久久久久97| 欧美aaa在线| 日本中文字幕电影| 一个人看的www久久| 欧美aa国产视频| 九热视频在线观看| 亚洲电影成人av99爱色| 欧美日韩性在线观看| 国产日产欧美一区二区| 五月天精品一区二区三区| 成人精品动漫| 欧美一区二区三区电影在线观看| 成人欧美一区二区三区视频网页 | 欧美性生交片4| 91蝌蚪精品视频| 日本成人看片网址| 一区二区三区四区在线播放 | 国产精选一区| 久久这里只有精品23| 欧美最猛黑人xxxxx猛交| 日韩中文字幕无砖| 影音先锋欧美在线| 欧美在线你懂的| 美女视频亚洲色图| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 极品美女一区| 国产欧美日韩亚洲| 亚洲欧洲国产专区| h1515四虎成人| 亚洲欧洲精品一区| 欧美日韩视频在线第一区 | 涩爱av在线播放一区二区| 美女精品久久久| 韩国欧美国产1区| 久草资源在线| 国产精品日韩欧美| 国产精品入口麻豆九色| 精品123区| 亚洲欧美日韩不卡一区二区三区| 精品久久久香蕉免费精品视频| 久久久伦理片| 日本精品www| 精品久久久91| eeuss影院一区二区三区 | 色婷婷热久久| 16—17女人毛片毛片| 欧美成人sm免费视频| 成人一区二区三区视频| 欧美aa在线观看| 正义之心1992免费观看全集完整版| 717成人午夜免费福利电影| 欧美日韩岛国| 美国一级片在线免费观看视频| 日本韩国在线不卡| 亚洲视频中文字幕| 亚洲精品国产setv| 性网站在线免费观看| 国产成人亚洲综合91精品| 国产精品理论片| 欧美91在线| 狠狠操夜夜操| 国产免费一区二区三区香蕉精| 亚洲国产乱码最新视频| 日韩高清欧美| 91精品久久久久久9s密挑| 国产精品手机播放| 日韩欧美在线字幕| 亚洲经典自拍| 国产经典三级在线| 97超碰国产精品| 久久夜色精品国产| 日韩一区在线免费观看| 欧美日韩一区二区综合| 黄视频在线观看免费| 久久精品午夜一区二区福利| 精品成人一区二区三区| 国产精品亚洲一区二区三区在线| 国产精品久久久久77777丨| 成人在线看视频| 茄子视频成人在线| 色菇凉天天综合网| 免费成人美女在线观看| 国模私拍国内精品国内av| 制服丝袜综合网| 成人性教育视频在线观看| 欧美精品v日韩精品v韩国精品v| 免费高清不卡av| 九九九九九九精品任你躁| 免费黄色av电影| 精品在线不卡| 中文字幕国产亚洲2019| 国产精品萝li| 欧美在线二区| 久久影院午夜精品| 国产三级日本三级在线播放| 国产日韩欧美电影在线观看| 91精品国产入口| 91麻豆高清视频| 亚洲精品国产首次亮相| 日韩欧美精品一区二区三区| 97在线资源在| 欧美高清视频一区二区三区在线观看 | 久草资源站在线观看| 国产精品久久久久久久天堂| 欧美日本免费一区二区三区| 国产精品亚洲专一区二区三区| 欧美午夜寂寞| jizz在线观看视频| 国产九九九九九| 亚洲一区二区三区成人在线视频精品 | 精品久久网站| 高清电影在线免费观看| 虎白女粉嫩尤物福利视频| 成人福利视频在线观看| 亚洲第一在线视频| 最好看的中文字幕久久| 久久男女视频| 色婷婷狠狠五月综合天色拍| 91中文在线| 免费网站www在线观看| 中国人体摄影一区二区三区| 欧洲成人免费视频| 亚洲免费小视频| 色先锋aa成人| 日本一区二区三区dvd视频在线| 午夜亚洲一区| 日韩av久操| 亚洲国产中文在线| 春色校园综合激情亚洲|