一种Linux隐藏配置文件的方法技术

技术编号:11188010 阅读:55 留言:0更新日期:2015-03-25 16:50
本发明专利技术提供了一种Linux隐藏配置文件的方法,包括:步骤1,从flash的bootloader中划出一块连续区域,所述区域隐藏于其他flash分区,将配置文件以非文件形式存储于所述隐藏分区;步骤2,内核启动时,将隐藏分区的内容读取到内存中;步骤3,初始化netlink,等待应用程序连接。采用本发明专利技术技术方案后,在flash分区中的bootloader中的一块连续区域,所述区域隐藏于其他区域,配置文件在所述隐藏分区以非文件形式存储,内核启动后将隐藏分区的内容读取到内存中,应用程序跟内核的交互采用netlink连接,而netlink自由的自定义字段,使得配置文件对于非研发人员来说是不可获知的,即配置对用户来说是隐藏的,保证了系统的安全。

【技术实现步骤摘要】
一种L i nux隐藏配置文件的方法
本专利技术涉及Linux配置文件的
,尤其涉及。
技术介绍
—般Linux配置以实体文件存放于文件系统,而文件系统以一定格式存放于flash,如jffs2,ext2,ext3等,通过对如jffs2文件系统的读写,可找到相应的配置文件并查看。而对于一些非常重要的配置文件,我们不希望用户通过任何Iinux命令直接查看,也不在实际的文件系统显示。 如图1所示,Iinux的配置文件放于etc目录,各配置以可见文件形式存放其中,通过直接查看文件内容,我们可以了解相应的系统配置。对于有些配置,如涉及到系统安全,我们不希望任何用户可以看到其中信息,甚至在文件系统中不存在该配置文件。
技术实现思路
本专利技术需解决的技术问题是克服上述的不足,提供,其特征在于,包括: 步骤1,从flash的bootloader中划出一块连续区域,所述区域隐藏于其他flash分区,将配置文件以非文件形式存储于所述隐藏分区; 步骤2,内核启动时,将隐藏分区的内容读取到内存中; 步骤3,初始化netlink,等待应用程序连接。 进一步的,所述隐藏分区包括用于检验配置正确性的配置项头部和多项配置条目。 进一步的,所述配置条目包括配置名和配置内容。 进一步的,所述内核启动时,将隐藏分区的内容读取到内存中的步骤包括: 内核启动时,内核启动时,读取配置项头部并检查其正确性; 若配置项头部正确,则将隐藏分区的内容读取到内存中,否则将配置设置为空。 进一步的,配置条目在内核以哈稀链表方式存储,每个conf data表示一个配置条目,查找配置时,以配置名为参数,使用哈稀函数找到数组下标,然后遍历该下标链表,即可找到对应配置,所述conf data包含了配置名、配置内容以及指向下一个配置条目的指针。 进一步的,所述netlink报文自定义字段包括op、Ien以及data三个字段,分别描述为: op:报文类型,I表示检查配置,2表示set保存配置,3表示get获取配置,4表示内核回复报文,5表示提交配置; Ien:数据长度,表不data字段报文长度; data:含配置信息,可直接是配置文件或字符串类型等任意格式。 进一步的,还包括: 当应用程序启动后,发送netlink消息给内核,检查配置是否为空; 若配置为空,则下发默认配置。 进一步的,还包括: 应用程序添加和/或修改内核中的配置; 添加和/或修改的配置保存于内存中; 确定后再写入flash。 采用本专利技术方法后,在flash分区中的bootloader中的一块连续区域,所述区域隐藏于其他区域,配置文件在所述隐藏分区以非文件形式存储,内核启动后将隐藏分区的内容读取到内存中,应用程序跟内核的交互采用net I ink连接,而net I ink自由的自定义字段,使得配置文件对于非研发人员来说是不可获知的,即配置对用户来说是隐藏的,保证了系统的安全。 【附图说明】 图1是现有技术中的Iinux文件系统; 图2是本专利技术提供的Linux隐藏配置文件的方法的流程图; 图3是本专利技术提供的隐藏分区的flash格式; 图4为本专利技术提供的配置项头部格式; 图5为本专利技术提供的netlink的报文字段; 图6为应用程序启动的流程图。 【具体实施方式】 为了使本领域相关技术人员更好地理解本专利技术的技术方案,下面将结合本专利技术实施方式的附图,对本专利技术实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本专利技术一部分实施方式,而不是全部的实施方式。 下面结合附图和实施方式对本专利技术作进一步说明。 参阅图2,为本专利技术提供的一种实施方式的Linux隐藏配置文件的方法,本方法包括: 步骤S100,从flash的bootloader中划出一块连续区域,所述区域隐藏于其他flash分区,将配置文件以非文件形式存储于所述隐藏分区; 在Linux系统中,flash分为3个区,包括bootloader、kernel以及fs三个分区,bootloader相当于我们的b1s,kernel为内核,fs为文件系统。从bootloader分区中划出一块连续区域,该区域隐藏于其他flash,将配置文件以非文件形式存储于隐藏分区。划出来的区域不被用户获知。本实施例中,该隐藏区域为bootloader分区最后一段连续的区域。 参阅图3,隐藏分区包括用于检验配置正确性的配置项头部和多项配置条目,配置条目包括配置名和配置内容,一般采用配置名=配置内容的方式存储,例如password =123456。本实施例中,配置项头部如图4所示,它以4字节长度Magic魔数为标示,Len为4字节整形数,表示除配置项头部外的配置条目长度,crc则记录从配置条目I到η的crc校验和,保证配置的正确性。 步骤S200,内核启动; 步骤S300,读取配置项头部并检查其正确性; 步骤S400,若配置项头部不正确,则将配置设置为空; 步骤S500,若配置项头部正确,则将隐藏分区的内容读取到内存中; 配置条目在内核以哈稀链表方式存储,每个conf data表示一个配置条目,查找配置时,以配置名为参数,使用哈稀函数找到数组下标,然后遍历该下标链表,即可找到对应配置,所述conf data包含了配置名、配置内容以及指向下一个配置条目的指针。 步骤S600,初始化netlink,等待应用程序连接。 netlink可自定义字段,本实施例中,所述netlink报文自定义字段包括op、Ien以及data三个字段,分别描述为: op:报文类型,I表示检查配置,2表示set保存配置,3表示get获取配置,4表示内核回复报文,5表示提交配置; Ien:数据长度,表不data字段报文长度; data:含配置信息,可直接是配置文件或字符串类型等任意格式。 上述步骤表明,Linux隐藏配置文件的关键步骤在于在内核启动后,也将隐藏分区的内容读取到内存中,只是普通用户看不见,需要用特定的方式才可以读取配置文件并应用。 上述步骤SlOO?步骤S600,隐藏分区的内容即配置已经读取到内核中,且netlink初始化,等待应用程序连接。 参阅图6,应用程序连接内核包括: 步骤S10,应用程序启动; 步骤S20,发送netlink消息给内核,检查配置是否为空; 步骤S30,若配置为空,则下发默认配置。 在配置不为空,则应用程序通过netlink正常获取配置。 应用程序获取配置的方式如下: A)填充并发送图5所示的netlink报文,其中op字段为3,Ien字段为data数据长度,data为配置名,当data为空时表示获取所有配置; B)内核接收到netlink报文后,若配置名非空,则通过该名在哈稀链表找到相应配置,以“配置名=配置内容”为数据,填充报文并返回给应用程序。若配置名为空,则表明获取所有配置,需遍历哈稀链,将所有数据填充到data区域,返回给应用程序。 C)应用程序收到配置后做相应处理。 内核接收到报文后,若配置名非空,则通过该名在哈稀链表找到相应配置,以’配置名=配置内容’为数据,填充报文并返回给应用程序。若配置名为本文档来自技高网...
一种Linux隐藏配置文件的方法

