一种保护系统文件的方法及系统的制作方法

文档序号:6622420阅读:134来源:国知局
一种保护系统文件的方法及系统的制作方法
【专利摘要】本发明提供一种保护文件的方法,所述方法包括:建立一个包括禁止删除的文件的全路径文件名的禁止删除列表文件;在系统对待删除文件执行删除操作时,检查所述待删除文件是否在所述禁止删除列表文件中,如果是,则将所述待删除文件的全路径文件名保存在一已删除文件列表中,结束删除操作;如果否,则删除所述待删除文件。本发明的技术方案能够对需要禁止删除的文件进行保护,避免不能删除的系统文件或其他重要文件被用户错误删除,从而保证了系统的稳定性。
【专利说明】一种保护系统文件的方法及系统

【技术领域】
[0001] 本发明涉及一种计算机系统安全,特别是涉及一种保护系统文件的方法及系统。

【背景技术】
[0002] 随着现代智能终端的普及和用户个性化需求的增加,使得用户常常希望能进行一 些个性化的操作。目前市场上存在不少第三方的root工具,这些第三方的root工具可以让 用户对基于Android系统的移动终端进行root权限操作。Android系统的用户可以通过这 些第三方root工具实现对Android系统的超级用户权限操作(即root权限操作),此时,用 户拥有整个系统至高无上的权力,所有对象他都可以操作。但由于一般用户对Android系 统并不熟悉,当拥有root权限操作的一般用户对Android系统进行各种操作时,由于一般 用户不清楚哪些文件是重要的系统文件,很可能错误的把重要的系统文件删除,这将导致 系统出现严重的故障,常常使得Android系统再次启动时不能正常工作或者使得Android 系统无法正常启动。
[0003] 同样的问题也存在于其他采用linux/Unix内核的系统中。因此,如何防止超级用 户权限的终端用户把重要的系统文件错误的删除,成为一个亟待解决的问题。


【发明内容】

[0004] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种保护文件的方法及系 统,用于解决现有技术中拥有超级用户权限的终端用户把重要的系统文件错误的删除的问 题。
[0005] 为实现上述目的及其他相关目的,本发明提供一种保护文件的方法,所述方法包 括:建立一个包括禁止删除的文件的全路径文件名的禁止删除列表文件;在系统对待删除 文件执行删除操作时,检查所述待删除文件是否在所述禁止删除列表文件中,如果是,则将 所述待删除文件的全路径文件名保存在一已删除文件列表中,结束删除操作;如果否,则删 除所述待删除文件。
[0006] 优选地,所述方法还包括在系统对文件目录执行查看操作时,对所述文件目录下 的每个待查看文件,检查所述待查看文件是否在所述已删除文件列表中,如果是,则不返回 所述待查看文件信息;如果否,则返回所述待查看文件信息。
[0007] 优选地,所述系统包括基于Linux内核的操作系统中。
[0008] 优选地,所述基于Linux内核的操作系统包括Android系统。
[0009] 优选地,所述系统对待删除文件执行删除操作的具体实现包括在Linux内核中执 行到虚拟文件系统接口函数vfs_unlink时,在vfs_unlink函数中检查所述待删除文件是 否在禁止删除文件列表中,如果是,则将所述待删除文件的全路径文件名保存在一已删除 文件列表中,结束删除操作;如果否,则删除所述待删除文件。
[0010] 优选地,所述系统为基于Linux内核的操作系统,所述对文件目录执行查看操作 的具体实现包括:Linux内核中执行到虚拟文件系统接口函数vfs_readdir时,在vfs_ readdir函数中检查所述文件目录是否在禁止删除文件列表中,如果是,则不返回所述待查 看文件信息;如果否,则返回所述待查看文件信息。
[0011] 优选地,用户可以修改所述禁止删除列表文件。
[0012] 优选地,所述已删除文件列表只存在内存中。
[0013] 本发明还提供一种操作系统,所述操作系统包括禁止删除文件列表单元以及删除 保护单元;所述禁止删除文件列表单元用于保存禁止删除的文件的全路径文件名;所述删 除保护单元与所述禁止删除文件列表单元相连,用于在系统对待删除文件执行删除操作 时,检查所述待删除文件是否在所述禁止删除的文件中,如果是,则将所述文件的全路径文 件名保存在一已删除文件列表中,结束删除操作;如果否,则删除所述待删除文件。
[0014] 优选地,所述操作系统还包括显示保护单元,与所述删除保护单元相连,用于在系 统对文件目录执行查看操作时,对所述文件目录下的每个待查看文件,检查所述待查看文 件是否在所述已删除文件列表中,如果是,则不返回所述待查看文件信息;如果否,则返回 所述待查看文件信息。
[0015] 如上所述,本发明的一种保护文件的方法及系统,具有以下有益效果:能够对需要 禁止删除的文件进行保护,避免不能删除的系统文件或其他重要文件被用户错误删除,从 而保证了系统的稳定性。

