CN109977075A - 一种文件存储路径获取方法及装置 - Google Patents

一种文件存储路径获取方法及装置 Download PDF

Info

Publication number
CN109977075A
CN109977075A CN201910207749.6A CN201910207749A CN109977075A CN 109977075 A CN109977075 A CN 109977075A CN 201910207749 A CN201910207749 A CN 201910207749A CN 109977075 A CN109977075 A CN 109977075A
Authority
CN
China
Prior art keywords
file destination
chroot
root
store path
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910207749.6A
Other languages
English (en)
Inventor
璐句匠
贾佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING JIAOTU TECHNOLOGY Co Ltd
Original Assignee
BEIJING JIAOTU TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING JIAOTU TECHNOLOGY Co Ltd filed Critical BEIJING JIAOTU TECHNOLOGY Co Ltd
Priority to CN201910207749.6A priority Critical patent/CN109977075A/zh
Publication of CN109977075A publication Critical patent/CN109977075A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种文件存储路径获取方法及装置,通过监控chroot函数的调用,确定调用所述chroot函数的目标进程,所述chroot函数的调用过程为将目标文件的原始目录映射为根目录;在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录;获取所述目标文件在根目录下的存储路径;依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径。由于本申请获取到了目标文件的原始目录,进而依据所述原始目录以及所述目标文件在根目录下的存储路径,能够得到所述目标文件的实际存储路径,进而依据实际存储路径获取到进程访问的文件,实现对文件的监控。

Description

