日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Android5.1修改以太网MAC地址(SElinux)

發(fā)布時(shí)間:2025/4/16 linux 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android5.1修改以太网MAC地址(SElinux) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

點(diǎn)擊打開鏈接

最近高通平臺(tái)Android5.1項(xiàng)目中有個(gè)關(guān)于設(shè)置以太網(wǎng)MAC的需求,大致流程是windows寫到一塊flash片區(qū)去保存序列號(hào)和以太網(wǎng)MAC地址,然后Android客戶端通過(guò)相關(guān)接口去讀取該字符串并加以顯示,需要將其MAC地址同步到Android系統(tǒng)中MAC地址。

首先我加了個(gè)設(shè)備信息顯示序列號(hào)和以太網(wǎng)的應(yīng)用程序,通過(guò)LOCAL_JAVA_LIBRARIES加載所需要加載的相關(guān)接口庫(kù),然后再manifest中通過(guò)<uses-library></uses-library>加載相關(guān)聲明(注:此聲明在application節(jié)點(diǎn)下)。這樣一來(lái)我們的應(yīng)用層可以正常讀取相關(guān)flash片區(qū)的保存的內(nèi)容了。

那么后面問(wèn)題來(lái)了,我們?nèi)绾瓮紸ndroid系統(tǒng)內(nèi)的保存的以太網(wǎng)的MAC地址呢?通過(guò)網(wǎng)上查詢相關(guān)資料文獻(xiàn)發(fā)現(xiàn),我們可以通過(guò)執(zhí)行相關(guān)Linux命令得到結(jié)果。通過(guò)串口執(zhí)行相關(guān)命令發(fā)現(xiàn)如下命令是可以有效的修改Android5.1的/sys/class/net/eth0/address內(nèi)保存的地址的:

netcfg(ifconfig) eth0 down

netcfg eth0 hwaddr 10:10:10:10:10:10

netcfg(ifconfig) eth0 up

所以通過(guò)增加Java代碼執(zhí)行這三條命令即可:

private void executeCMD(String cmd){
try {
? ? ? ? ? ?Log.w(
TAG, "cmd= " +cmd);
? ? ? ? ? ?Runtime runtime = Runtime.getRuntime();
? ? ? ? ? ?Process proc = runtime.exec(cmd);
? ? ? ?} catch (IOException e) {
? ? ? ? ? ?Log.w(
TAG
, "exe fail!!!!");
? ? ? ? ? ?e.printStackTrace();
? ? ? ?}
}

我們依次執(zhí)行上述三條linux命令應(yīng)該就可達(dá)到我們的需求。Okay,基本邏輯已經(jīng)完成,下面進(jìn)入調(diào)試階段,筆者調(diào)試的是項(xiàng)目中的產(chǎn)品MSM8909 Android5.1的一款平板電腦。當(dāng)我們編譯結(jié)束后,通過(guò)運(yùn)行應(yīng)用程序查看日志發(fā)現(xiàn)我們的應(yīng)用確實(shí)已經(jīng)讀取到了保存的序列號(hào)和MAC地址,可是后面設(shè)置系統(tǒng)MAC地址時(shí)報(bào)了Permission Denied!那么這樣一來(lái),就進(jìn)入了Android權(quán)限的賦予和調(diào)試的階段。首先,我們需要給我們的apk是system apk,于是我將其放到系統(tǒng)/system/app下,后面運(yùn)行發(fā)現(xiàn)仍然報(bào)IOExeption:Permission Denied!那么后面我在manifest中加入了android:sharedUserId="android.uid.system"讓其運(yùn)行的進(jìn)程uid為system,然后需要給其簽名platform證書,我也對(duì)其進(jìn)行了相關(guān)的簽名。后面抱著滿滿的信息去調(diào)試的時(shí)候發(fā)現(xiàn)又有新的權(quán)限異常,后面便進(jìn)入了Adnroid5.1引入的SElinux相關(guān)的權(quán)限調(diào)試當(dāng)中,過(guò)濾有效日志如下:

avc: denied { net_admin } for capability=12 scontext=u:r:system_app:s0 tcontext=u:r:system_app:s0?

tclass=capability permissive=0

如此avc權(quán)限問(wèn)題一般都是selinux相關(guān)的問(wèn)題所在,selinux中我們的解決思路就是缺什么權(quán)限我們就加什么權(quán)限,這樣至少不會(huì)導(dǎo)致權(quán)限的亂序了。關(guān)于selinux的賦權(quán)都在源碼目錄/external/sepolicy/文件下進(jìn)行代碼編輯,下面我們順藤摸瓜找到我們的system_app的權(quán)限配置文件(system_app.te),加上對(duì)日志的理解我們嘗試著加入為我們的apk賦權(quán)的語(yǔ)句:

allow system_app system_app:capability { net_admin };