【技术保护点】
一种Linux隐藏配置文件的方法,其特征在于,包括:步骤1,从flash的bootloader中划出一块连续区域,所述区域隐藏于其他flash分区,将配置文件以非文件形式存储于所述隐藏分区;步骤2,内核启动时,将隐藏分区的内容读取到内存中;步骤3,初始化netlink,等待应用程序连接。

【技术特征摘要】
1.一种Linux隐藏配置文件的方法,其特征在于,包括: 步骤I,从flash的bootloader中划出一块连续区域,所述区域隐藏于其他flash分区,将配置文件以非文件形式存储于所述隐藏分区; 步骤2,内核启动时,将隐藏分区的内容读取到内存中; 步骤3,初始化netlink,等待应用程序连接。2.根据权利要求1所述Linux隐藏配置文件的方法,其特征在于,所述隐藏分区包括用于检验配置正确性的配置项头部和多项配置条目。3.根据权利要求2所述的Linux隐藏配置文件的方法,其特征在于,所述配置条目包括配置名和配置内容。4.根据权利要求2所述的Linux隐藏配置文件的方法,其特征在于,所述内核启动时,将隐藏分区的内容读取到内存中的步骤包括: 内核启动时,读取配置项头部并检查其正确性; 若配置项头部正确,则将隐藏分区的内容读取到内存中,否则将配置设置为空。5.根据权利要求3所述的Linux隐藏配置文件的方法,其特征在于,配置条目在内核以哈稀链表方式存储,每个conf data表示一个配置...

【专利技术属性】
技术研发人员:王东华黄沁宇刘驰
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1