一种文件存储路径获取方法及装置
技术领域
本发明涉及计算机技术领域,具体涉及一种文件存储路径获取方法及装置。
背景技术
当前为了增加了***的安全性以及方便用户的***开发,通常在原Linux环境的基础上,通过chroot(change root directory,更改根目录)方式建立一个与原Linux环境相互隔离的新的Linux环境,称为Linux chroot环境。chroot方式为一种改变程序执行时所参考的根目录位置的方式,具体来说,在Linux***中,***默认的文件存储的目录结构都是以“/”开始的,“/”即为根,而在调用chroot方式之后,***的目录结构将以指定的位置作为“/”的位置。
在Linux主机防护***中,为了能够监控到进程访问的文件,需要获取文件的实际存储目录,但当调用了chroot方式后,文件的实际存储目录更改为根目录,Linux chroot环境下无法获取文件的实际存储目录,也就无法获取文件的实际存储路径,导致无法获取到进程访问的文件,最终导致监控失败。
发明内容
有鉴于此,本发明实施例提供一种文件存储路径获取方法及装置,能够获取文件的实际存储路径,进而依据实际存储路径获取到进程访问的文件,实现对文件的监控。
一种文件存储路径获取方法,包括:
监控chroot函数的调用,确定调用所述chroot函数的目标进程,所述chroot函数的调用过程为将目标文件的原始目录映射为根目录;
在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录;
获取所述目标文件在根目录下的存储路径;
依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径。
优选的,所述在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录之前,还包括:
从chroot函数中获取目标文件的目标原始目录;
判断预先设定的chroot参数列表中是否记录有所述目标进程;
如果预先设定的chroot参数列表中记录有所述目标进程,则从预先设定的chroot参数列表中判断所述目标进程对应的原始目录中是否存在所述目标原始目录;
如果在预先设定的chroot参数列表中包含的所述目标进程对应的原始目录中不存在所述目标原始目录,则将所述目标原始目录与目标进程的对应关系更新到所述预先设定的chroot参数列表中。
优选的,所述在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录的过程包括:
在所述目标进程操作所述目标文件时,依据所述目标进程,从预先设定的chroot参数列表中获取所述目标文件的目标原始目录。
优选的,所述获取所述目标文件在根目录下的存储路径的过程包括:
获取所述目标文件的相对存储路径,所述相对存储路径为不包含根目录的存储路径;
朝着存储路径结构树的根节点的方向,逐级查找所述相对存储路径对应的各级上级存储路径,直到查找到根目录的位置,其中,存储路径结构树的根节点的位置即为根目录;
将根目录、相对存储路径、以及位于根目录与相对存储路径之间的各级上级存储路径组成根目录下的存储路径。
优选的,所述依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径的过程包括:
将所述原始目录拼接在所述目标文件在根目录下的存储路径之前,得到所述目标文件的实际存储路径。
一种文件存储路径获取装置,包括:
目标进程确定模块,用于监控chroot函数的调用,确定调用所述chroot函数的目标进程,所述chroot函数的调用过程为将目标文件的原始目录映射为根目录;
原始目录获取模块,用于在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录;
存储路径获取模块,用于获取所述目标文件在根目录下的存储路径;
实际存储路径获取模块,用于依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径。
优选的,还包括:
目标原始目录获取模块,用于从chroot函数中获取目标文件的目标原始目录;
目标进程判断模块,用于判断预先设定的chroot参数列表中是否记录有所述目标进程;
目标原始目录判断模块,用于在目标进程判断模块判断出预先设定的chroot参数列表中记录有所述目标进程的情况下,从预先设定的chroot参数列表中判断所述目标进程对应的原始目录中是否存在所述目标原始目录;
更新模块,用于在目标原始目录判断模块判断出预先设定的chroot参数列表中包含的所述目标进程对应的原始目录中不存在所述目标原始目录的情况下,则将所述目标原始目录与目标进程的对应关系更新到所述预先设定的chroot参数列表中。
优选的,所述原始目录获取模块包括:
原始目录获取子模块,用于在所述目标进程操作所述目标文件时,依据所述目标进程,从预先设定的chroot参数列表中获取所述目标文件的目标原始目录。
优选的,所述存储路径获取模块包括:
相对存储路径获取模块,用于获取所述目标文件的相对存储路径,所述相对存储路径为不包含根目录的存储路径;
上级存储路径查找模块,用于朝着存储路径结构树的根节点的方向,逐级查找所述相对存储路径对应的各级上级存储路径,直到查找到根目录的位置,其中,存储路径结构树的根节点的位置即为根目录;
存储路径组合模块,用于将根目录、相对存储路径、以及位于根目录与相对存储路径之间的各级上级存储路径组成根目录下的存储路径。
优选的,所述实际存储路径获取模块包括:
实际存储路径获取子模块,用于将所述原始目录拼接在所述目标文件在根目录下的存储路径之前,得到所述目标文件的实际存储路径。
基于上述技术方案,本发明实施例公开了一种文件存储路径获取方法及装置,通过监控chroot函数的调用,确定调用所述chroot函数的目标进程,所述chroot函数的调用过程为将目标文件的原始目录映射为根目录;在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录;获取所述目标文件在根目录下的存储路径;依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径。由于本申请获取到了目标文件的原始目录,进而依据所述原始目录以及所述目标文件在根目录下的存储路径,能够得到所述目标文件的实际存储路径,进而依据实际存储路径获取到进程访问的文件,实现对文件的监控。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种文件存储路径获取方法的流程图;
图2为本发明实施例提供的另一种文件存储路径获取方法的流程图;
图3为本发明实施例提供的一种文件存储路径获取装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了一种文件存储路径获取方法的流程图,参照图1,所述方法可以包括:
步骤S100、监控chroot函数的调用,确定调用所述chroot函数的目标进程;
所述chroot函数的调用过程为将目标文件的原始目录映射为根目录。
本发明实施例在调用chroot函数后,将目标文件的原始目录映射为“/”根目录,进入chroot环境,目标文件的原始目录为目标文件的原始存储位置,例如原始目录可以为/桌面形式。
根目录即为目标文件存储的最上层的目录,即没有上层的目录项为根目录。本发明实施例中根目录为一个具体的存储位置,本发明实施例中并不限定根目录的具体的位置。
目标文件为目标进程对应的目标执行对象,例如当目标进程为打开word文档时,目标文件可以为对应的需要打开的word文档。
本发明实施例中可以采用对chroot函数进行插桩的方式,重定向到新函数。当chroot函数被调用时,新函数会取得控制权。在新函数中获取调用所述chroot函数的目标进程的PID,进而确定调用所述chroot函数的目标进程。
步骤S110、在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录;
步骤S120、获取所述目标文件在根目录下的存储路径;
由于chroot环境对进程是可见的,因此,调用所述chroot函数的目标进程在chroot环境下,只能获悉目标文件是存储在根目录下的,据此获取目标文件在根目录下的存储路径。
步骤S130、依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径。
本发明实施例通过调用chroot函数,将目标文件的原始目录映射为根目录;确定调用所述chroot函数的目标进程;在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录;获取所述目标文件在根目录下的存储路径;依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径。由于本申请获取到了目标文件的原始目录,进而依据所述原始目录以及所述目标文件在根目录下的存储路径,能够得到所述目标文件的实际存储路径,进而依据实际存储路径获取到进程访问的文件,实现对文件的监控。
下面,本发明实施例公开了另一种文件存储路径获取方法,图2示出了另一种文件存储路径获取方法的流程图,参照图2,所述方法可以包括:
步骤S200、监控chroot函数的调用,确定调用所述chroot函数的目标进程;
所述chroot函数的调用过程为将目标文件的原始目录映射为根目录。
步骤S210、从chroot函数中获取目标文件的目标原始目录;
本发明实施例中可以采用对chroot函数进行插桩的方式,重定向到新函数。当chroot函数被调用时,新函数会取得控制权。在新函数中获取调用所述chroot函数的目标进程的PID以及chroot函数,进而从chroot函数中获取目标文件的目标原始目录,目标原始目录为此次被调用的chroot函数中存储的目标进程对应的原始目录。
步骤S220、判断预先设定的chroot参数列表中是否记录有所述目标进程;如果是,则执行步骤S230;如果否,则执行步骤S240;
本发明实施例中预先设定了per_process_chroot_table结构,per_process_chroot_table结构中记载了当前***中是否有进程调用过chroot函数的,如果per_process_chroot_table结构中表明当前***中有进程调用过chroot函数,则进一步在预先设定的chroot参数列表中判断是否记录有所述目标进程。
具体的,per_process_chroot_table结构采用global_chroot_context字段表示当前***中是否有进程调用过chroot函数,当有程调用过chroot函数,该字段为1;当没有进程调用过chroot函数,该字段为0。
本发明实施例中通过查找global_chroot_context字段,就能够从global_chroot_context字段中判断是否有进程调用过chroot函数。
另一方面,per_process_chroot_table结构中还设置了读/写锁,保证某一进程读/写文件的过程不被其他的进程打断。
步骤S230、从预先设定的chroot参数列表中判断所述目标进程对应的原始目录中是否存在所述目标原始目录;如果是,执行步骤S250;如果否,则执行步骤S240;
由于同一个进程可能对应多个原始目录,因此,本发明实施例中需要从预先设定的chroot参数列表中查找所述目标进程对应的原始目录中是否存在所述目标原始目录。
本发明实施例中,预先设定的chroot参数列表可以为chroot_context链表结构,chroot_context链表结构包括如下字段:
(1)idx字段为顺序索引,用于表明某一进程调用chroot函数的次数,当前进程有可能多次调用chroot函数,此字段会根据进程调用chroot函数的次数依次增加索引值。
(2)chroot_pid字段用于保存当前调用chroot函数的进程的PID。
(3)process_name字段保存当前调用chroot函数的进程的全路径。
(4)chroot_path字段保存文件的原始目录。
(5)next字段指向下一个chroot函数保存环境。
步骤S240、则将所述目标原始目录与目标进程的对应关系更新到所述预先设定的chroot参数列表中;
本发明实施例中将目标原始目录与目标进程的对应关系都对应更新到所述预先设定的chroot参数列表中。
具体的,本发明实施例中通过插桩chroot函数,重定向到函数chroot_wrapper中,当用户设置chroot环境时,***触发chroot_wrapper函数,在该函数中首先使用getpid函数获取当前进程PID,利用当前进程PID判断per_process_chroot_table结构中的global_chroot_context是否被设置,如被设置,则表明当前***中有进程设置过chroot环境。
进一步的遍历chroot_context链表,并将当前进程PID与其中的字段chroot_pid进行比较;如果当前进程PID与其中的字段chroot_pid相同,进一步的将从chroot函数中获取目标文件的目标原始目录与chroot_context链表中的chroot_path进行比较;
如果当前进程PID与其中的字段chroot_pid不同,则表明当前进程没有设置过chroot环境,将当前进程PID以及从chroot函数中获取目标文件的目标原始目录添加到chroot_context链表中;
如果从chroot函数中获取目标文件的目标原始目录与chroot_context链表中的chroot_path不同,则将当前进程PID以及从chroot函数中获取目标文件的目标原始目录添加到chroot_context链表中,从而避免同一进程多次设置完全相同的chroot环境。
将当前进程PID以及从chroot函数中获取目标文件的目标原始目录添加到chroot_context链表中的具体过程为:设置chroot_pid、process_name、chroot_path、idx等字段,进一步的设置per_process_chroot_table结构中的global_chroot_context字段为1,表明当前***中已有进程设置了chroot环境。
步骤S250、在所述目标进程操作所述目标文件时,依据所述目标进程,从预先设定的chroot参数列表中获取所述目标文件的目标原始目录;
步骤S260、获取所述目标文件在根目录下的存储路径;
具体的,本发明实施例中,在所述目标进程中获取目标文件的当前存储路径,在当前存储路径并不是以“/”开头的情况下,即当前存储路径的起始端不包含根目录的情况下,将当前存储路径确定为相对存储路径;如果当前存储路径是以“/”开头的情况下,确定当前存储路径为目标文件在根目录下的存储路径。
获取所述目标文件在根目录下的存储路径的过程为:获取所述目标文件的相对存储路径,所述相对存储路径为不包含根目录的存储路径;朝着存储路径结构树的根节点的方向,逐级查找所述相对存储路径对应的各级上级存储路径,直到查找到根目录的位置,其中,存储路径结构树的根节点的位置即为根目录;将根目录、相对存储路径、以及位于根目录与相对存储路径之间的各级上级存储路径组成根目录下的存储路径。
本发明实施例中逐级查找所述相对存储路径对应的各级上级存储路径的具体方式可以为逐级查找与所述相对存储路径具有相同i-node编号及设备号的各级上级存储路径。
步骤S270、依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径。
具体的,将所述原始目录拼接在所述目标文件在根目录下的存储路径之前,得到所述目标文件的实际存储路径。
本发明实施例中使用realpath函数获取所述目标文件在根目录下的存储路径,如果realpath失败,判断返回值为ENOENT,标志则有可能是正在创建新文件。进一步的调用getcwd函数获取正在创建的新文件在根目录下的存储路径。进一步的获取chroot_context链表中的chroot_path字段并将使用realpath转换后的路径拼接到chroot_path字段之后,最终获取目标文件的实际存储路径。
由于用getcwd函数获取正在创建的文件在根目录下的存储路径过程中无法获得正在创建的文件的文件名,因此,在将使用getcwd转换后的路径拼接到chroot_path字段之后,还需要在getcwd转换后的路径之后添加正在创建的文件的文件名,最终获取目标文件的实际存储路径。
需要说明的是,本发明实施例中还可以获取目标进程的路径:首先使用getpid函数获取当前进程的PID,利用当前进程的PID判断per_process_chroot_table结构中的global_chroot_context是否被设置,如果被设置,则表明当前***中目标进程设置过chroot环境,此时将当前进程的PID与保存在chroot_context中的进程PID对比,如果一致,则将其中的process_name返回,得到目标进程的全路径。
下面对本发明实施例提供的文件存储路径获取装置进行介绍,下文描述的文件存储路径获取装置可与上文文件存储路径获取方法相互对应参照。
图3为本发明实施例提供的文件存储路径获取装置的结构框图,参照图3,该文件存储路径获取装置可以包括:
目标进程确定模块100,用于监控chroot函数的调用,确定调用所述chroot函数的目标进程,所述chroot函数的调用过程为将目标文件的原始目录映射为根目录;
所述chroot函数的调用过程为将目标文件的原始目录映射为根目录。
本发明实施例在调用chroot函数后,将目标文件的原始目录映射为“/”根目录,进入chroot环境,目标文件的原始目录为目标文件的原始存储位置,例如原始目录可以为/桌面形式。
根目录即为目标文件存储的最上层的目录,即没有上层的目录项为根目录。本发明实施例中根目录为一个具体的存储位置,本发明实施例中并不限定根目录的具体的位置。
目标文件为目标进程对应的目标执行对象,例如当目标进程为打开word文档时,目标文件可以为对应的需要打开的word文档。
本发明实施例中可以采用对chroot函数进行插桩的方式,重定向到新函数。当chroot函数被调用时,新函数会取得控制权。在新函数中获取调用所述chroot函数的目标进程的PID,进而确定调用所述chroot函数的目标进程。
原始目录获取模块110,用于在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录;
存储路径获取模块120,用于获取所述目标文件在根目录下的存储路径;
实际存储路径获取模块130,用于依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径。
还包括:
目标原始目录获取模块,用于从chroot函数中获取目标文件的目标原始目录;
目标进程判断模块,用于判断预先设定的chroot参数列表中是否记录有所述目标进程;
目标原始目录判断模块,用于在目标进程判断模块判断出预先设定的chroot参数列表中记录有所述目标进程的情况下,从预先设定的chroot参数列表中判断所述目标进程对应的原始目录中是否存在所述目标原始目录;
更新模块,用于在目标原始目录判断模块判断出预先设定的chroot参数列表中包含的所述目标进程对应的原始目录中不存在所述目标原始目录的情况下,则将所述目标原始目录与目标进程的对应关系更新到所述预先设定的chroot参数列表中。
所述原始目录获取模块包括:
原始目录获取子模块,用于在所述目标进程操作所述目标文件时,依据所述目标进程,从预先设定的chroot参数列表中获取所述目标文件的目标原始目录。
所述存储路径获取模块包括:
相对存储路径获取模块,用于获取所述目标文件的相对存储路径,所述相对存储路径为不包含根目录的存储路径;
上级存储路径查找模块,用于朝着存储路径结构树的根节点的方向,逐级查找所述相对存储路径对应的各级上级存储路径,直到查找到根目录的位置,其中,存储路径结构树的根节点的位置即为根目录;
存储路径组合模块,用于将根目录、相对存储路径、以及位于根目录与相对存储路径之间的各级上级存储路径组成根目录下的存储路径。
所述实际存储路径获取模块包括:
实际存储路径获取子模块,用于将所述原始目录拼接在所述目标文件在根目录下的存储路径之前,得到所述目标文件的实际存储路径。
综上所述:
本发明实施例公开了一种文件存储路径获取方法及装置,通过监控chroot函数的调用,确定调用所述chroot函数的目标进程,所述chroot函数的调用过程为将目标文件的原始目录映射为根目录;在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录;获取所述目标文件在根目录下的存储路径;依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径。由于本申请获取到了目标文件的原始目录,进而依据所述原始目录以及所述目标文件在根目录下的存储路径,能够得到所述目标文件的实际存储路径,进而依据实际存储路径获取到进程访问的文件,实现对文件的监控。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种文件存储路径获取方法,其特征在于,包括:
监控chroot函数的调用,确定调用所述chroot函数的目标进程,所述chroot函数的调用过程为将目标文件的原始目录映射为根目录;
在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录;
获取所述目标文件在根目录下的存储路径;
依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径。
2.根据权利要求1所述的方法,其特征在于,所述在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录之前,还包括:
从chroot函数中获取目标文件的目标原始目录;
判断预先设定的chroot参数列表中是否记录有所述目标进程;
如果预先设定的chroot参数列表中记录有所述目标进程,则从预先设定的chroot参数列表中判断所述目标进程对应的原始目录中是否存在所述目标原始目录;
如果在预先设定的chroot参数列表中包含的所述目标进程对应的原始目录中不存在所述目标原始目录,则将所述目标原始目录与目标进程的对应关系更新到所述预先设定的chroot参数列表中。
3.根据权利要求2所述的方法,其特征在于,所述在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录的过程包括:
在所述目标进程操作所述目标文件时,依据所述目标进程,从预先设定的chroot参数列表中获取所述目标文件的目标原始目录。
4.根据权利要求1所述的方法,其特征在于,所述获取所述目标文件在根目录下的存储路径的过程包括:
获取所述目标文件的相对存储路径,所述相对存储路径为不包含根目录的存储路径;
朝着存储路径结构树的根节点的方向,逐级查找所述相对存储路径对应的各级上级存储路径,直到查找到根目录的位置,其中,存储路径结构树的根节点的位置即为根目录;
将根目录、相对存储路径、以及位于根目录与相对存储路径之间的各级上级存储路径组成根目录下的存储路径。
5.根据权利要求1所述的方法,其特征在于,所述依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径的过程包括:
将所述原始目录拼接在所述目标文件在根目录下的存储路径之前,得到所述目标文件的实际存储路径。
6.一种文件存储路径获取装置,其特征在于,包括:
目标进程确定模块,用于监控chroot函数的调用,确定调用所述chroot函数的目标进程,所述chroot函数的调用过程为将目标文件的原始目录映射为根目录;
原始目录获取模块,用于在所述目标进程操作所述目标文件时,获取所述目标文件的原始目录;
存储路径获取模块,用于获取所述目标文件在根目录下的存储路径;
实际存储路径获取模块,用于依据所述原始目录以及所述目标文件在根目录下的存储路径,得到所述目标文件的实际存储路径。
7.根据权利要求6所述的装置,其特征在于,还包括:
目标原始目录获取模块,用于从chroot函数中获取目标文件的目标原始目录;
目标进程判断模块,用于判断预先设定的chroot参数列表中是否记录有所述目标进程;
目标原始目录判断模块,用于在目标进程判断模块判断出预先设定的chroot参数列表中记录有所述目标进程的情况下,从预先设定的chroot参数列表中判断所述目标进程对应的原始目录中是否存在所述目标原始目录;
更新模块,用于在目标原始目录判断模块判断出预先设定的chroot参数列表中包含的所述目标进程对应的原始目录中不存在所述目标原始目录的情况下,则将所述目标原始目录与目标进程的对应关系更新到所述预先设定的chroot参数列表中。
8.根据权利要求7所述的装置,其特征在于,所述原始目录获取模块包括:
原始目录获取子模块,用于在所述目标进程操作所述目标文件时,依据所述目标进程,从预先设定的chroot参数列表中获取所述目标文件的目标原始目录。
9.根据权利要求6所述的装置,其特征在于,所述存储路径获取模块包括:
相对存储路径获取模块,用于获取所述目标文件的相对存储路径,所述相对存储路径为不包含根目录的存储路径;
上级存储路径查找模块,用于朝着存储路径结构树的根节点的方向,逐级查找所述相对存储路径对应的各级上级存储路径,直到查找到根目录的位置,其中,存储路径结构树的根节点的位置即为根目录;
存储路径组合模块,用于将根目录、相对存储路径、以及位于根目录与相对存储路径之间的各级上级存储路径组成根目录下的存储路径。
10.根据权利要求6所述的装置,其特征在于,所述实际存储路径获取模块包括:
实际存储路径获取子模块,用于将所述原始目录拼接在所述目标文件在根目录下的存储路径之前,得到所述目标文件的实际存储路径。
CN201910207749.6A 2019-03-19 2019-03-19 一种文件存储路径获取方法及装置 Pending CN109977075A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910207749.6A CN109977075A (zh) 2019-03-19 2019-03-19 一种文件存储路径获取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910207749.6A CN109977075A (zh) 2019-03-19 2019-03-19 一种文件存储路径获取方法及装置

