国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置方法及裝置的制造方法

      文檔序號:8943291閱讀:305來源:國知局
      一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置方法及裝置的制造方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及Linux內(nèi)核編譯技術(shù)領(lǐng)域,尤其涉及一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置方法及裝置。
      【背景技術(shù)】
      [0002]對于Linux內(nèi)核的編譯,我們有多種方式ob j-y (表示需要編譯到內(nèi)核中的目標(biāo)文件名集合)生成.ο文件,此文件通過連接最終打包進(jìn)內(nèi)核鏡像文件,然后開機自動加載注冊驅(qū)動;obj-m(表示需要編譯成模塊的目標(biāo)文件名集合)編譯生成.ko文件,其作用可以避免開源內(nèi)核代碼時公布于眾,給予研發(fā)者ko文件讓其加載即可。如圖圖1所示的現(xiàn)有的文件目錄結(jié)構(gòu)示意圖,目前我們都是將ko文件放置于手持設(shè)備的systenAlibVnodules目錄下,通過insmod system\lib\modules\xxx.ko方式加載內(nèi)核模塊,此時會導(dǎo)致此模塊的一些設(shè)備文件應(yīng)用無訪問權(quán)限的問題。

      【發(fā)明內(nèi)容】

      [0003]本發(fā)明實施例提供一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置方法及裝置,以防止自動加載內(nèi)核模塊時應(yīng)用無設(shè)備文件操作權(quán)限。
      [0004]—方面,提供了一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置方法,所述方法包括:
      [0005]將編譯產(chǎn)生的內(nèi)核模塊文件拷貝到根目錄文件夾下;
      [0006]設(shè)置所述內(nèi)核模塊文件的權(quán)限為具有可執(zhí)行權(quán)限;
      [0007]加載所述內(nèi)核模塊文件,創(chuàng)建至少一個設(shè)備文件;
      [0008]設(shè)置所述至少一個設(shè)備文件的權(quán)限為應(yīng)用所需的權(quán)限;
      [0009]接收所述應(yīng)用根據(jù)所述應(yīng)用所需的權(quán)限對所述至少一個設(shè)備文件的訪問。
      [0010]優(yōu)選地,所述方法還包括:
      [0011 ] 將內(nèi)核模塊的編譯方式由ob j-y修改為ob j-m,將I inux的開源協(xié)議修改為私有協(xié)議,以及通過obj-m編譯獲得所述內(nèi)核模塊文件。
      [0012]優(yōu)選地,所述將編譯產(chǎn)生的內(nèi)核模塊文件拷貝到根目錄文件夾下之后,所述方法還包括:
      [0013]將所述根目錄文件夾打包成鏡像文件,將所述鏡像文件燒錄進(jìn)終端的根文件系統(tǒng)。
      [0014]優(yōu)選地,所述設(shè)置所述內(nèi)核模塊文件的權(quán)限為具有可執(zhí)行權(quán)限,包括:
      [0015]對所述內(nèi)核模塊文件的權(quán)限進(jìn)行賦值,使所述內(nèi)核模塊文件的權(quán)限為具有可執(zhí)行權(quán)限;
      [0016]其中,所述內(nèi)核模塊文件具有至少一個權(quán)限值。
      [0017]優(yōu)選地,所述接收所述應(yīng)用根據(jù)所述應(yīng)用所需的權(quán)限對所述至少一個設(shè)備文件的訪問之后,所述方法還包括:
      [0018]對所述至少一個設(shè)備文件進(jìn)行對應(yīng)功能的操作。
      [0019]另一方面,提供了一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置裝置,所述裝置包括:
      [0020]拷貝單元,用于將編譯產(chǎn)生的內(nèi)核模塊文件拷貝到根目錄文件夾下;
      [0021]設(shè)置單元,用于設(shè)置所述內(nèi)核模塊文件的權(quán)限為具有可執(zhí)行權(quán)限;
      [0022]創(chuàng)建單元,用于加載所述內(nèi)核模塊文件,創(chuàng)建至少一個設(shè)備文件;
      [0023]所述設(shè)置單元還用于設(shè)置所述至少一個設(shè)備文件的權(quán)限為應(yīng)用所需的權(quán)限;
      [0024]訪問單元,用于接收所述應(yīng)用根據(jù)所述應(yīng)用所需的權(quán)限對所述至少一個設(shè)備文件的訪問。
      [0025]優(yōu)選地,所述裝置還包括:
      [0026]編譯單元,用于將內(nèi)核模塊的編譯方式由obj-y修改為obj_m,將Iinux的開源協(xié)議修改為私有協(xié)議,以及通過obj-m編譯獲得所述內(nèi)核模塊文件。
      [0027]優(yōu)選地,所述裝置還包括:
      [0028]燒錄單元,用于將所述根目錄文件夾打包成鏡像文件,將所述鏡像文件燒錄進(jìn)終端的根文件系統(tǒng)。
      [0029]優(yōu)選地,所述設(shè)置單元具體用于:
      [0030]對所述內(nèi)核模塊文件的權(quán)限進(jìn)行賦值,使所述內(nèi)核模塊文件的權(quán)限為具有可執(zhí)行權(quán)限;
      [0031 ] 其中,所述內(nèi)核模塊文件具有至少一個權(quán)限值。
      [0032]優(yōu)選地,所述裝置還包括:
      [0033]操作單元,用于對所述至少一個設(shè)備文件進(jìn)行對應(yīng)功能的操作。
      [0034]實施本發(fā)明實施例提供的一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置方法及裝置,具有如下有益效果:
      [0035]將編譯產(chǎn)生的內(nèi)核模塊文件拷貝到根目錄文件夾下,設(shè)置內(nèi)核模塊文件的權(quán)限為具有可執(zhí)行權(quán)限,加載內(nèi)核模塊文件,創(chuàng)建多個設(shè)備文件,設(shè)置該多個設(shè)備文件的權(quán)限為應(yīng)用所需的權(quán)限,從而可以接收應(yīng)用對多個設(shè)備文件的訪問,防止自動加載內(nèi)核模塊時應(yīng)用無設(shè)備文件操作權(quán)限。
      【附圖說明】
      [0036]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0037]圖1為現(xiàn)有的文件目錄結(jié)構(gòu)示意圖;
      [0038]圖2為本發(fā)明實施例提供的一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置方法的流程示意圖;
      [0039]圖3對圖2所示的本發(fā)明實施例提供的一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置方法進(jìn)一步細(xì)化的流程示意圖;
      [0040]圖4為本發(fā)明實施例提供的一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置裝置的結(jié)構(gòu)示意圖;
      [0041]圖5為對圖4所示的本發(fā)明實施例提供的一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置裝置的結(jié)構(gòu)示意圖。
      【具體實施方式】
      [0042]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
      [0043]圖2為本發(fā)明實施例提供的一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置方法的流程示意圖,該方法包括以下步驟:
      [0044]S101、將編譯產(chǎn)生的內(nèi)核模塊文件拷貝到根目錄文件夾下。
      [0045]本實施例應(yīng)用于Android手持設(shè)備,例如手機、平板電腦等。
      [0046]現(xiàn)有技術(shù)中,通過obj-m編譯得到的ko文件放置于手持設(shè)備的system\lib\modules目錄下,本實施例將通過obj-m編譯得到的內(nèi)核模塊文件拷貝到根目錄文件夾下,如圖1所示,該根目錄文件夾與system是并列的文件夾,內(nèi)核模塊文件xxx.ko對應(yīng)/xxx.koo
      [0047]S102、設(shè)置所述內(nèi)核模塊文件的權(quán)限為具有可執(zhí)行權(quán)限。
      [0048]將編譯產(chǎn)生的內(nèi)核模塊文件拷貝到根目錄文件夾下后,修改內(nèi)核模塊文件xxx.ko的權(quán)限(如chmod 777/xxx.ko),讓其具備可執(zhí)行權(quán)限。
      [0049]S103、加載所述內(nèi)核模塊文件,創(chuàng)建至少一個設(shè)備文件。
      [0050]通過insmod/xxx.ko加載內(nèi)核模塊會進(jìn)行驅(qū)動注冊創(chuàng)建一系列內(nèi)核模塊的設(shè)備文件供應(yīng)用操作。
      [0051]S104、設(shè)置所述至少一個設(shè)備文件的權(quán)限為應(yīng)用所需的權(quán)限。
      [0052]加載完畢內(nèi)核模塊xxx.ko后,需要修改設(shè)備文件的讀寫等訪問權(quán)限為應(yīng)用所需的權(quán)限。
      [0053]S105、接收所述應(yīng)用根據(jù)所述應(yīng)用所需的權(quán)限對所述至少一個設(shè)備文件的訪問。
      [0054]完成上述權(quán)限設(shè)置操作后,就可以訪問設(shè)備文件了。
      [0055]根據(jù)本發(fā)明實施例提供的一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置方法,將編譯產(chǎn)生的內(nèi)核模塊文件拷貝到根目錄文件夾下,設(shè)置內(nèi)核模塊文件的權(quán)限為具有可執(zhí)行權(quán)限,加載內(nèi)核模塊文件,創(chuàng)建多個設(shè)備文件,設(shè)置該多個設(shè)備文件的權(quán)限為應(yīng)用所需的權(quán)限,從而可以接收應(yīng)用對多個設(shè)備文件的訪問,防止自動加載內(nèi)核模塊時應(yīng)用無設(shè)備文件操作權(quán)限。
      [0056]圖3對圖2所示的本發(fā)明實施例提供的一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置方法進(jìn)一步細(xì)化的流程示意圖,該方法包括以下步驟:
      [0057]S201、將內(nèi)核模塊的編譯方式由obj-y修改為obj_m,將Iinux的開源協(xié)議修改為私有協(xié)議,以及通過obj-m編譯獲得所述內(nèi)核模塊文件。
      [0058]修改內(nèi)核編譯方式為生成內(nèi)核模塊文件xxx.ko,需要將Iinux的開源協(xié)議(GPL,相當(dāng)于公有)修改為私有協(xié)議(proprietary),通過obj-m編譯獲得內(nèi)核模塊文件。
      [0059]S202、將編譯產(chǎn)生的內(nèi)核模塊文件拷貝到根目錄文件夾下。
      [0060]S203、將所述根目錄文件夾打包成鏡像文件,將所述鏡像文件燒錄進(jìn)終端的根文件系統(tǒng)。
      [0061]將編譯產(chǎn)生的內(nèi)核模塊文件xxx.ko拷貝到一個叫root的文件夾下,這個文件夾會打包成一個鏡像文件,燒錄進(jìn)手持設(shè)備后對應(yīng)根文件系統(tǒng),內(nèi)核模塊文件xxx.ko對應(yīng)/xxx.koo
      [0062]S204、對所述內(nèi)核模塊文件的權(quán)限進(jìn)行賦值,使所述內(nèi)核模塊文件的權(quán)限為具有可執(zhí)行權(quán)限。
      [0063]將編譯產(chǎn)生的內(nèi)核模塊文件掛載根文件系統(tǒng)后,對內(nèi)核模塊文件xxx.ko的權(quán)限(如chmod 777/xxx.ko)進(jìn)行賦值,讓其具備可執(zhí)行權(quán)限。內(nèi)核模塊文件具有多種權(quán)限值,例如,4代表讀權(quán)限,2寫權(quán)限,I執(zhí)行權(quán)限,7就代表讀寫執(zhí)行權(quán)限,5就代表讀執(zhí)行權(quán)限,以此類推。
      [0064]S205、加載所述內(nèi)核模塊文件,創(chuàng)建至少一個設(shè)備文件。
      [0065]通過insmod/xxx.ko加載內(nèi)核模塊,加載成功后該模塊,如距離傳感器,顯示屏等,會進(jìn)行驅(qū)動注冊創(chuàng)建一系列模塊設(shè)備文件供應(yīng)用操作。
      [0066]S206、設(shè)置所述至少一個設(shè)備文件的權(quán)限為應(yīng)用所需的權(quán)限。
      [0067]加載完畢內(nèi)核模塊xxx.ko后,需要修改設(shè)備文件的讀寫等訪問權(quán)限為應(yīng)用所需的權(quán)限,如 chown system system/sys/class/motor/cameramotor/mdmode。
      [0068]S207、接收所述應(yīng)用根據(jù)所述應(yīng)用所需的權(quán)限對所述至少一個設(shè)備文件的訪問。
      [0069]S208、對所述至少一個設(shè)備文件進(jìn)行對應(yīng)功能的操作。
      [0070]完成上述操作后,我們可以訪問設(shè)備文件,如打電話時讀取SyS/claSS/alS_pS/ps_raw,當(dāng)值為I遠(yuǎn)離時亮屏,當(dāng)值為O時接近(如靠近耳朵)熄滅屏幕。
      [0071]根據(jù)本發(fā)明實施例提供的一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置方法,將編譯產(chǎn)生的內(nèi)核模塊文件拷貝到根目錄文件夾下,設(shè)置內(nèi)核模塊文件的權(quán)限為具有可執(zhí)行權(quán)限,加載內(nèi)核模塊文件,創(chuàng)建多個設(shè)備文件,設(shè)置該多個設(shè)備文件的權(quán)限為應(yīng)用所需的權(quán)限,從而可以接收應(yīng)用對多個設(shè)備文件的訪問,防止自動加載內(nèi)核模塊時應(yīng)用無設(shè)備文件操作權(quán)限。
      [0072]圖4為本發(fā)明實施例提供的一種內(nèi)核模塊中設(shè)備文件權(quán)限的設(shè)置裝置的結(jié)構(gòu)示意圖,該裝置1000包括:
      [0073]拷貝單元11,用于將編譯產(chǎn)生的內(nèi)核模塊文件拷貝到根
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1