一种系统关键文件保护方法、电子设备、存储介质及装置与流程

文档序号:35924488发布日期:2023-11-04 13:13阅读:44来源:国知局
一种系统关键文件保护方法、电子设备、存储介质及装置与流程

本发明涉及操作系统文件保护领域,具体涉及一种系统关键文件保护方法、电子设备、存储介质及装置。


背景技术:

1、近年来,操作系统已经得到长远的发展,且逐渐向资源管理效率更高、资源利用率更高、性能更强的方向演进。对于这些优化改进,均依赖于底层硬件。考虑到软件、硬件的兼容性,底层硬件的管理方法通常不会发生较大改动,如文件系统表fstab。

2、内核启动包括初始化串口、内存、中断等必要的设备以及其他设备初始化。内核启动完毕后,会根据用户配置的启动参数初始化文件系统,文件系统初始化一般有两种方式,第一种是根据init启动,一般是嵌入式的文件系统,例如,配置rdinit=/init,内核会尝试执行文件系统根目录的init脚本进行初始化;另一种是利用systemd拉起服务(一种开机启动服务),此为一种常见的文件系统初始化方式,例如,配置root=/mnt/ramfs,内核会挂载/mnt/ramfs作为根目录;配置root=uuid=xxxxxx,内核会根据uuid(universallyunique identifier,通用唯一识别码)从硬盘加载文件系统。

3、在使用systemd拉起服务的方式进行文件系统初始化过程中,文件系统表是从/etc/fstab(文件系统描述文件)读取的,fstab(用来存放文件系统的静态信息的文件)被设计为配置一个规则,在该规则中,检测特定的文件系统,然后在每次系统引导时自动按照用户所需的顺序安装。这种方法不仅减少了工作量,而且避免了用户手动挂载造成的加载顺序错误。

4、可以看出,/etc/fstab中包含了系统启动过程所有可以挂载的文件系统描述信息。/etc/fstab文件在装机过程自动或手工生成,装机后可以根据实际的文件系统变化进行手动修改。例如,装机后向系统中加入一块数据磁盘,在进行格式化磁盘后,需要根据文件系统类型、设备名称、uuid等内容手动向/etc/fstab中添加一行描述信息,这样重启系统后可自动挂载磁盘。

5、/etc/fstab包含系统可挂载的文件系统的描述性信息。理论上/etc/fstab仅由(systemd-)fsck(用于负责检查根文件系统)、mount(挂载)、umount(卸载)等程序读取,只有系统管理员有权限正确创建和修改此文件。装机后若向系统中添加磁盘,需要手动修改/etc/fstab文件,当然也可以部署自动化脚本,这样,重启系统后新磁盘分区可被自动挂载。

6、向/etc/fstab中添加新的挂载项需要满足以下几点:

7、1、挂载点顺序应保证挂载点的父级挂载点优先于子挂载点挂载,如挂载点“/”条目必须在挂载点“/boot”条目之前,若为efi启动,挂载点“/boot/efi/”条目必须在挂载点“/boot”条目之后;

8、2、挂载点目录必须存在;

9、3、被挂载的设备必须存在,若使用uuid或partuuid,需要保证uuid存在;

10、4、文件系统类型必须支持,如果文件系统类型为xfs(一种高性能的日志文件系统),那么,内核必须支持这个文件系统类型;从上述修改/etc/fstab注意点看,修改/etc/fstab存在较大风险。

11、综上可得,向/etc/fstab中添加新的挂载项注意事项来看,无论采用手工修改还是使用脚本修改/etc/fstab文件,均不能保证添加内容在/etc/fstab中的合法性和可用性。在实际生产过程中,由于向/etc/fstab中添加不可用挂载条目导致系统无法正常启动的情况时有发生,这种修改错误,极大增加了系统的运维风险,降低了系统的可用性。


技术实现思路

1、针对现有技术中存在的缺陷,本发明的目的在于提供一种系统关键文件保护方法、电子设备、存储介质及装置,能够有效避免因修改/etc/fstab文件导致的系统无法正常启动的问题。

2、为达到以上目的,本发明提供一种系统关键文件保护方法,具体包括以下步骤:

3、部署fstab监控保护机制,并使能fstab.service服务,并进行当前系统/etc/fstab文件合法性的检测;

