亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

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

文檔序號:8943291閱讀:304來源:國知局
一種內(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)文件名集合)生成.ο文件,此文件通過連接最終打包進內(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]將所述根目錄文件夾打包成鏡像文件,將所述鏡像文件燒錄進終端的根文件系統(tǒng)。
[0014]優(yōu)選地,所述設(shè)置所述內(nèi)核模塊文件的權(quán)限為具有可執(zhí)行權(quán)限,包括:
[0015]對所述內(nèi)核模塊文件的權(quá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è)備文件進行對應(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]燒錄單元,用于將所述根目錄文件夾打包成鏡像文件,將所述鏡像文件燒錄進終端的根文件系統(tǒng)。
[0029]優(yōu)選地,所述設(shè)置單元具體用于:
[0030]對所述內(nèi)核模塊文件的權(quán)限進行賦值,使所述內(nèi)核模塊文件的權(quán)限為具有可執(zhí)行權(quán)限;
[0031 ] 其中,所述內(nèi)核模塊文件具有至少一個權(quán)限值。
[0032]優(yōu)選地,所述裝置還包括:
[0033]操作單元,用于對所述至少一個設(shè)備文件進行對應(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è)置方法進一步細化的流程示意圖;
[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ù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[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)核模塊會進行驅(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è)置方法進一步細化的流程示意圖,該方法包括以下步驟:
[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、將所述根目錄文件夾打包成鏡像文件,將所述鏡像文件燒錄進終端的根文件系統(tǒng)。
[0061]將編譯產(chǎn)生的內(nèi)核模塊文件xxx.ko拷貝到一個叫root的文件夾下,這個文件夾會打包成一個鏡像文件,燒錄進手持設(shè)備后對應(yīng)根文件系統(tǒng),內(nèi)核模塊文件xxx.ko對應(yīng)/xxx.koo
[0062]S204、對所述內(nèi)核模塊文件的權(quá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)進行賦值,讓其具備可執(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)核模塊,加載成功后該模塊,如距離傳感器,顯示屏等,會進行驅(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è)備文件進行對應(yīng)功能的操作。
[0070]完成上述操作后,我們可以訪問設(shè)備文件,如打電話時讀取SyS/claSS/alS_pS/ps_raw,當(dāng)值為I遠離時亮屏,當(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