對(duì)于此語(yǔ)句的語(yǔ)法我們可以網(wǎng)上百度或者參照原本有的內(nèi)容進(jìn)行理解,allow后面跟的幾個(gè)參數(shù)分別是scontext(表示一個(gè)group),后面跟上需要為此組所添加的權(quán)限,分別是tcontext和tclass和權(quán)限的名稱(關(guān)于權(quán)限的分類我們可以參考out/target/product/msm8909/obj/ETC/sepolicy_intermediates/policy.conf相關(guān)即可。好了,做完這步我們需要重新編譯內(nèi)核bootimage進(jìn)行燒寫。抱著滿滿的自信心進(jìn)行編譯,結(jié)果發(fā)現(xiàn)天哪竟然編譯不過(guò),看看服務(wù)器報(bào)的錯(cuò)誤信息發(fā)現(xiàn),也就是說(shuō)在app.tc中不允許添加類似的capability相關(guān)類的權(quán)限,我們進(jìn)入app.tc中發(fā)現(xiàn)如下語(yǔ)句

neverallow { appdomain -bluetooth } self:capability *;

初步的理解是絕不能允許appdomain除了是bluetooth group的,而我們的system_app.tc中恰好定義了appdomain,那么我們大膽的理解我們可以在app.tc中將我們的group也加進(jìn)去就行啦。于是就有下面的修改:

neverallow { appdomain -bluetooth -system_app} self:capability *;

Okay , 大功告成,再次對(duì)內(nèi)核進(jìn)行編譯。哈哈,竟然編譯通過(guò)了,這時(shí)候感覺(jué)比之前的每次調(diào)試都更加信心滿滿了。拷貝出bootimage后進(jìn)行燒錄,重啟,運(yùn)行,查看日志,netcfg查看以太網(wǎng)MAC地址。哈哈,Android系統(tǒng)的MAC地址已經(jīng)改為我所讀出來(lái)的MAC地址了,此項(xiàng)需求圓滿結(jié)束!

通過(guò)此次的需求變更,這讓我對(duì)Android5.1的SElinux又有了更加深層次的認(rèn)識(shí)了。遇到問(wèn)題,不慌不忙,我們慢慢的分析問(wèn)題,定位問(wèn)題,解決問(wèn)題(離不開對(duì)日志的重要信息的提取和理解)。

總結(jié)

以上是生活随笔為你收集整理的Android5.1修改以太网MAC地址(SElinux)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品中文字幕在线观看 | 91成人在线观看喷潮蘑菇 | 九九综合 | 超碰午夜| 日本综合视频 | 日韩精品在线一区二区 | 国产精品久久国产 | av在线网页 | 亚洲色图狠狠干 | 中文字幕+乱码+中文字幕明步 | 黑人操中国女人视频 | 国产亚洲精品久久久久久久久动漫 | 凹凸日日摸日日碰夜夜 | 丁香婷婷成人 | 欧美片网站yy | 在线a视频| 午夜不卡在线 | 无遮挡在线观看 | 粉嫩av渣男av蜜乳av | 中文字幕久久熟女蜜桃 | 国产精品一区在线观看 | 国产aⅴ爽av久久久久成人 | 污网站免费观看 | 国产sm在线观看 | 成人黄色av网址 | 天天躁狠狠躁狠狠躁夜夜躁68 | 少妇视频在线播放 | av网在线观看 | 好男人天堂网 | 大尺度做爰床戏呻吟舒畅 | 日本福利视频导航 | 国产欧美一区二区在线观看 | 日韩一区二区三区在线看 | 欧美性区 | 精品国产一级久久 | 成都电影免费大全 | 奶水旺盛的少妇在线播放 | 久久性生活片 | 精品亚洲永久免费精品 | 欧美成人国产精品一区二区 | 日本久久网站 | 日韩精品一 | av加勒比在线 | 亚洲调教欧美在线 | 人妻熟女一区二区aⅴ水野 91在线观看视频 | 高潮av在线| 免费高清欧美大片在线观看 | 夫妻性生活黄色大片 | 久久香蕉综合 | 狂野欧美性猛交xxxx巴西 | 性chinese天美传媒麻 | 色天天av | 男女激情久久 | 国产主播精品 | 国产一区二区三区黄 | 欧洲视频在线观看 | 一卡二卡三卡四卡 | 成人激情视频网站 | 成人精品视频一区二区 | 欧美一级特黄aa大片 | 亚洲成人看片 | 欧美黄色免费在线观看 | 国产美女精品视频国产 | 国产日韩欧美在线观看 | 国产人妻久久精品一区二区三区 | 人妻av无码一区二区三区 | 手机看片日韩在线 | 国产99久久久国产精品 | 欧美精品一卡 | 伊人开心网 | 美女上床网站 | 国内精品久久久久久久影视简单 | 成人免费直播 | 国产精品日 | 国产一区二区在 | 亚洲精品视频在线播放 | 亚洲国产毛片 | 精品av一区二区 | 91看片免费版 | 中文字幕有码在线 | 冲田杏梨一区二区三区 | 中国人妖和人妖做爰 | 久久嫩草精品久久久久 | 极品销魂美女少妇尤物 | 青青草免费在线观看 | 欧美视频在线一区 | 欧美一区二区三区四区视频 | 先锋资源一区二区 | 美女视频在线免费观看 | mm131丰满少妇人体欣赏图 | 午夜激情综合网 | 96精品在线 | 小箩莉末发育娇小性色xxxx | 久久亚洲综合色图 | 超碰97在线免费 | 美国一级黄色大片 | 95精品视频| 91污网站 | 一区av在线 |