【专利附图】

【附图说明】
[0016] 图1显示为本发明的一种保护文件的方法的一实施例的流程示意图。
[0017] 图2显示为本发明的一种保护文件的方法的一实施例的流程示意图。
[0018] 图3显示为本发明的一种保护文件的方法的一实施例的流程示意图。
[0019] 图4显示为本发明的一种保护文件的方法的一实施例的流程示意图。
[0020] 图5显示为本发明的一种保护文件的方法的一实施例的模块结构示意图。
[0021] 图6显示为本发明的一种保护文件的方法的一实施例的模块结构示意图。
[0022] 元件标号说明
[0023] 1 操作系统
[0024] 11 禁止删除列表单元
[0025] 12 删除保护单元
[0026] 13 显示保护单元
[0027] S1 ?S3 步骤

【具体实施方式】
[0028] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书 所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实 施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离 本发明的精神下进行各种修饰或改变。
[0029] 需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想, 遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘 制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可 能更为复杂。
[0030] 为实现上述目的及其他相关目的,本发明提供一种保护文件的方法。参见图1所 示,所述保护文件的方法包括以下步骤:
[0031] 步骤S1,建立一个包括禁止删除的文件的全路径文件名的禁止删除列表文件。所 述禁止删除列表文件可以是文本文件,也可以是数据表格文件等,在所述禁止删除列表文 件中,存储了本系统中需要禁止删除的文件的全路径文件名。所述全路径文件名是指包括 了文件路径的文件名。例如,在Linux系统中,passwd文件存放在/etc目录下,passwd文 件的全路径文件名为/etc/passwd。在一个系统中,所述全路径文件名唯一指定了一个文 件。用户可以将需要保护的系统文件名都存放与所述禁止删除列表文件中,这样,这些需要 保护的系统文件就可以避免被用户错误操作删除了。优选地,用户可以根据需要对所述禁 止删除列表文件进行修改,具体包括删除禁止删除列表文件中的全路径文件名,增加新的 全路径文件名等。
[0032] 步骤S2,在系统对待删除文件执行删除操作时,检查所述待删除文件是否在所述 禁止删除列表文件中,如果是,则将所述待删除文件的全路径文件名保存在一已删除文件 列表中,结束删除操作;如果否,则删除所述待删除文件。具体地,在系统对一个待删除文件 执行删除操作时,打开所述禁止删除列表文件,并逐一读取所述禁止删除列表文件中的全 路径文件名,将所读取的全路径文件名与待删除文件的全路径文件名进行比较,如果两者 相同,则说明所述待删除文件在所述禁止删除列表文件中,将所述待删除文件的全路径文 件名保存在一个已删除文件列表中。此时结束对禁止删除列表文件中的全路径文件名的读 取,并且不对所述待删除文件进行真正的删除,直接结束删除操作。如果逐一读取所述禁止 删除列表文件中的全路径文件名,将所读取的全路径文件名与待删除文件的全路径文件名 进行比较,如果所述禁止删除列表文件中的所有全路径文件名都不相同,则正常删除所述 待删除文件。为了加快系统运行的效率,在系统运行时,系统也可以将所述禁止删除列表文 件中的所有全路径文件名读入到内存,并将所有全路径文件名常驻内存中,以便于将所述 全路径文件名与待删除文件名的比较。
[0033] 在一个实施例中,所述保护文件方法中的所述系统为基于Linux内核的操作系 统。所述基于Linux内核的操作系统内包括Android系统。在基于Linux内核的操作系统 中,采用了虚拟文件系统(Virtual File System, VFS)。VFS是Linux内核虚拟文件系统框 架,用于屏蔽各种文件系统的差异,为Linux其他模块提供了统一的文件系统操作接口。例 如:vfs_unlink是Linux内核虚拟文件系统VFS中用于删除文件的标准接口。vfs_readdir 是Linux内核虚拟文件系统中用于显示目录文件中的文件的标准接口。在基于Linux内核 的操作系统中,可以通过在Linux的虚拟文件系统层进行一定的处理操作,来实现文件的 删除和自动恢复。在其他实施例中,本发明的保护文件的方法中的系统还包括如ecos等其 他操作系统。
[0034] 在一个实施例中,如图3所示,所述保护文件的方法中的所述系统为基于Linux内 核的操作系统。所述基于Linux内核的操作系统内包括Android系统。当用户执行删除一个 文件的操作时,Linux系统将会执行到虚拟文件系统接口函数vfs_unlink。在vfs_unlink 函数中,检查该文件是否在禁止删除列表文件中。如果该文件不在禁止删除列表文件中, 即所述禁止删除列表文件中并不包含所述待删除的文件,则正常删除该文件,结束对文件 的删除操作。如果该文件在禁止删除列表文件中,即所述禁止删除列表文件中包含所述待 删除的文件,则将所述文件路径信息(即待删除文件的全路径文件名)保存到已删除文件 列表中,不执行删除磁盘文件的操作,直接返回删除成功,结束对该文件的删除操作。实际 上,所述文件并未真正被删除,对该文件的删除操作只是将所述文件加入到已删除文件列 表中。所述已删除文件列表可以只存在于内存中,以链表或其他方式存在于内存中。当已 删除文件列表只存在于内存中时,系统重新启动后,所述已删除文件列表自然为空,系统恢 复到对所有的禁止删除文件都未删除的状态。所述已删除文件列表也可以保存到一个与登 录用户相关的删除文件中,此时,如果系统重启,该用户重新登录,读取该删除文件,则可以 保持其以前的已删除文件列表,当然,这些文件实际上还是存在的。如果是其他用户登录, 则并不读取该文件,系统恢复到对所有的禁止删除文件都未删除的状态。
[0035] 如图2所示,在一个实施例中,所示保护文件的方法不仅包括上述步骤S1和步骤 S2,而且还包括步骤S3。步骤S3为:在系统对文件目录执行查看操作时,对所述文件目录 下的每个待查看文件,检查所述待查看文件是否在所述已删除文件列表中,如果是,则不返 回所述待查看文件信息;如果否,则返回所述待查看文件信息。具体地,在系统对一个文件 目录执行查看操作时,对读取的所述文件目录上的每一个文件(即每个待查看文件),进行 下列操作:将所读取所述文件目录上的文件(待查看文件)的全路径文件名与已删除文件 列表中的全路径文件名进行逐一比较,如果两者相同,则说明所述待查看文件在所述已删 除列表文件中。此时不返回所述待查看文件信息,相当于把该待查看文件当作不存在的文 件。将所读取所述文件目录上的文件(待查看文件)的全路径文件名与已删除文件列表中 的全路径文件名进行逐一比较,如果都不相同,则说明所述待查看文件不在所述已删除列 表文件中。此时返回所述待查看文件信息,即系统正常获取到该待查看文件信息。在实际 的操作中,该方法使得用户查看某个目录时,该目录下被用户删除的文件并不显示,即对用 户而言,相当于是已删除的文件。而其他文件正常显示。
[0036] 在一个实施例中,如图4所示,所述保护文件的方法中的所述系统为基于Linux内 核的操作系统。所述基于Linux内核的操作系统内包括Android系统。当用户执行查看一 个文件目录的操作时,Linux系统将会执行到虚拟文件系统接口函数vfs_readdir。在vfs_ readdir函数中,对所述文件目录下的每一个文件(即每一个待查看文件),检查该文件是 否在已删除文件列表中。如果该文件不在已删除文件列表中,即所述已删除文件列表中并 不包含所述待查看文件,则正常显示该文件。如果该文件在已删除文件列表中,即所述已删 除文件列表中包含所述待查看文件,则不返回该文件的信息,此时不显示该文件。
[0037] 在具体的实施中,所述步骤2和步骤3的可以反复执行,而且不需要严格执行顺 序,并不以上述实施例为限。在一个实施例中,系统启动后,自动建立空的一个已删除文件 列表;此时,可以在尚未执行步骤2的情况下执行步骤3。
[0038] 本发明还提供一种操作系统。在一个实施例中,如图5所示,所述操作系统1包括 禁止删除文件列表单元11和删除保护单元12。
[0039] 所述禁止删除文件列表单元11用于保存禁止删除的文件的全路径文件名。
[0040] 所述删除保护单元12与所述禁止删除文件列表单元11相连,从所述禁止删除文 件列表单元中获取所有禁止删除的文件的全路径文件名。所述删除保护单元12用于在系 统对待删除文件执行删除操作时,检查所述待删除文件是否在所述禁止删除的文件中。如 果是,所述待删除文件在所述禁止删除的文件中,则将所述文件的全路径文件名保存在一 已删除文件列表中,结束删除操作;如果否,所述待删除文件不在所述禁止删除的文件中, 则删除所述待删除文件。
[0041] 在一个实施例中,如图6所示,所述操作系统1包括禁止删除文件列表单元11、删 除保护单元12以及显示保护单元13。
[0042] 所述禁止删除文件列表单元11用于保存禁止删除的文件的全路径文件名。
[0043] 所述删除保护单元12与所述禁止删除文件列表单元11相连,从所述禁止删除文 件列表单元中获取所有禁止删除的文件的全路径文件名。所述删除保护单元12用于在系 统对待删除文件执行删除操作时,检查所述待删除文件是否在所述禁止删除的文件中。如 果是,所述待删除文件在所述禁止删除的文件中,则将所述文件的全路径文件名保存在一 已删除文件列表中,结束删除操作;如果否,所述待删除文件不在所述禁止删除的文件中, 则删除所述待删除文件。
[0044] 所述显示保护单元13与所述删除保护单元12相连,从所述删除保护单元12中获 取已删除文件列表。所述显示保护单元13用于在系统对文件目录执行查看操作时,对所述 文件目录下的每个待查看文件,检查所述待查看文件是否在所述已删除文件列表中。如果 是,所述待查看文件在所述已删除文件列表中,则不返回所述待查看文件信息,不向用户显 示该文件。如果否,所述待查看文件不在所述已删除文件列表中,则返回所述待查看文件信 息,向用户正常显示该文件。
[0045] 在不同的实施例中,本发明的操作系统可以包括基于Linux内核的操作系统,如 Android系统等。本发明的操作系统还可以是其他操作系统,尤其是手机操作系统。
[0046] 综上所述,本发明的一种保护文件的方法及系统,具有以下有益效果:能够对需要 禁止删除的文件进行保护,避免不能删除的系统文件或其他重要文件被用户错误删除,从 而保证了系统的稳定性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利 用价值。
[0047] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟 悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因 此,举凡所属【技术领域】中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完 成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【权利要求】
1. 一种保护文件的方法,其特征在于,所述方法包括: 建立一个包括禁止删除的文件的全路径文件名的禁止删除列表文件; 在系统对待删除文件执行删除操作时,检查所述待删除文件是否在所述禁止删除列表 文件中,如果是,则将所述待删除文件的全路径文件名保存在一已删除文件列表中,结束删 除操作;如果否,则删除所述待删除文件。
2. 根据权利要求1所述的保护文件的方法,其特征在于:所述方法还包括在系统对文 件目录执行查看操作时,对所述文件目录下的每个待查看文件,检查所述待查看文件是否 在所述已删除文件列表中,如果是,则不返回所述待查看文件信息;如果否,则返回所述待 查看文件信息。
3. 根据权利要求1或2所述的保护文件的方法,其特征在于:所述系统包括基于Linux 内核的操作系统中。
4. 根据权利要求3所述的保护文件的方法,其特征在于:所述基于Linux内核的操作 系统包括Android系统。
5. 根据权利要求3所述的保护文件的方法,其特征在于:所述系统对待删除文件执行 删除操作的具体实现包括在Linux内核中执行到虚拟文件系统接口函数vfs_unlink时,在 vfs_unlink函数中检查所述待删除文件是否在禁止删除文件列表中,如果是,则将所述待 删除文件的全路径文件名保存在一个已删除文件列表中,结束删除操作;如果否,则删除所 述待删除文件。
6. 根据权利要求2所述的保护文件的方法,其特征在于:所述系统为基于Linux内核 的操作系统,所述对文件目录执行查看操作的具体实现包括 :Linux内核中执行到虚拟文 件系统接口函数vfs_readdir时,在vfs_readdir函数中检查所述文件目录是否在禁止删 除文件列表中,如果是,则不返回所述待查看文件信息;如果否,则返回所述待查看文件信 肩、。
7. 根据权利要求1所述的保护文件的方法,其特征在于:用户可以修改所述禁止删除 列表文件。
8. 根据权利要求1所述的保护文件的方法,其特征在于:所述已删除文件列表只存在 内存中。
9. 一种操作系统,其特征在于:所述操作系统包括: 禁止删除文件列表单元,用于保存禁止删除的文件的全路径文件名; 删除保护单元,与所述禁止删除文件列表单元相连,用于在系统对待删除文件执行删 除操作时,检查所述待删除文件是否在所述禁止删除的文件中,如果是,则将所述文件的全 路径文件名保存在一已删除文件列表中,结束删除操作;如果否,则删除所述待删除文件。
10. 根据权利要求9所述的操作系统,其特征在于:所述操作系统还包括: 显示保护单元,与所述删除保护单元相连,用于在系统对文件目录执行查看操作时,对 所述文件目录下的每个待查看文件,检查所述待查看文件是否在所述已删除文件列表中, 如果是,则不返回所述待查看文件信息;如果否,则返回所述待查看文件信息。
【文档编号】G06F21/71GK104143069SQ201410379880
【公开日】2014年11月12日 申请日期:2014年8月4日 优先权日:2014年8月4日
【发明者】耿兴欢, 周玲莉 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1