Publications (1)

Publication Number Publication Date
CN109977075A true CN109977075A (zh) 2019-07-05

Family

ID=67079459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910207749.6A Pending CN109977075A (zh) 2019-03-19 2019-03-19 一种文件存储路径获取方法及装置

Country Status (1)

Country Link
CN (1) CN109977075A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626109A (zh) * 2021-09-17 2021-11-09 平安普惠企业管理有限公司 报表路径获取方法、装置、智能终端及存储介质
CN113806304A (zh) * 2021-08-23 2021-12-17 北京天融信网络安全技术有限公司 一种获取软件文件路径的方法及***
CN114090197A (zh) * 2021-10-19 2022-02-25 山东浪潮科学研究院有限公司 一种多进程awg访问控制的优化方法
CN114385277A (zh) * 2021-12-10 2022-04-22 苏州浪潮智能科技有限公司 一种获取进程可执行文件路径的方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069275B2 (en) * 2002-08-19 2006-06-27 Sun Microsystems, Inc. Method and apparatus for restricted run-time environment with dynamic user context
US8312043B2 (en) * 2008-11-26 2012-11-13 Red Hat, Inc. Isolating an execution container in a system with mandatory access control (MAC)
CN102789392A (zh) * 2012-06-21 2012-11-21 中国电力科学研究院 一种电力***分布式平台构建方法
CN109144948A (zh) * 2017-06-15 2019-01-04 海马云(天津)信息技术有限公司 应用文件定位的方法、装置、电子设备和存储器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069275B2 (en) * 2002-08-19 2006-06-27 Sun Microsystems, Inc. Method and apparatus for restricted run-time environment with dynamic user context
US8312043B2 (en) * 2008-11-26 2012-11-13 Red Hat, Inc. Isolating an execution container in a system with mandatory access control (MAC)
CN102789392A (zh) * 2012-06-21 2012-11-21 中国电力科学研究院 一种电力***分布式平台构建方法
CN109144948A (zh) * 2017-06-15 2019-01-04 海马云(天津)信息技术有限公司 应用文件定位的方法、装置、电子设备和存储器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806304A (zh) * 2021-08-23 2021-12-17 北京天融信网络安全技术有限公司 一种获取软件文件路径的方法及***
CN113806304B (zh) * 2021-08-23 2023-07-18 北京天融信网络安全技术有限公司 一种获取软件文件路径的方法及***
CN113626109A (zh) * 2021-09-17 2021-11-09 平安普惠企业管理有限公司 报表路径获取方法、装置、智能终端及存储介质
CN114090197A (zh) * 2021-10-19 2022-02-25 山东浪潮科学研究院有限公司 一种多进程awg访问控制的优化方法
CN114090197B (zh) * 2021-10-19 2024-05-28 山东浪潮科学研究院有限公司 一种多进程awg访问控制的优化方法
CN114385277A (zh) * 2021-12-10 2022-04-22 苏州浪潮智能科技有限公司 一种获取进程可执行文件路径的方法、装置及存储介质
CN114385277B (zh) * 2021-12-10 2023-08-29 苏州浪潮智能科技有限公司 一种获取进程可执行文件路径的方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN109977075A (zh) 一种文件存储路径获取方法及装置
CN108499103B (zh) 场景元素的显示方法及装置
CN107506447A (zh) 一种基于本地文件***的小文件读写方法及***
US9430331B1 (en) Rapid incremental backup of changed files in a file system
JP2004326800A (ja) ファイルシステムのバージョンを管理する方法およびシステム
CN108345485A (zh) 用于界面视图的标识方法及装置
US20120089625A1 (en) Incremental conversion of database objects during upgrade of an original system
CN104978224B (zh) 一种面向多硬件平台的应用程序管理方法
JP2005322020A5 (zh)
CN106528594A (zh) 一种下载文件的查询方法及装置
CN106021466A (zh) 一种存储数据的方法及装置
CN109858278A (zh) 文件权限设置方法、装置、计算机设备和存储介质
CN107992763B (zh) 一种文件***的掉电保护方法及装置
CN114968111A (zh) 一种数据删除方法、装置、设备和计算机可读存储介质
US7269589B2 (en) Database managing method and system having data backup function and associated programs
WO2017045410A1 (zh) 一种在分页模型中动态加载数据的方法及装置
CN112882746B (zh) 应用程序的更新方法、装置、存储介质及计算机设备
CN112000971B (zh) 一种文件权限记录方法、***及相关装置
CN107145390A (zh) 安卓服务生命周期管理方法、服务管理对象及安卓***
JP5815975B2 (ja) データベース装置およびデータベース再編成方法
CN115658619B (zh) 进程的处理方法、装置、处理器及电子设备
CN103246718A (zh) 文件访问方法、装置和设备
US7237197B2 (en) Method and system for presenting a video stream of a video streaming device
US20060136501A1 (en) Method and apparatus for saving and restoring parameter values set with user commands
CN109408294A (zh) 一种快照回滚方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20210924