CN108205623A - 用于共享目录的方法和装置 - Google Patents

用于共享目录的方法和装置 Download PDF

Info

Publication number
CN108205623A
CN108205623A CN201611166297.4A CN201611166297A CN108205623A CN 108205623 A CN108205623 A CN 108205623A CN 201611166297 A CN201611166297 A CN 201611166297A CN 108205623 A CN108205623 A CN 108205623A
Authority
CN
China
Prior art keywords
container
category
information
shared
directory
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.)
Granted
Application number
CN201611166297.4A
Other languages
English (en)
Other versions
CN108205623B (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Hangzhou Huawei Digital Technologies 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 Hangzhou Huawei Digital Technologies Co Ltd filed Critical Hangzhou Huawei Digital Technologies Co Ltd
Priority to CN201611166297.4A priority Critical patent/CN108205623B/zh
Publication of CN108205623A publication Critical patent/CN108205623A/zh
Application granted granted Critical
Publication of CN108205623B publication Critical patent/CN108205623B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种用于共享目录的方法和装置。该方法包括:获取共享参数信息,该共享参数信息包括共享分类category集合和共享目录信息,该共享category集合包括至少一个category,该共享目录信息用于指示多个容器中的每个容器挂载目标主机中的目标目录;根据该共享目录信息,将该目标目录的安全上下文中的category信息更新为该共享category集合;根据该共享参数信息,创建该多个容器中的每个容器,创建后的该每个容器的安全上下文中的category信息包括该共享category集合,以便于该多个容器中的每个容器挂载并访问该目标目录。本发明能够实现多个容器共享访问目标主机中的目录。

Description

用于共享目录的方法和装置
技术领域
本发明实施例涉及计算机领域,尤其涉及一种用于共享目录的方法和装置。
背景技术
容器类似于虚拟机,是一种软件沙箱,一种安全机制,主要为运行中的程序提供的隔离环境,严格控制容器中的程序所能访问的资源。
Linux命名空间(namespace)隔离机制为实现基于容器的虚拟化技术提供了很好的基础。容器技术使用namespace隔离后,主机中除内核外的Unix分时操作***、进程间通信、文件***、进程控制符等***资源不再是全局性的,而是属于特定的namespace,每个namespace里面的资源对其他namespace都是透明的,容器就是利用这一特性实现了资源的隔离,不同容器内的进程属于不同的namespace,彼此透明,互不干扰。
另外,把安全性增强Linux(Security-Enhanced Linux,SELinux)适配到Docker,即让SELinux作用于Docker容器,能够增强容器间namespace的隔离性。
但是,当多个容器共享同一份内核时,会导致隔离性和安全性上的不足,在这个事实之下,用户需要面对很多安全问题,例如,运行在某一容器中的进程能够获得运行在其它容器中的进程的信息或用户权限。
现有的Docker可以通过-v接口让容器挂载目标主机上的目标目录,即通过-v/host:/tmp将,目标主机的/host目录挂载在容器的/tmp目录上,这样以来,只有挂载了目标主机的目标目录,并且安全上下文的category信息中包括目标目录的category的容器才能够访问该目标主机。
另外,Docker可以通过在-v接口的基础上加上Z参数让容器挂载目标主机上的目标目录,即通过-v/host:/tmp:c12,c13,将目标主机的/host目录挂载在容器的/tmp目录上,同时将/host目录的安全上下文的category信息更新为c12,c13。
然而,若有多个容器都挂载这个目录,则/host目录的安全上下文由最后一个挂载它的容器的Z参数决定,这样以来,/host目录只能被最后一个挂载它的容器访问,不能实现多个容器共享访问/host目录。
发明内容
本申请提供了一种用于共享目录的方法和装置,能够实现多个容器共享访问目标主机中的目录。
第一方面,本申请提供了一种用于共享目录的方法,该方法包括:
获取共享参数信息,该共享参数信息包括共享分类category集合和共享目录信息,该共享category集合包括至少一个category,该共享目录信息用于指示多个容器中的每个容器挂载目标主机中的目标目录;
根据该共享目录信息,将该目标目录的安全上下文中的category信息更新为该共享category集合;
根据该共享参数信息,创建该多个容器中的每个容器,创建后的该每个容器的安全上下文中的category信息包括该共享category集合,以便于该多个容器中的每个容器挂载并访问该目标目录。
本申请提供的用于共享目录的方法,通过获取共享参数信息,该共享参数信息包括由至少一个category组成的共享category集合以及用于多个容器中的每个容器挂载目标主机中的目标目录的共享目录信息,将目标目录的category信息更新为该共享category集合,根据该共享参数信息创建多个容器,使得该多个容器中每个容器的category信息都包括该共享category集合,使得该多个容器能够访问和挂载该目标目录。
结合第一方面,在第一方面的第一种可能的实现方式中,该根据该共享category集合,创建该多个容器中的每个容器,创建后的该每个容器的安全上下文中的category信息包括该共享category集合,包括:获取守护程序为该多个容器中第一容器随机生成的初始category集合,该初始category集合包括至少一个category;根据该共享category集合和该初始category集合,确定该第一容器的安全上下文中的category信息,该第一容器的安全上下文中的category信息包括该共享category集合和该初始category集合;根据该第一容器的安全上下文中的category信息,创建该第一容器。
可选地,SELinux模块可以将该第一容器的安全上下文中的category信息更新为该共享category集合或者包括该category集合,并根据更新后的该第一容器的安全上下文创建该第一容器,本申请对此不作限定。
应理解,该第一容器可以为守护程序创建的多个容器中的任意一个容器。
还应理解,守护程序在创建容器时,会为容器随机生成至少一个category,通常会为容器随机生成两个category。
作为一个可选实施例,SELinux模块可以对该初始category集合和该共享category集合取并集得到目标category集合,将该第一容器的安全上下文中的category信息更新为该目标category集合,并根据该第一容器的安全上下文中的目标category集合创建该第一容器。
本申请提供的用于共享目录的方法,创建多个容器时,将该多个容器中每个容器的category信息更新为目标category集合,使得该多个容器可以共同访问该目标目录,且该多个容器之间仍然存在安全隔离,安全性能较高。
结合第一方面,在第一方面的第二种可能的实现方式中,该根据该共享category集合,创建该多个容器中的每个容器,创建后的该每个容器的安全上下文中的category信息包括该共享category集合,包括:将该多个容器中每个容器的安全上下文中的category信息更新为该共享category集合;根据该多个容器中每个容器的安全上下文中的category信息,创建该多个容器中的每个容器。
作为一个可选实施例,SELinux模块可以直接将该多个容器中的每个容器的安全上下文中的category信息更新为该目标目录的安全上下文中的共享category集合,并根据该共享category集合,创建该多个容器中的每个容器。
本申请提供的用于共享目录的方法,创建多个容器时,将该多个容器中每个容器的category信息更新为目标目录的category信息,使得该多个容器可以共同访问该目标目录。
结合第一方面、第一方面的第一种或第二种可能的实现方式中,在第一方面的第三种可能的实现方式中,该获取共享参数信息,包括:接收客户端发送的共享目录请求,该共享目录请求携带该共享参数信息。
可选地,该共享参数信息可以是预配置在SELinux模块中的,或者在守护程序创建容器时从其它单元或设备获取到的,本申请对此不作限定。
作为一个可选实施例,该目标主机可以预先配置创建容器时使用的共享参数信息,并在创建容器的时候使用该预配置的共享参数信息。
作为另一个可选实施例,该目标主机可以接收客户端或者其它设备发送的用于请求多个容器同时访问目标主机中的目标目录的共享目录请求,并在该共享目录请求中携带该共享参数信息,根据该共享目录请求创建该多个容器。
本申请提供的用于共享目录的方法,能够灵活根据客户端的需求实现多个容器共享目标目录。
结合第一方面、第一方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,该共享目录信息包括该目标目录的标识和该多个容器中的每个容器挂载该目标目录使用的接口信息;或者,该共享目录信息包括该目标目录的标识、该多个容器中的每个容器挂载该目标目录使用的接口信息和该每个容器中挂载该目标目录的挂载目录的标识。
可选地,多个容器中的每个容器可以通过接口信息中指示的-v接口和Z参数挂载目标主机中的目标目录。
可选地,目标主机中的目标目录可以挂载到多个容器中每个容器的/host目录上,或者可以指定容器的挂载目录为/mount,即目标主机中的目标目录可以挂载到每个容器的/mount目录上,但本申请实施例对此不作限定。
本申请提供的用于共享目录的方法,可以通过共享目录信息指定目标主机中的目标目录、容器中的挂载目录,以及容器和目标目录进行挂载时通过的接口信息,灵活性较高。
第二方面,本申请提供了一种用于共享目录的装置,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。
第三方面,本申请提供了一种用于共享目录的装置,所述装置包括:存储器、处理器、输入/输出接口和通信接口。其中,存储器、处理器、输入/输出接口和通信接口之间通过内部连接通路互相通信,传递控制和/或数据信号,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,当所述指令被执行时,所述处理器通过所述通信接口执行第一方面的方法,并控制输入/输出接口接收输入的数据和信息,输出操作结果等数据。
第四方面,本申请提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
附图说明
图1示出了根据本发明实施例的用于共享目录的方法的Docker***架构示例;
图2示出了根据本发明实施例的另一用于共享目录的方法的Docker***架构示例;
图3示出了根据本发明实施例的用于共享目录的方法的示意性流程图;
图4示出了根据本发明实施例的另一用于共享目录的方法的示意性流程图;
图5示出了根据本发明实施例的用于共享目录的装置的示意性框图;
图6示出了根据本发明实施例的另一用于共享目录的装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
图1示出了本发明实施例提供的用于共享目录的方法的Docker***架构示例,该***架构包括客户端110、守护程序120、SELinux模块130、目标主机中的目标目录140、多个容器(图中示出了容器150和容器160)。
其中,客户端110例如可以为Docker Client;守护程序120例如可以为DockerDaemon,SELinux模块130可以耦合在Docker Daemon中,并且可以为DockerDaemon中能够对容器的安全上下文进行写操作,并创建容器的模块,本发明实施例对此不作限定。
应理解,在图1所示的Docker架构中,Docker Daemon、容器和主机的目标目录可以在一台物理主机上,或者可以在一台虚拟机上。Docker Client和Docker Daemon可以在一台物理主机或虚拟机上,也可以在不同的物理主机或虚拟机上,本发明实施例对此不做具体限定。
用户使用可以通过Docker Client与Docker Daemon建立通信,并向DockerDaemon发送请求,该请求可以包括容器访问请求、容器运行请求等。Docker Daemon作为Docker***架构中的主体部分,可以接收Docker Client发送的请求;然后将请求发送至Docker Daemon中的SElinux模块,该SELinux模块可以根据该Docker Client请求中的共享参数信息,分别对目标主机中的目标目录和多个容器的安全上下文进行写操作,并创建这些容器。
当SELinux根据共享参数信息对容器的安全上下文进行写操作之后,就可以创建这个容器,该容器可以拥有独立的文件***,独立并且相对安全的运行环境。
还应理解,图1中只示出了用于共享目录的Docker***架构中与本发明实施例有关的各个模块,图1所示的***架构中还可以包括Docker***架构中的其他模块,本发明实施例对此不做具体限定。
需要说明的是,SElinux模块可以采用现有技术中对容器和目标主机中的目标目录的安全上下文进行写操作的方法,依次对多个容器中的每个容器和目标主机目标目录的安全上下文进行更新,也可以采用其他的方式同时对多个容器和主机目标目录的安全上下文进行更新,本发明实施例对此不做具体限定。
图2示出了本发明实施例提供的的另一用于访问容器的方法的Docker***架构的示意性框图。应理解,图2所示的Docker架构中各个模块的功能和图1所示的各个模块的功能相同,并且也只示出了Docker架构中与本发明实施例相关的部分,其他未示出的功能模块可以与目前Docker架构中的其他模块相同。为了简洁,可以参考上文中的描述,在此不再赘述。
从图2所示的Docker架构可以看出,SELinux模块240可以与守护程序220解耦,即独立于守护程序220,包含在其它runtime中,例如可以位于runc中(图中示出了runtime230)。
应理解,还可以对上述图1和图2所示的架构做变形,例如,守护程序和runtime可以是两个相互独立的进程,但是具体的SElinux模块可以作为runtime进程中的一段逻辑。本发明实施例对上述图1和图2所示的Docker架构不作具体限定。
图3示出了本发明实施例提供的用于访问容器的方法的示意性流程图。图3所示的方法可以由图1或图2中的SELinux模块执行。
S310,获取共享参数信息,该共享参数信息包括共享分类category集合和共享目录信息,该共享category集合包括至少一个category,该共享目录信息用于指示多个容器中的每个容器挂载目标主机中的目标目录。
S320,根据该共享目录信息,将该目标目录的安全上下文中的category信息更新为该共享category集合。
S330,根据该共享参数信息,创建该多个容器中的每个容器,创建后的该每个容器的安全上下文中的category信息包括该共享category集合,以便于该多个容器中的每个容器挂载并访问该目标目录。
本发明实施例提供的用于共享目录的方法,通过获取共享参数信息,该共享参数信息包括由至少一个category组成的共享category集合以及用于多个容器中的每个容器挂载目标主机中的目标目录的共享目录信息,将目标目录的category信息更新为该共享category集合,根据该共享参数信息创建多个容器,使得该多个容器中每个容器的category信息都包括该共享category集合,使得该多个容器能够访问和挂载该目标目录。
应理解,在SELinux中每个容器可以同时运行一个或多个进程和文件,所有的进程和文件都有自己的SELinux安全上下文。安全上下文格式为:用户(user):角色(role):类型(type)[等级(level)[:分类(category)]],其中,user类似Linux***中的用户身份(UserIdentification,UID),用于提供身份识别,记录身份;role类似***中的群体身份(GroupIdentification,GID),指共享资源***使用者的身份,不同的role具备不同的权限;type用来为进程运行提供最低的权限环境,当一个type与执行中的进程相关联时,type也称为域(domain);level代表安全等级,目前已经定义的安全等级为s0-s15,等级越来越高;category代表分类,category是可以选择的,并且category形成无序的、无关联的间隔的列表,目前已经定义的分类为c0-c1023。
例如,category可以描述为“c12,c34”或“c0.c1023”,其中,“,”表示简单的组合,“.”表示一个范围,即“c12,c34”表示c12和c34的组合,“c0.c2013”表示的是一个范围,即c0,c1,c2,…,c1023。
还应理解,Docker Daemon的category信息为“c0.c1023”。新创建的容器安全上下文的category形式为“cx,cy”,其中,x,y的值是随机分配的,不同的容器会被分配不同的x和y。
还应理解,若两个容器的安全上下文中的user:role:type:[level]均相同,SELinux从内核的层面保证,进程p可以访问category是进程p的category的子集的进程(或文件),反之则不行。
例如,由于“c12,c34”是“c0.c1023”的子集,则category为“c0.c1023”的进程可以访问category为“c12,c34”的进程。
又例如,由于“c12,c34”与“c11,c22”互不包含,则category为“c12,c34”的进程和category为“c0.c1023”的进程互相不能访问,但本发明实施例不限于此。
具体地,在该S310中,该SELinux模块可以将该多个容器中每个容器的安全上下文中的category信息更新为该共享category集合;根据该多个容器中每个容器的安全上下文中的category信息,创建该多个容器中的每个容器。
作为一个可选实施例,SELinux模块可以直接将该多个容器中第一容器的安全上下文中的category信息更新为该共享category集合,并根据该共享category集合创建该第一容器。
应理解,该第一容器可以为守护程序创建的多个容器中的任意一个容器。
本发明实施例提供的用于共享目录的方法,将多个容器中每个容器的category信息更新为目标目录的category信息,使得该多个容器可以共同访问该目标目录。
具体地,在该S310中,该SELinux模块还可以获取守护程序为该多个容器中第一容器随机生成的初始category集合,该初始category集合包括至少一个category;根据该共享category集合和该初始category集合,确定该第一容器的安全上下文中的category信息,该第一容器的安全上下文中的category信息包括该共享category集合和该初始category集合;根据该第一容器的安全上下文中的category信息,创建该第一容器。
可选地,SELinux模块可以将该第一容器的安全上下文的category信息更新为该共享category集合或者包括该category集合,本发明实施例对此不作限定。
应理解,守护程序在创建容器时,会为容器随机生成至少一个category,通常会为容器随机生成两个category。
作为一个可选实施例,SELinux模块可以对该初始category集合和该共享category集合取并集得到目标category集合,将该第一容器的安全上下文中的category信息更新为该目标category集合,并根据该目标category集合创建该第一容器。
本发明实施例提供的用于共享目录的方法,将多个容器中每个容器的category信息更新为目标该category集合,使得该多个容器可以共同访问该目标目录,且该多个容器之间仍然存在安全隔离,安全性能较高。
可选地,在S320中,该共享参数信息可以是预配置在SELinux模块中的,或者在守护程序创建容器时从其它单元或设备获取到的,本发明实施例对此不作限定。
作为一个可选实施例,该目标主机可以预先配置创建容器时使用的共享参数信息,并在创建容器的时候使用该预配置的共享参数信息。
作为另一个可选实施例,该目标主机可以接收客户端或者其它设备发送的用于请求多个容器同时访问目标主机中的目标目录的共享目录请求,并在该共享目录请求中携带该共享参数信息,但本发明实施例对此不作限定。
本发明实施例提供的用于共享目录的方法,能够灵活根据客户端的需求实现多个容器共享目标目录。
可选地,在S330中,该共享目录信息包括该目标目录的标识和该多个容器中的每个容器挂载该目标目录使用的接口信息;或者,该共享目录信息包括该目标目录的标识、该多个容器中的每个容器挂载该目标目录使用的接口信息和该每个容器中挂载该目标目录的挂载目录的标识。
可选地,多个容器中的每个容器可以通过接口信息中指示的-v接口和Z参数挂载目标主机中的目标目录。
可选地,目标主机中的目标目录可以挂载到多个容器中每个容器的/host目录上,或者可以指定容器的挂载目录为/mount,即目标主机中的目标目录可以挂载到每个容器的/mount目录上,但本发明实施例对此不作限定。
本发明实施例提供的用于共享目录的方法,可以通过共享目录信息指定目标主机中的目标目录、容器中的挂载目录,以及容器和目标目录进行挂载时通过的接口信息,灵活性较高。
图4示出了本发明实施例提供的另一用于访问容器的方法的示意性流程图。图4所示的方法应用于由图1或图2所示的***架构中。应理解,图4示出了用于共享目录的方法的详细的步骤或操作,但这些步骤或操作仅是示例,本发明实施例还可以执行其他操作,或者图4中各操作的变形。此外,图4中的各个步骤可以按照与图4呈现的不同顺序来执行,并且有可能并非要执行图4中的全部操作。下面具体描述图4所示的方法步骤。
S410,客户端向SELinux模块发送共享目录请求,该共享目录请求携带共享参数信息,该共享参数信息包括第一category集合和共享目录信息,该第一category集合包括“c11,c22”,该共享目录信息为通过-v接口和Z参数挂载目标主机的/host目录。
可选地,该共享目录信息还可以包括第一容器和第二容器中挂载该目标主机中的目标目录的挂载目录,例如可以为/temp。
可选地,共享目录信息可以表示为-v/dir1:/dir2:Z,其中,/dir1表示目标主机中共享目录的名称,/dir2表示容器中挂载目录的名称,例如可以通过-v/host:/temp:Z表示将目标主机中的/host目录通过-v接口和Z参数挂载到容器中的/temp目录。
可选地,共享参数信息可以通过-v/dir1:/dir2:Z:cx,cy,其中,其中,/dir1表示目标主机中共享目录的名称,/dir2表示容器中挂载目录的名称,cx,cy表示共享category集合,例如可以通过-v/host:/temp:Z:c11,c12表示将目标主机中的/host目录通过-v接口和Z参数挂载到容器中的/temp目录,且共享category集合为c11,c12,本发明实施例对此不作限定。
S420,该SELinux模块根据该共享目录请求,将该第一容器的安全上下文的category信息更新为第一初始category集合与“c11,c22”的并集,并根据该第一容器的安全上下文创建该第一容器。
其中,第一初始category集合包括SELinux模块为该第一容器随机生成的两个category,假设为“c6,c8”,则创建后该第一容器的安全上下文中的category信息为“c6,c8,c11,c22”。
S430,该SELinux模块根据该共享目录请求,将该第二容器的安全上下文的category信息更新为第二初始category集合与“c11,c22”的并集,并根据该第二容器的安全上下文创建该第二容器。
其中,第二初始category集合包括SELinux模块为该第二容器随机生成的两个category,假设为“c5,c7”,则创建后该第二容器当前安全上下文中的category信息为“c5,c7,c11,c22”。
S440,该SELinux模块根据该共享目录请求,将该目标主机中的/host目录的安全上下文的category信息由“c0.c1023”更改为“c11,c22”;
应理解,S420、S430和S440的执行不分先后顺序。
还应理解,当SELinux模块完成S420、S430和S440之后,/host目录的安全上下文的category信息为“c11,c22”,第一容器的安全上下文的category信息为“c6,c8,c11,c22”,第二容器的安全上下文的category信息为“c5,c7,c11,c22”,也就是说,更新后该/host目录的安全上下文中的category信息为第一容器的category信息的子集,且为第二容器的category信息的子集。
S450,该第一容器根据该共享目录信息访问该目标目录。
S460,该第二容器根据该共享目录信息访问该目标目录。
具体地,该第一容器和该第二容器可以根据该共享目录信息中指示的目标目录、挂载目录和挂载方式挂载该目标目录。
上文中结合图3和图4,详细描述了根据本发明实施例的用于共享目录的方法,下面将结合图5描述本发明实施例的用于共享目录的装置。
图5示出了本发明实施例提供的用于共享目录的装置500,该装置500包括:
获取单元510,用于获取共享参数信息,该共享参数信息包括共享分类category集合和共享目录信息,该共享category集合包括至少一个category,该共享目录信息用于指示多个容器中的每个容器挂载目标主机中的目标目录;
更新单元520,用于根据该获取单元510获取的该共享目录信息,将该目标目录的安全上下文中的category信息更新为该共享category集合;
创建单元530,用于根据该获取单元510获取的该共享参数信息,创建该多个容器中的每个容器,创建后的该每个容器的安全上下文中的category信息包括该共享category集合,以便于该多个容器中的每个容器挂载并访问该目标目录。
作为一个可选实施例,该创建单元具体用于:获取守护程序为该多个容器中第一容器随机生成的初始category集合,该初始category集合包括至少一个category;根据该共享category集合和该初始category集合,确定该第一容器的安全上下文中的category信息,该第一容器的安全上下文中的category信息包括该共享category集合和该初始category集合;根据该第一容器的安全上下文中的category信息,创建该第一容器。
作为另一个可选实施例,该创建单元具体用于:将该多个容器中每个容器的安全上下文中的category信息更新为该共享category集合;根据该多个容器中每个容器的安全上下文中的category信息,创建该多个容器中的每个容器。
可选地,该获取单元具体用于:接收客户端发送的共享目录请求,该共享目录请求携带该共享参数信息。
可选地,该共享目录信息包括该目标目录的标识和该多个容器中的每个容器挂载该目标目录使用的接口信息;或者,该共享目录信息包括该目标目录的标识、该多个容器中的每个容器挂载该目标目录使用的接口信息和该每个容器中挂载该目标目录的挂载目录的标识。
图6示出了根据本发明实施例提供的另一用于共享目录的装置600的示意性框图。图6所示的装置600包括:存储器610、处理器620、输入/输出接口630和通信接口640。其中,存储器610、处理器620、输入/输出接口630和通信接口640之间通过内部连接通路互相通信,传递控制和/或数据信号,该存储器610用于存储指令,该处理器620用于执行该存储器610存储的指令,以控制输入/输出接口630接收输入的数据和信息,输出操作结果等数据,并控制通信接口640发送信号。
输入/输出接口630,用于获取共享参数信息,所述共享参数信息包括共享分类category集合和共享目录信息,所述共享category集合包括至少一个category,所述共享目录信息用于指示多个容器中的每个容器挂载目标主机中的目标目录;
处理器620,用于根据所述共享目录信息,将所述目标目录的安全上下文中的category信息更新为所述共享category集合;根据所述共享参数信息,创建所述多个容器中的每个容器,创建后的所述每个容器的安全上下文中的category信息包括所述共享category集合,以便于所述多个容器中的每个容器挂载并访问所述目标目录。
应理解,在本发明实施例中,该处理器620可以采用通用的中央处理器(CentralProcessing Unit,CPU),微处理器,应用专用集成电路(Application SpecificIntegrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
还应理解,通信接口640使用例如但不限于收发器一类的收发装置,来实现移动终端600与其他设备或通信网络之间的通信。
该存储器610可以包括只读存储器和随机存取存储器,并向处理器620提供指令和数据。处理器620的一部分还可以包括非易失性随机存取存储器。例如,处理器620还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器620中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的用于访问容器的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器610,处理器620读取存储器610中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种用于共享目录的方法,其特征在于,包括:
获取共享参数信息,所述共享参数信息包括共享分类category集合和共享目录信息,所述共享category集合包括至少一个category,所述共享目录信息用于指示多个容器中的每个容器挂载目标主机中的目标目录;
根据所述共享目录信息,将所述目标目录的安全上下文中的category信息更新为所述共享category集合;
根据所述共享参数信息,创建所述多个容器中的每个容器,创建后的所述每个容器的安全上下文中的category信息包括所述共享category集合,以便于所述多个容器中的每个容器挂载并访问所述目标目录。
2.根据权利要求1所述的方法,其特征在于,所述根据所述共享category集合,创建所述多个容器中的每个容器,创建后的所述每个容器的安全上下文中的category信息包括所述共享category集合,包括:
获取守护程序为所述多个容器中第一容器随机生成的初始category集合,所述初始category集合包括至少一个category;
根据所述共享category集合和所述初始category集合,确定所述第一容器的安全上下文中的category信息,所述第一容器的安全上下文中的category信息包括所述共享category集合和所述初始category集合;
根据所述第一容器的安全上下文中的category信息,创建所述第一容器。
3.根据权利要求1所述的方法,其特征在于,所述根据所述共享category集合,创建所述多个容器中的每个容器,创建后的所述每个容器的安全上下文中的category信息包括所述共享category集合,包括:
将所述多个容器中每个容器的安全上下文中的category信息更新为所述共享category集合;
根据所述多个容器中每个容器的安全上下文中的category信息,创建所述多个容器中的每个容器。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述获取共享参数信息,包括:
接收客户端发送的共享目录请求,所述共享目录请求携带所述共享参数信息。
5.根据权利要求1至4中任一项所述的方法,其特征在于,
所述共享目录信息包括所述目标目录的标识和所述多个容器中的每个容器挂载所述目标目录使用的接口信息;
或者,
所述共享目录信息包括所述目标目录的标识、所述多个容器中的每个容器挂载所述目标目录使用的接口信息和所述每个容器中挂载所述目标目录的挂载目录的标识。
6.一种用于共享目录的装置,其特征在于,包括:
获取单元,用于获取共享参数信息,所述共享参数信息包括共享分类category集合和共享目录信息,所述共享category集合包括至少一个category,所述共享目录信息用于指示多个容器中每个容器挂载目标主机中的目标目录;
更新单元,用于根据所述获取单元获取的所述共享目录信息,将所述目标目录的安全上下文中的category信息更新为所述共享category集合;
创建单元,用于根据所述获取单元获取的所述共享参数信息,创建所述多个容器中的每个容器,创建后的所述每个容器的安全上下文中的category信息包括所述共享category集合,以便于所述多个容器中的每个容器挂载并访问所述目标目录。
7.根据权利要求6所述的装置,其特征在于,所述创建单元具体用于:
获取守护程序为所述多个容器中第一容器随机生成的初始category集合,所述初始category集合包括至少一个category;
根据所述共享category集合和所述初始category集合,确定所述第一容器的安全上下文中的category信息,所述第一容器的安全上下文中的category信息包括所述共享category集合和所述初始category集合;
根据所述第一容器的安全上下文中的category信息,创建所述第一容器。
8.根据权利要求6所述的装置,其特征在于,所述创建单元具体用于:
将所述多个容器中每个容器的安全上下文中的category信息更新为所述共享category集合;
根据所述多个容器中每个容器的安全上下文中的category信息,创建所述多个容器中的每个容器。
9.根据权利要求6至8中任一项所述的装置,其特征在于,所述获取单元具体用于:
接收客户端发送的共享目录请求,所述共享目录请求携带所述共享参数信息。
10.根据权利要求6至9中任一项所述的装置,其特征在于,
所述共享目录信息包括所述目标目录的标识和所述多个容器中的每个容器挂载所述目标目录使用的接口信息;
或者,
所述共享目录信息包括所述目标目录的标识、所述多个容器中的每个容器挂载所述目标目录使用的接口信息和所述每个容器中挂载所述目标目录的挂载目录的标识。
CN201611166297.4A 2016-12-16 2016-12-16 用于共享目录的方法和装置 Active CN108205623B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611166297.4A CN108205623B (zh) 2016-12-16 2016-12-16 用于共享目录的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611166297.4A CN108205623B (zh) 2016-12-16 2016-12-16 用于共享目录的方法和装置

Publications (2)

Publication Number Publication Date
CN108205623A true CN108205623A (zh) 2018-06-26
CN108205623B CN108205623B (zh) 2020-04-03

Family

ID=62601561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611166297.4A Active CN108205623B (zh) 2016-12-16 2016-12-16 用于共享目录的方法和装置

Country Status (1)

Country Link
CN (1) CN108205623B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062770A (zh) * 2018-08-23 2018-12-21 郑州云海信息技术有限公司 一种磁盘监控方法及装置
CN109165204A (zh) * 2018-08-15 2019-01-08 郑州云海信息技术有限公司 一种基于脚本检测nfs双客户端目录显示的方法
WO2020015416A1 (zh) * 2018-07-19 2020-01-23 华为技术有限公司 一种显示方法、装置及存储介质
CN111045834A (zh) * 2018-10-15 2020-04-21 中兴通讯股份有限公司 云桌面下usb存储设备访问的方法、设备和存储介质
CN112799740A (zh) * 2021-02-08 2021-05-14 联想(北京)有限公司 一种控制方法、装置及电子设备
CN114064594A (zh) * 2021-11-22 2022-02-18 马上消费金融股份有限公司 数据处理方法和装置
WO2023015776A1 (zh) * 2021-08-11 2023-02-16 苏州浪潮智能科技有限公司 一种虚拟机管理方法、装置、设备及可读存储介质
CN116150116A (zh) * 2023-04-12 2023-05-23 阿里云计算有限公司 文件***共享的方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115595A1 (en) * 2008-10-30 2010-05-06 Thyagarajan Sivakumar M Method and Apparatus for Establishing Security Inflow Contracts
CN103886270A (zh) * 2014-03-31 2014-06-25 宇龙计算机通信科技(深圳)有限公司 一种终端及提高***安全性方法
CN105550576B (zh) * 2015-12-11 2018-09-11 华为技术服务有限公司 容器间通信的方法与装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115595A1 (en) * 2008-10-30 2010-05-06 Thyagarajan Sivakumar M Method and Apparatus for Establishing Security Inflow Contracts
CN103886270A (zh) * 2014-03-31 2014-06-25 宇龙计算机通信科技(深圳)有限公司 一种终端及提高***安全性方法
CN105550576B (zh) * 2015-12-11 2018-09-11 华为技术服务有限公司 容器间通信的方法与装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘第尧,***,李斌: "《基于Docker技术的容器隔离性研究》", 《软件》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020015416A1 (zh) * 2018-07-19 2020-01-23 华为技术有限公司 一种显示方法、装置及存储介质
CN109165204A (zh) * 2018-08-15 2019-01-08 郑州云海信息技术有限公司 一种基于脚本检测nfs双客户端目录显示的方法
CN109165204B (zh) * 2018-08-15 2022-02-18 郑州云海信息技术有限公司 一种基于脚本检测nfs双客户端目录显示的方法
CN109062770A (zh) * 2018-08-23 2018-12-21 郑州云海信息技术有限公司 一种磁盘监控方法及装置
CN111045834B (zh) * 2018-10-15 2023-08-08 中兴通讯股份有限公司 云桌面下usb存储设备访问的方法、设备和存储介质
CN111045834A (zh) * 2018-10-15 2020-04-21 中兴通讯股份有限公司 云桌面下usb存储设备访问的方法、设备和存储介质
CN112799740A (zh) * 2021-02-08 2021-05-14 联想(北京)有限公司 一种控制方法、装置及电子设备
CN112799740B (zh) * 2021-02-08 2022-07-26 联想(北京)有限公司 一种控制方法、装置及电子设备
WO2023015776A1 (zh) * 2021-08-11 2023-02-16 苏州浪潮智能科技有限公司 一种虚拟机管理方法、装置、设备及可读存储介质
US11922205B2 (en) 2021-08-11 2024-03-05 Inspur Suzhou Intelligent Technology Co., Ltd. Virtual machine management method and apparatus, device, and readable storage medium
CN114064594A (zh) * 2021-11-22 2022-02-18 马上消费金融股份有限公司 数据处理方法和装置
CN114064594B (zh) * 2021-11-22 2023-09-22 马上消费金融股份有限公司 数据处理方法和装置
CN116150116A (zh) * 2023-04-12 2023-05-23 阿里云计算有限公司 文件***共享的方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN108205623B (zh) 2020-04-03

Similar Documents

Publication Publication Date Title
CN108205623A (zh) 用于共享目录的方法和装置
US10237295B2 (en) Automated event ID field analysis on heterogeneous logs
CN105874464B (zh) 用于在子***输出信号中引入变化以防止设备指纹分析的***和方法
US20120011161A1 (en) Permission tracking systems and methods
CN106227494B (zh) 一种应用操作方法以及终端
US20150106518A1 (en) Managing virtual network ports
CN105468300B (zh) Ip硬盘的管理方法和装置
CN112560114B (zh) 调用智能合约的方法及装置
CN108196879A (zh) 业务处理方法、装置、设备及计算机可读存储介质
CN106331075B (zh) 用于存储文件的方法、元数据服务器和管理器
CN110113393A (zh) 一种消息推送方法、装置、电子设备及介质
CN110201393A (zh) 一种配置数据的存储方法、装置及电子设备
CN108665174A (zh) 风险预警方法、装置、计算机设备以及存储介质
CN109522332A (zh) 客户信息数据合并方法、装置、设备及可读存储介质
CN109992956A (zh) 容器的安全策略的处理方法和相关装置
CN106681799A (zh) ***磁盘的方法、装置和***
CN103679068A (zh) U盘的安全处理方法及装置、***
CN105337848B (zh) 网络好友的备注名获得方法和装置
CN109656884A (zh) 一种访问文件的方法及装置
CN111930363B (zh) 区块接口代码生成方法、及装置
CN109150969A (zh) 数据传输方法、分发机、终端机和数据传输***
US9921555B2 (en) Device control system, host device, and control method of a host device
CN107632775A (zh) 一种用户空间之间的信息共享方法、装置及终端
CN114331745B (zh) 数据处理方法、***、可读存储介质和电子设备
CN113515387B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200415

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 301, A building, room 3, building 301, foreshore Road, No. 310052, Binjiang District, Zhejiang, Hangzhou

Patentee before: Huawei Technologies Co.,Ltd.

TR01 Transfer of patent right