国产精品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>

      一種Linux隱藏配置文件的方法

      文檔序號(hào):6636796閱讀:393來源:國知局
      一種Linux隱藏配置文件的方法
      【專利摘要】本發(fā)明提供了一種Linux隱藏配置文件的方法,包括:步驟1,從flash的bootloader中劃出一塊連續(xù)區(qū)域,所述區(qū)域隱藏于其他flash分區(qū),將配置文件以非文件形式存儲(chǔ)于所述隱藏分區(qū);步驟2,內(nèi)核啟動(dòng)時(shí),將隱藏分區(qū)的內(nèi)容讀取到內(nèi)存中;步驟3,初始化netlink,等待應(yīng)用程序連接。采用本發(fā)明技術(shù)方案后,在flash分區(qū)中的bootloader中的一塊連續(xù)區(qū)域,所述區(qū)域隱藏于其他區(qū)域,配置文件在所述隱藏分區(qū)以非文件形式存儲(chǔ),內(nèi)核啟動(dòng)后將隱藏分區(qū)的內(nèi)容讀取到內(nèi)存中,應(yīng)用程序跟內(nèi)核的交互采用netlink連接,而netlink自由的自定義字段,使得配置文件對(duì)于非研發(fā)人員來說是不可獲知的,即配置對(duì)用戶來說是隱藏的,保證了系統(tǒng)的安全。
      【專利說明】一種L i nux隱藏配置文件的方法

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及Linux配置文件的【技術(shù)領(lǐng)域】,尤其涉及一種Linux隱藏配置文件的方法。

      【背景技術(shù)】
      [0002]—般Linux配置以實(shí)體文件存放于文件系統(tǒng),而文件系統(tǒng)以一定格式存放于flash,如jffs2,ext2,ext3等,通過對(duì)如jffs2文件系統(tǒng)的讀寫,可找到相應(yīng)的配置文件并查看。而對(duì)于一些非常重要的配置文件,我們不希望用戶通過任何Iinux命令直接查看,也不在實(shí)際的文件系統(tǒng)顯示。
      [0003]如圖1所示,Iinux的配置文件放于etc目錄,各配置以可見文件形式存放其中,通過直接查看文件內(nèi)容,我們可以了解相應(yīng)的系統(tǒng)配置。對(duì)于有些配置,如涉及到系統(tǒng)安全,我們不希望任何用戶可以看到其中信息,甚至在文件系統(tǒng)中不存在該配置文件。


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

      [0004]本發(fā)明需解決的技術(shù)問題是克服上述的不足,提供一種Linux隱藏配置文件的方法,其特征在于,包括:
      [0005]步驟1,從flash的bootloader中劃出一塊連續(xù)區(qū)域,所述區(qū)域隱藏于其他flash分區(qū),將配置文件以非文件形式存儲(chǔ)于所述隱藏分區(qū);
      [0006]步驟2,內(nèi)核啟動(dòng)時(shí),將隱藏分區(qū)的內(nèi)容讀取到內(nèi)存中;
      [0007]步驟3,初始化netlink,等待應(yīng)用程序連接。
      [0008]進(jìn)一步的,所述隱藏分區(qū)包括用于檢驗(yàn)配置正確性的配置項(xiàng)頭部和多項(xiàng)配置條目。
      [0009]進(jìn)一步的,所述配置條目包括配置名和配置內(nèi)容。
      [0010]進(jìn)一步的,所述內(nèi)核啟動(dòng)時(shí),將隱藏分區(qū)的內(nèi)容讀取到內(nèi)存中的步驟包括:
      [0011]內(nèi)核啟動(dòng)時(shí),內(nèi)核啟動(dòng)時(shí),讀取配置項(xiàng)頭部并檢查其正確性;
      [0012]若配置項(xiàng)頭部正確,則將隱藏分區(qū)的內(nèi)容讀取到內(nèi)存中,否則將配置設(shè)置為空。
      [0013]進(jìn)一步的,配置條目在內(nèi)核以哈稀鏈表方式存儲(chǔ),每個(gè)conf data表示一個(gè)配置條目,查找配置時(shí),以配置名為參數(shù),使用哈稀函數(shù)找到數(shù)組下標(biāo),然后遍歷該下標(biāo)鏈表,即可找到對(duì)應(yīng)配置,所述conf data包含了配置名、配置內(nèi)容以及指向下一個(gè)配置條目的指針。
      [0014]進(jìn)一步的,所述netlink報(bào)文自定義字段包括op、Ien以及data三個(gè)字段,分別描述為:
      [0015]op:報(bào)文類型,I表示檢查配置,2表示set保存配置,3表示get獲取配置,4表示內(nèi)核回復(fù)報(bào)文,5表示提交配置;
      [0016]Ien:數(shù)據(jù)長度,表不data字段報(bào)文長度;
      [0017]data:含配置信息,可直接是配置文件或字符串類型等任意格式。
      [0018]進(jìn)一步的,還包括:
      [0019]當(dāng)應(yīng)用程序啟動(dòng)后,發(fā)送netlink消息給內(nèi)核,檢查配置是否為空;
      [0020]若配置為空,則下發(fā)默認(rèn)配置。
      [0021]進(jìn)一步的,還包括:
      [0022]應(yīng)用程序添加和/或修改內(nèi)核中的配置;
      [0023]添加和/或修改的配置保存于內(nèi)存中;
      [0024]確定后再寫入flash。
      [0025]采用本發(fā)明方法后,在flash分區(qū)中的bootloader中的一塊連續(xù)區(qū)域,所述區(qū)域隱藏于其他區(qū)域,配置文件在所述隱藏分區(qū)以非文件形式存儲(chǔ),內(nèi)核啟動(dòng)后將隱藏分區(qū)的內(nèi)容讀取到內(nèi)存中,應(yīng)用程序跟內(nèi)核的交互采用net I ink連接,而net I ink自由的自定義字段,使得配置文件對(duì)于非研發(fā)人員來說是不可獲知的,即配置對(duì)用戶來說是隱藏的,保證了系統(tǒng)的安全。

      【專利附圖】

      【附圖說明】
      [0026]圖1是現(xiàn)有技術(shù)中的Iinux文件系統(tǒng);
      [0027]圖2是本發(fā)明提供的Linux隱藏配置文件的方法的流程圖;
      [0028]圖3是本發(fā)明提供的隱藏分區(qū)的flash格式;
      [0029]圖4為本發(fā)明提供的配置項(xiàng)頭部格式;
      [0030]圖5為本發(fā)明提供的netlink的報(bào)文字段;
      [0031]圖6為應(yīng)用程序啟動(dòng)的流程圖。

      【具體實(shí)施方式】
      [0032]為了使本領(lǐng)域相關(guān)技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施方式的附圖,對(duì)本發(fā)明實(shí)施方式中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施方式僅僅是本發(fā)明一部分實(shí)施方式,而不是全部的實(shí)施方式。
      [0033]下面結(jié)合附圖和實(shí)施方式對(duì)本發(fā)明作進(jìn)一步說明。
      [0034]參閱圖2,為本發(fā)明提供的一種實(shí)施方式的Linux隱藏配置文件的方法,本方法包括:
      [0035]步驟S100,從flash的bootloader中劃出一塊連續(xù)區(qū)域,所述區(qū)域隱藏于其他flash分區(qū),將配置文件以非文件形式存儲(chǔ)于所述隱藏分區(qū);
      [0036]在Linux系統(tǒng)中,flash分為3個(gè)區(qū),包括bootloader、kernel以及fs三個(gè)分區(qū),bootloader相當(dāng)于我們的b1s,kernel為內(nèi)核,fs為文件系統(tǒng)。從bootloader分區(qū)中劃出一塊連續(xù)區(qū)域,該區(qū)域隱藏于其他flash,將配置文件以非文件形式存儲(chǔ)于隱藏分區(qū)。劃出來的區(qū)域不被用戶獲知。本實(shí)施例中,該隱藏區(qū)域?yàn)閎ootloader分區(qū)最后一段連續(xù)的區(qū)域。
      [0037]參閱圖3,隱藏分區(qū)包括用于檢驗(yàn)配置正確性的配置項(xiàng)頭部和多項(xiàng)配置條目,配置條目包括配置名和配置內(nèi)容,一般采用配置名=配置內(nèi)容的方式存儲(chǔ),例如password =123456。本實(shí)施例中,配置項(xiàng)頭部如圖4所示,它以4字節(jié)長度Magic魔數(shù)為標(biāo)示,Len為4字節(jié)整形數(shù),表示除配置項(xiàng)頭部外的配置條目長度,crc則記錄從配置條目I到η的crc校驗(yàn)和,保證配置的正確性。
      [0038]步驟S200,內(nèi)核啟動(dòng);
      [0039]步驟S300,讀取配置項(xiàng)頭部并檢查其正確性;
      [0040]步驟S400,若配置項(xiàng)頭部不正確,則將配置設(shè)置為空;
      [0041]步驟S500,若配置項(xiàng)頭部正確,則將隱藏分區(qū)的內(nèi)容讀取到內(nèi)存中;
      [0042]配置條目在內(nèi)核以哈稀鏈表方式存儲(chǔ),每個(gè)conf data表示一個(gè)配置條目,查找配置時(shí),以配置名為參數(shù),使用哈稀函數(shù)找到數(shù)組下標(biāo),然后遍歷該下標(biāo)鏈表,即可找到對(duì)應(yīng)配置,所述conf data包含了配置名、配置內(nèi)容以及指向下一個(gè)配置條目的指針。
      [0043]步驟S600,初始化netlink,等待應(yīng)用程序連接。
      [0044]netlink可自定義字段,本實(shí)施例中,所述netlink報(bào)文自定義字段包括op、Ien以及data三個(gè)字段,分別描述為:
      [0045]op:報(bào)文類型,I表示檢查配置,2表示set保存配置,3表示get獲取配置,4表示內(nèi)核回復(fù)報(bào)文,5表示提交配置;
      [0046]Ien:數(shù)據(jù)長度,表不data字段報(bào)文長度;
      [0047]data:含配置信息,可直接是配置文件或字符串類型等任意格式。
      [0048]上述步驟表明,Linux隱藏配置文件的關(guān)鍵步驟在于在內(nèi)核啟動(dòng)后,也將隱藏分區(qū)的內(nèi)容讀取到內(nèi)存中,只是普通用戶看不見,需要用特定的方式才可以讀取配置文件并應(yīng)用。
      [0049]上述步驟SlOO?步驟S600,隱藏分區(qū)的內(nèi)容即配置已經(jīng)讀取到內(nèi)核中,且netlink初始化,等待應(yīng)用程序連接。
      [0050]參閱圖6,應(yīng)用程序連接內(nèi)核包括:
      [0051]步驟S10,應(yīng)用程序啟動(dòng);
      [0052]步驟S20,發(fā)送netlink消息給內(nèi)核,檢查配置是否為空;
      [0053]步驟S30,若配置為空,則下發(fā)默認(rèn)配置。
      [0054]在配置不為空,則應(yīng)用程序通過netlink正常獲取配置。
      [0055]應(yīng)用程序獲取配置的方式如下:
      [0056]A)填充并發(fā)送圖5所示的netlink報(bào)文,其中op字段為3,Ien字段為data數(shù)據(jù)長度,data為配置名,當(dāng)data為空時(shí)表示獲取所有配置;
      [0057]B)內(nèi)核接收到netlink報(bào)文后,若配置名非空,則通過該名在哈稀鏈表找到相應(yīng)配置,以“配置名=配置內(nèi)容”為數(shù)據(jù),填充報(bào)文并返回給應(yīng)用程序。若配置名為空,則表明獲取所有配置,需遍歷哈稀鏈,將所有數(shù)據(jù)填充到data區(qū)域,返回給應(yīng)用程序。
      [0058]C)應(yīng)用程序收到配置后做相應(yīng)處理。
      [0059]內(nèi)核接收到報(bào)文后,若配置名非空,則通過該名在哈稀鏈表找到相應(yīng)配置,以’配置名=配置內(nèi)容’為數(shù)據(jù),填充報(bào)文并返回給應(yīng)用程序。若配置名為空,則表明獲取所有配置,需遍歷哈稀鏈,將所有數(shù)據(jù)填充到data區(qū)域,返回給應(yīng)用程序。
      [0060]應(yīng)用程序收到配置后做相應(yīng)處理。
      [0061]我們還可以采用netlink報(bào)文對(duì)配置進(jìn)行添加和/或修改。
      [0062]1、填充并發(fā)送圖5所示的netlink報(bào)文,op字段為2,Ien字段為data長度,data為“配置名=配置內(nèi)容”。
      [0063]2、內(nèi)核收到報(bào)文后,以配置名為參數(shù),通過哈稀函數(shù)找到對(duì)應(yīng)數(shù)組下標(biāo),遍歷對(duì)應(yīng)鏈表,如找到配置名,則直接修改conf_data數(shù)據(jù);若未找到,則新建conf_data結(jié)點(diǎn),填寫結(jié)點(diǎn)配置名和配置內(nèi)容,最后添加到鏈表中。
      [0064]內(nèi)核保存的配置在內(nèi)存中,斷電后無法保存,而如果每次修改配置,都燒寫Flash,會(huì)容易引起flash頻繁燒寫,減少flash壽命。為了延長flash壽命,一般應(yīng)用程序添加和/或修改內(nèi)核中的配置時(shí),如下操作:
      [0065]應(yīng)用程序添加和/或修改內(nèi)核中的配置;
      [0066]添加和/或修改的配置保存于內(nèi)存中;
      [0067]確定后再寫入flash。
      [0068]采用本發(fā)明方法后,在flash分區(qū)中的bootloader中的一塊連續(xù)區(qū)域,所述區(qū)域隱藏于其他區(qū)域,配置文件在所述隱藏分區(qū)以非文件形式存儲(chǔ),內(nèi)核啟動(dòng)后將隱藏分區(qū)的內(nèi)容讀取到內(nèi)存中,應(yīng)用程序跟內(nèi)核的交互采用net I ink連接,而net I ink自由的自定義字段,使得配置文件對(duì)于非研發(fā)人員來說是不可獲知的,即配置對(duì)用戶來說是隱藏的,保證了系統(tǒng)的安全。
      [0069]以上僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
      【權(quán)利要求】
      1.一種Linux隱藏配置文件的方法,其特征在于,包括: 步驟I,從flash的bootloader中劃出一塊連續(xù)區(qū)域,所述區(qū)域隱藏于其他flash分區(qū),將配置文件以非文件形式存儲(chǔ)于所述隱藏分區(qū); 步驟2,內(nèi)核啟動(dòng)時(shí),將隱藏分區(qū)的內(nèi)容讀取到內(nèi)存中; 步驟3,初始化netlink,等待應(yīng)用程序連接。
      2.根據(jù)權(quán)利要求1所述Linux隱藏配置文件的方法,其特征在于,所述隱藏分區(qū)包括用于檢驗(yàn)配置正確性的配置項(xiàng)頭部和多項(xiàng)配置條目。
      3.根據(jù)權(quán)利要求2所述的Linux隱藏配置文件的方法,其特征在于,所述配置條目包括配置名和配置內(nèi)容。
      4.根據(jù)權(quán)利要求2所述的Linux隱藏配置文件的方法,其特征在于,所述內(nèi)核啟動(dòng)時(shí),將隱藏分區(qū)的內(nèi)容讀取到內(nèi)存中的步驟包括: 內(nèi)核啟動(dòng)時(shí),讀取配置項(xiàng)頭部并檢查其正確性; 若配置項(xiàng)頭部正確,則將隱藏分區(qū)的內(nèi)容讀取到內(nèi)存中,否則將配置設(shè)置為空。
      5.根據(jù)權(quán)利要求3所述的Linux隱藏配置文件的方法,其特征在于,配置條目在內(nèi)核以哈稀鏈表方式存儲(chǔ),每個(gè)conf data表示一個(gè)配置條目,查找配置時(shí),以配置名為參數(shù),使用哈稀函數(shù)找到數(shù)組下標(biāo),然后遍歷該下標(biāo)鏈表,即可找到對(duì)應(yīng)配置,所述conf data包含了配置名、配置內(nèi)容以及指向下一個(gè)配置條目的指針。
      6.根據(jù)權(quán)利要求5所述的Linux隱藏配置文件的方法,其特征在于,所述netI ink報(bào)文自定義字段包括op、Ien以及data三個(gè)字段,分別描述為: op:報(bào)文類型,I表示檢查配置,2表示set保存配置,3表示get獲取配置,4表示內(nèi)核回復(fù)報(bào)文,5表示提交配置; Ien:數(shù)據(jù)長度,表示data字段報(bào)文長度; data:含配置信息,可直接是配置文件或字符串類型等任意格式。
      7.根據(jù)權(quán)利要求6所述的Linux隱藏配置文件的方法,其特征在于,還包括: 當(dāng)應(yīng)用程序啟動(dòng)后,發(fā)送netlink消息給內(nèi)核,檢查配置是否為空; 若配置為空,則下發(fā)默認(rèn)配置。
      8.根據(jù)權(quán)利要求6所述的Linux隱藏配置文件的方法,其特征在于,還包括: 應(yīng)用程序添加和/或修改內(nèi)核中的配置; 添加和/或修改的配置保存于內(nèi)存中; 確定后再寫入flash。
      【文檔編號(hào)】G06F21/78GK104463031SQ201410717425
      【公開日】2015年3月25日 申請(qǐng)日期:2014年12月1日 優(yōu)先權(quán)日:2014年12月1日
      【發(fā)明者】王東華, 黃沁宇, 劉馳 申請(qǐng)人:上海斐訊數(shù)據(jù)通信技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1