4、基于检测结果得到当前系统/etc/fstab文件合法时,备份/etc/fstab文件并启动inotify监控;

5、根据inotify监控对当前系统/etc/fstab文件的监控,以当文件发生修改时,基于备份的/etc/fstab文件实现当前系统/etc/fstab文件的恢复。

6、在上述技术方案的基础上,所述部署fstab监控保护机制,并使能fstab.service服务,并进行当前系统/etc/fstab文件合法性的检测,具体步骤包括:

7、部署fstab监控保护机制,并使能fstab.service服务;

8、fstab.service服务启动阶段,进行当前系统/etc/fstab文件合法性的检测。

9、在上述技术方案的基础上,所述基于检测结果得到当前系统/etc/fstab文件合法时,备份/etc/fstab文件并启动inotify监控,具体步骤包括:

10、根据对当前系统/etc/fstab文件合法性的检测结果:

11、当检测得到当前系统/etc/fstab文件不合法时,则fstab.service服务启动失败,并结束;

12、当检测得到当前系统/etc/fstab文件合法时,对当前系统的/etc/fstab文件进行备份,并启动inotify监控。

13、在上述技术方案的基础上,所述进行当前系统/etc/fstab文件合法性的检测,具体的:

14、基于findmnt--verify命令,实现当前系统/etc/fstab文件合法性的检测。

15、在上述技术方案的基础上,所述根据inotify监控对当前系统/etc/fstab文件的监控,以当文件发生修改时,基于备份的/etc/fstab文件实现当前系统/etc/fstab文件的恢复,具体步骤包括:

16、根据inotify监控对当前系统/etc/fstab文件的监控:

17、当监控得到当前系统/etc/fstab文件被删除时,基于备份的/etc/fstab文件进行当前系统/etc/fstab文件的恢复;

18、当监控得到当前系统/etc/fstab文件被修改时,根据当前系统/etc/fstab文件被修改的合法性,基于备份的/etc/fstab文件进行当前系统/etc/fstab文件的恢复;

19、当监控得到当前系统/etc/fstab文件被重命名时,基于备份的/etc/fstab文件进行当前系统/etc/fstab文件的恢复。

20、在上述技术方案的基础上,所述当监控得到当前系统/etc/fstab文件被修改时,根据当前系统/etc/fstab文件被修改的合法性,基于备份的/etc/fstab文件进行当前系统/etc/fstab文件的恢复,具体步骤包括:

21、当监控得到当前系统/etc/fstab文件被修改时,进行修改合法性的判断:

22、若为不合法,则基于备份的/etc/fstab文件进行当前系统/etc/fstab文件的恢复;

23、若合法,则重新对当前系统的/etc/fstab文件进行备份。

24、在上述技术方案的基础上,所述fstab.service服务被设置为开机自启状态。

25、本发明提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述所述系统关键文件保护方法的步骤。

26、本发明提供的一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述所述系统关键文件保护方法的步骤。

27、本发明提供的一种系统关键文件保护装置,包括:

28、部署模块,其用于部署fstab监控保护机制,并使能fstab.service服务,并进行当前系统/etc/fstab文件合法性的检测;

29、备份模块,其用于基于检测结果得到当前系统/etc/fstab文件合法时,备份/etc/fstab文件并启动inotify监控;

30、恢复模块,其用于根据inotify监控对当前系统/etc/fstab文件的监控,以当文件发生修改时,基于备份的/etc/fstab文件实现当前系统/etc/fstab文件的恢复。

31、与现有技术相比,本发明的优点在于:通过部署fstab监控保护机制,并使能fstab.service服务,并进行当前系统/etc/fstab文件合法性的检测,然后基于检测结果得到当前系统/etc/fstab文件合法时,备份/etc/fstab文件并启动inotify监控,然后根据inotify监控对当前系统/etc/fstab文件的监控,以当文件发生修改时,基于备份的/etc/fstab文件实现当前系统/etc/fstab文件的恢复,即实现对/etc/fstab文件的修改保护,若修改不合法或被删除,则从备份文件恢复原文件,若修改合法,只需更新备份文件即可,有效避免因修改/etc/fstab文件导致的系统无法正常启动的问题;同时,采用服务的方式启动/etc/fstab文件保护守护进程,运维人员无需作出额外任何操作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1