CN109684822B - 多用户访问环境配置方法、装置、设备及多联机系统 - Google Patents
多用户访问环境配置方法、装置、设备及多联机系统 Download PDFInfo
- Publication number
- CN109684822B CN109684822B CN201811644751.1A CN201811644751A CN109684822B CN 109684822 B CN109684822 B CN 109684822B CN 201811644751 A CN201811644751 A CN 201811644751A CN 109684822 B CN109684822 B CN 109684822B
- Authority
- CN
- China
- Prior art keywords
- user
- command
- operating system
- application container
- host operating
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种多用户访问环境配置方法,涉及电子技术领域,该方法在进行用户创建时为每个用户配置对应的用户目录以及个性化设置文件,用户目录以及个性化设置文件均可以由用户进行自定义,满足不同权限用户对运行环境的需求,同时不同用户目录以及个性化设置文件间相互区分隔离,实现了在多用户安全隔离;另外,该方法在进行用户创建时无需单独为每个用户进行系统空间的创建,多用户共用一个运行环境,实现了同一环境多用户共享,在满足不同用户对运行环境差异化需求的同时避免了共用资源的重复设置,降低了系统损耗。本发明还公开了一种多用户访问环境配置装置、一种计算机设备、一种计算机可读存储介质及一种多联机系统,具有上述有益效果。
Description
技术领域
本发明涉及电子技术领域,特别涉及一种多用户访问环境配置方法、装置、一种计算机设备、一种计算机可读存储介质及一种多联机系统。
背景技术
不同用户阶段以及用户类型对设备的运行环境要求是不同的。比如,现有的设备上装载有操作系统,用户在设备上运行所需的各种各样的用户程序,而开发人员在该设备上则需要单一的编译和调试环境,因此,普通用户在设备本机上和开发人员在设备本机上需要不同用户权限的访问功能;此外,设备在出厂之前是通过联机编译和调试实现应用开发,在开发阶段,需要有编译开发功能的用户环境,而在产品出厂阶段,则需要单一、纯净的运行环境,因此,不同的用户阶段对医疗设备的运行环境需求是不同的。针对不同用户类型以及用户阶段对运行环境多样化的需求,设备需要不同的、且安全隔离的用户环境,从而满足不同用户的使用和开发。
目前搭建的系统对于不同用户是采用设置完全独立且隔离的若干运行环境供不同用户,基本都是每人自己独立拥有一套环境,当某用户登录时单独启动属于自己独有的环境进行使用。
该方法下需要为各用户设置相对应的完整的运行环境,而运行环境中除了用户的一些不同权限下不同类型的设置外,还存在大量重复设置的部分,比如资源以及一些固定配置信息等。不同用户环境中相同部分的重复设置会占用系统大量资源,进而会严重影响系统性能;同时,系统启动时使用的是什么权限的用户就决定了只能此权限用户登录进该系统,无法实现一个系统中不同用户间的信息交互。
因此,如何在满足不同用户对运行环境差异化需求的同时,降低系统损耗,实现环境共享,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种多用户访问环境配置方法,该方法在满足不同用户对运行环境差异化需求的同时避免了共用资源的重复设置,降低了系统损耗;本发明的另一目的是提供一种多用户访问环境配置装置、计算机设备、计算机可读存储介质及一种多联机系统。
为解决上述技术问题,本发明提供一种多用户访问环境配置方法,包括:
控制主机操作系统接收新用户注册信息;其中,所述新用户注册信息包括用户名及密码;
根据所述新用户注册信息,生成用户创建命令;
将所述用户创建命令添加至所述主机操作系统中的系统用户个性化设置文件中;其中,所述主机操作系统中的系统用户个性化设置文件与所述应用容器引擎中的系统用户个性化设置文件具有映射关系;
控制所述应用容器引擎根据所述用户创建命令进行新用户创建;
创建所述应用容器引擎与所述主机操作系统之间的端口连接。
可选地,所述用户创建命令添加有用户信息定制命令,所述用户信息定制命令包括用户目录定制命令以及个性化设置文件配置命令。
可选地,所述根据所述新用户注册信息,生成用户创建命令,包括:
根据所述新用户注册信息生成指示创建用户的命令,并向所述指示创建用户的命令中添加所述用户信息定制命令,得到所述用户创建命令。
可选地,所述根据所述新用户注册信息,生成用户创建命令,包括:
将所述新用户注册信息进行解析,并将所解析的新用户注册信息存入预先设置的用户创建命令的变量中以供调用。
可选地,所述将用户创建命令添加至所述主机操作系统中的系统用户个性化设置文件中包括:
将所述主机操作系统的系统用户个性化设置文件进行共享;
将共享的所述主机操作系统的系统用户个性化设置文件映射至所述应用容器引擎的系统用户个性化设置文件;
将所述用户创建命令写入所述主机操作系统的系统用户个性化设置文件。
可选地,在所述将所述主机操作系统的系统用户个性化设置文件进行共享之前,所述多用户访问环境配置方法还包括:
将所述主机操作系统的系统用户个性化设置文件进行备份。
可选地,所述主机操作系统为linux系统;所述应用容器引擎为docker;
相应地,所述主机操作系统的系统用户个性化设置文件为所述主机操作系统在root用户下的bashrc文件,所述应用容器引擎的系统用户个性化设置文件包括所述应用容器引擎在root用户下的bashrc文件。
可选地,所述控制所述应用容器引擎根据所述用户创建命令进行新用户创建,包括:
启动所述应用容器引擎;
控制所述应用容器引擎自动执行所述用户创建命令;
退出所述应用容器引擎;
通过主机操作系统获取因所述应用容器引擎执行所述用户创建命令所产生的ID,并将所述ID提交保存;
重启所述应用容器引擎。
可选地,所述控制所述应用容器引擎根据所述用户创建命令进行新用户创建之后,所述方法还包括:
将所述主机操作系统的系统用户个性化设置文件的备份还原。
可选地,所述多用户访问环境配置方法还包括:
启动Samba镜像,通过所述应用容器引擎指定共享目录,以及设置Samba映射端口。
可选地,所述创建所述应用容器引擎与所述主机操作系统之间的端口连接,包括:
将所述主机操作系统的服务端口映射至所述应用容器引擎的服务端口。
可选地,所述控制所述应用容器引擎根据所述用户创建命令进行新用户创建之后,所述方法还包括:
将所述主机操作系统的指定目录映射至通过所述应用容器引擎所创建的新用户的用户目录。
本发明公开一种多用户环境访问配置装置,包括:
注册信息接收单元,用于控制主机操作系统接收新用户注册信息;其中,所述新用户注册信息包括用户名及密码;
创建命令生成单元,用于根据所述新用户注册信息,生成用户创建命令;
创建命令添加单元,用于将所述用户创建命令添加至所述主机操作系统中的系统用户个性化设置文件中;其中,所述主机操作系统中的系统用户个性化设置文件与所述应用容器引擎中的系统用户个性化设置文件具有映射关系;
新用户创建单元,用于控制所述应用容器引擎根据所述用户创建命令进行新用户创建;
端口连接单元,用于创建所述应用容器引擎与所述主机操作系统之间的端口连接。
本发明公开一种计算机设备,包括:
存储器,用于存储程序;
处理器,用于执行所述程序时实现所述多用户访问环境配置方法的步骤。
本发明公开一种计算机可读存储介质,所述计算机可读存储介质上存储有程序,所述程序被处理器执行时实现所述多用户访问环境配置方法的步骤。
本发明公开一种多联机系统,包括上述计算机设备。
本发明所提供的多用户访问环境配置方法,该方法在进行用户创建时为每个用户配置对应的用户目录以及个性化设置文件,用户目录中涉及到的具体目录信息以及个性化设置文件中存储的命令程序均可以由用户进行自定义,可以满足不同权限用户对运行环境的需求,同时用户目录于用户的个性化设置文件是为每个用户配置的,每个用户只能对自己权限下的目录以及个性化设置文件进行设置,不同用户目录以及个性化设置文件间相互区分隔离,可以实现在多用户安全隔离;另外,该方法在进行用户创建时无需单独为每个用户进行系统空间的创建,多用户共用一个运行环境,实现了同一环境多用户共享,在满足不同用户对运行环境差异化需求的同时避免了共用资源的重复设置,降低了系统损耗。
本发明还公开了一种多用户访问环境配置装置、计算机设备、计算机可读存储介质及一种多联机系统,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的多用户访问环境配置方法的流程图;
图2为本发明实施例提供的多用户访问环境配置装置的结构框图;
图3为本发明实施例提供的计算机设备的结构框图;
图4为本发明实施例提供的计算机设备的结构示意图。
具体实施方式
本发明的核心是提供一种多用户访问环境配置方法,该方法在满足不同用户对运行环境差异化需求的同时避免了共用资源的重复设置,降低了系统损耗;本发明的另一核心是提供一种多用户访问环境配置装置、计算机设备、计算机可读存储介质及一种多联机系统。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出了一种多用户访问环境配置方法,请参考图1,图1为本实施例提供的多用户访问环境配置方法的流程图;该方法主要包括:
步骤s110、控制主机操作系统接收新用户注册信息。
主机操作系统安装于服务器等计算机设备上,主机操作系统中封装有单纯的运行编译环境,以满足单纯化编译环境的需求;应用容器引擎运行于主机操作系统上,实现不同用户差异化命令设置,本实施例中对应用容器引擎的类型不做限定,可以为Docker等任意可以实现用户运行环境搭建的类型。
当有新用户注册时,控制主机操作系统接收新用户信息,主要包括获取设定的用户名及密码,具体获取的信息种类可根据登录验证需求灵活设定,在此不再赘述。
步骤s120、根据新用户注册信息生成创建用户的命令,并向命令中添加用户信息定制命令,得到用户创建命令。
用户信息定制命令包括用户目录定制命令以及个性化设置文件配置命令;用户目录定制命令用于指示在用户创建完成后生成新用户的用户目录,该用户目录只包括基础服务目录,用户可以在该基础服务目录上进行服务以及应用的定制,以实现用户对不同运行环境的需求;个性化配置文件配置命令用于指示在用户创建完成后为新用户分配用于个性化设置的个性化设置文件,用户可以添加自定义的命令程序至个性化设置文件中,用于存储用户目录中自定义服务以及应用对应的程序。
每个用户只能对自身的目录以及个性化配置文件进行设置,而无法对其他用户的用户信息进行设置,用户之间相互隔离,向用户创建命令中添加用户信息定制命令,各用户可以根据运行环境的需求以及环境权限的限制在新创建用户基础上进行内容的添加,从而满足不同用户对运行环境的差异化需求。
需要说明的是,步骤s120只是根据新用户注册信息,生成用户创建命令的其中一种具体方式,在其他实施例中,在接收到新用户注册信息后,也可将新用户注册信息进行解析,并将所解析的新用户注册信息存入预先设置的用户创建命令的变量中以供调用。由此,预先设置的用户创建命令在调用了其变量中的新用户注册信息后,最终生成用户创建命令。
步骤s130、将用户创建命令写入主机操作系统中的系统用户个性化设置文件中。
确定待注册用户的注册信息后,将新用户的创建命令写入主机操作系统中的系统用户个性化设置文件中。主机操作系统中的系统用户个性化设置文件与应用容器引擎中的系统用户个性化设置文件具有映射关系,具体创建映射关系的时间不做限定,早于命令写入即可。向主机操作系统的系统用户个性化设置文件中写入的新用户创建命令会自动映射至应用容器引擎中的系统用户个性化设置文件中。将携带有新用户注册信息的用户创建命令写入主机操作系统中的系统用户个性化设置文件中,当该文件复位启动后,即可自动执行该文件中的用户创建指令指示的新用户创建过程。
系统用户个性化设置文件具体可以指root用户的个性化设置文件。主机操作系统中配置有root用户,当需要添加新用户时,登录root用户进行个性化设置文件中新用户创建命令的添加进行新用户的创建。
将用户创建命令添加至主机操作系统中的系统用户个性化设置文件中具体可以包括以下步骤:
1)、将主机操作系统的系统用户个性化设置文件进行共享;
2)、将共享的主机操作系统的系统用户个性化设置文件映射至应用容器引擎的系统用户个性化设置文件;
3)、将用户创建命令写入主机操作系统的系统用户个性化设置文件。
将系统用户个性化设置文件共享后进行文件的映射,之后进程在执行操作系统用户个性化设置文件时就像操作进程空间里的地址一样了,可以大大提升文件管理效率。具体的映射共享文件的过程可以参照相关技术的步骤,本实施例中仅以上述步骤为例进行介绍,其它命令写入方式均可参照本实施例的介绍。
步骤s140、控制应用容器引擎(及其运行系统)根据用户创建命令进行新用户创建。
控制应用容器引擎进行新用户创建,创建完成后就可以通过该用户的用户信息(比如用户名和密码)来登录应用容器引擎。
根据用户创建命令进行用户创建的过程具体可以参照以下步骤:
1)、启动应用容器引擎(及其运行系统);
2)、控制应用容器引擎(及其运行系统)自动执行用户创建命令;
3)、退出应用容器引擎;
4)、通过主机操作系统获取因应用容器引擎执行用户创建命令所产生的ID,并将ID提交保存;
5)、重启应用容器引擎(及其运行系统)。
执行用户创建命令后退出应用容器引擎回到主机操作系统时会在主机操作系统中生成变量ID,这些变量ID标志在新用户对系统的改写成功,需要对这些ID提交保存后创建用户对系统的改动会稳定存储于系统。这样一个应用容器引擎中的新用户就创建完成了,就可以通过此用户来登录docker系统了。
用户创建成功后会生成该用户可以自定义设置的空间,用户可以在该用户的个性化设置文件中进行特定程序命令的配置,通过在应用容器引擎上封装多用户访问程序,从而配置形成环境访问系统,实现不同用户对编译系统中不同资源的访问;且定制化的个人目录在主机操作系统上也能访问修改。
通过上述用户创建过程可以在应用容器引擎中提供相互隔离的运行环境给不同权限的用户,从而满足不同用户同时登录docker系统中,访问自己独有资源,达到与正常宿主机系统中多用户同样的效果;其次,本实施例中对各用户的个性化设置文件的具体配置方式不做限定,在用户创建时只进行基础配置,具体特定的命令以及程序可以由用户自定义选择,基于应用容器引擎中资源分配灵活的架构,从而在产品出厂阶段,可灵活脱离编译环境,提供出厂的单一、纯净的运行环境。
当在应用容器引擎中创建了多个用户时,每个用户都会在应用容器引擎中有一个可自定义的个性化设置文件,不同用户分别将不同权限程序、自定义命令添加进去,实现用户环境的自定义,且各用户的个性化设置文件间相互独立,相互隔离,也实现了不同用户运行时的互不干扰,同时,用户的个性化设置文件中存储一些用户自定义的个性化设置,系统资源以及一些通用配置信息多用户共用,多个用户在一个应用容器引擎中既保持了多用户应用环境的一致性,又实现了相互隔离,可以有效降低系统资源损耗。
步骤s150、创建应用容器引擎与主机操作系统之间的端口连接。
创建端口连接为实现IP登录后可以通过主机操作系统登录至应用容器引擎,创建端口连接的过程可以参见现有技术,具体步骤在此不再赘述。其中,优选地,可以将主机操作系统的服务端口映射至应用容器引擎的服务端口。例如,将主机操作系统的2222端口映射到应用容器引擎中的22ssh端口,通过端口映射,可以实现IP地址到应用容器引擎的直接访问,加快应用容器引擎的响应速度,提升系统效率。
需要说明的是,本实施例中对主机操作系统的类型不做限定,可以为linux、Windows等类型,不同类型的操作系统中个性化设置文件的具体文件类型一般不同,个性化设置文件为系统下一类可以由用户自定义配置的文件类型,如在Linux系统下个性化设置文件具体为.bashrc文件,其它类型在此不再赘述。
另外,为便于用户在主机端可以灵活对应用容器引擎中用户目录进行调用,优选地,可以将主机操作系统的指定目录映射至通过应用容器引擎所创建的新用户的用户目录。其中,主机操作系统中的指定目录可以为系统用户端的share目录,也可以为其他指定目录,新用户的用户目录具体可以为用户home目录。当用户直接访问主机操作系统中的指定目录时,由于指定目录与用户目录具有映射关系,因此该用户可以实现对其个人在应用容器引擎中独有的用户目录的直接调用编辑,添加等操作,提升目录管理效率。
此外,为实现局域网里通过访问主机的ip即可访问到应用容器引擎里各用户共享出来的samba共享目录,以及实现在主机操作系统中可对局域网共享目录的直接访问,提升目录管理效率,优选地,可以启动Samba镜像,通过应用容器引擎指定共享目录,以及设置Samba映射端口。需要指出的是,该共享目录可以是新用户创建之前利用应用容器引擎指定已创建用户的目录进行共享以供各用户(包括新创建用户)共用,也可以是新用户创建之后利用应用容器引擎指定新用户的目录进行共享以供各用户共用,本实施例不对该共享目录的指定时间进行限制。
以上以单个用户创建过程为例进行介绍,由于不同用户创建过程均相同,多用户创建过程可类比上述步骤,具体在此不再赘述。
基于上述技术方案,本实施例所提供的多用户访问环境配置方法,该方法在进行用户创建时为每个用户配置对应的用户目录以及个性化设置文件,用户目录中涉及到的具体目录信息以及个性化设置文件中存储的命令程序均可以由用户进行自定义,可以满足不同权限用户对运行环境的需求,同时用户目录于用户的个性化设置文件是为每个用户配置的,每个用户只能对自己权限下的目录以及个性化设置文件进行设置,不同用户目录以及个性化设置文件间相互区分隔离,可以实现在多用户安全隔离;另外,该方法在进行用户创建时无需单独为每个用户进行系统空间的创建,多用户共用一个运行环境,实现了同一环境多用户共享,在满足不同用户对运行环境差异化需求的同时避免了共用资源的重复设置,降低了系统损耗。
本实施例的上述内容对将用户创建命令添加至主机操作系统中的系统用户个性化设置文件中的具体过程不做限定,此外,本实施例中已将主机操作系统中系统用户个性化设置文件共享,共享后其映射至应用容器引擎的系统用户个性化设置文件中,再直接将用户创建命令写入主机操作系统的系统用户个性化设置文件为例进行介绍,其他步骤均可参照本实施例的介绍。
由于在新用户创建时需要将新用户创建指令写入系统用户个性化设置文件中,在当前创建完成再次进行新用户的创建时,还需要将该用户的创建命令继续写入系统用户个性化设置文件中,这需要该文件的复位以实现用户创建过程,此外,该系统用户个性化设置文件在不需要创建用户的情况下或者已创建多用户的docker系统必要时也要进行启动使用,因而为避免影响系统用户的系统配置,优选地,则在将主机操作系统的系统用户个性化设置文件进行共享之前,可以将主机操作系统的系统用户个性化设置文件进行备份,当完成新用户创建后利用备份的文件进行还原即可。
本实施例对于具体备份方式不做限定,比如可以在触发用户注册时复制一份系统用户个性化设置文件,并将其存储至非系统用户端,具体地备份方法可以参照相关数据备份技术,在此不再赘述。
对系统用户个性化设置文件进行备份后进行备份恢复的过程不做限定,可以根据实际情况每隔预设时间进行数据复位等。优选地,为及时消除历史创建命令信息对系统用户个性化设置文件的影响,可以在控制应用容器引擎根据用户创建命令进行新用户创建之后,将主机操作系统的系统用户个性化设置文件的备份还原。
本实施例中对应用容器引擎以及主机操作系统的类型不做限定。其中,Docker是基于LXC(Linux Container,Linux容器)的高级容器开源引擎,鉴于Docker的持续集成性、版本可控制性、可移植性、隔离性和安全性,越来越多的企业开始考虑使用Docker。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统,是常用的性能稳定的多用户网络操作系统。在主机操作系统上安装Docker的应用容器引擎,采用容器实现不同的运行系统,在运行系统内实现多用户访问,其占用资源少、运行速度快,资源分配灵活为目前流行的系统架构。本实施例中以应用容器引擎为Docker,操作系统为Linux系统为例对多用户访问环境的配置过程进行详细介绍。
当操作系统为Linux系统时,主机操作系统的系统用户个性化设置文件为主机操作系统在root用户下的bashrc文件,相应地,应用容器引擎的系统用户个性化设置文件包括应用容器引擎在root用户下的bashrc文件。
Docker主要包括三种部件,即为守护进程,镜像和容器,其中,守护进程作为服务端接收来自客户的请求并进行处理,镜像是容器运行时的只读模板,容器包括用户应用运行所需要的集成环境。
上述安装在计算机设备上的操作系统为Linux系统,上述应用容器引擎为docker,本方案中的主机操作系统是docker搭建好的linux系统,在此基础上实现多用户能同时登录访问同一系统,并拥有自己的home目录,同时支持多用户ssh连接以及samba和中文输入法等功能。封装的多用户访问方法为:根据普通linux系统中设置多用户的方式,可分为两步:第一步是设置用户和密码,第二步是启动生效。
首先,docker的运行系统中已安装自带的expect交互程序,其可在命令执行过程中实现主机操作系统与应用容器引擎及其上的运行系统之间的自动交互,在创建用户时需要先将linux系统在/root下的.bashrc文件共享出来,作为主机端(即host端)文件映射到docker的/root/.bashrc文件,并且在共享之前应备份一下原始文件待后面使用。
接着,将用户创建命令写入到Linux系统在/root下的这个.bashrc文件中,并注意最后需要在该.bashrc文件中写入exit,从而启动docker引擎执行完用户创建命令后,再退出docker回到主机操作系统中,并获取上述ID,进行提交保存。这样一个docker运行系统的用户就创建完成了,就可以通过此用户来登录docker运行系统了,而且定制化的个人目录在主机操作系统上也能访问修改。
之后,重启docker服务并以后台的方式重启docker运行系统,并将主机的2222端口映射到docker中的22ssh端口,此外,将主机操作系统(即linux系统)的share目录映射到新创建用户在docker运行系统中的home目录,这样所有用户可以直接通过主机ssh的2222端口登录docker的运行系统中。
上述实施例中对控制进行多用户访问环境配置过程的执行主体不做限定,可以为某个系统端进行自动监控以及自动控制,或者由某个程序包来进行控制等,本实施例中以通过脚本控制为例对本发明的具体实现过程进行介绍,其他类型的执行主体均可参照本实施例的介绍。
在通过主机操作系统(本实施例可为linux系统)添加用户时,主机操作系统上执行的脚本会带入所添加用户的用户名及用户密码参数等新用户注册信息,脚本解析到之后会存入上述用户创建命令的变量中,以供用户创建命令执行时进行调用。需要指出的是,该脚本可以在主机开机时触发执行,也可以在主机操作系统添加用户时触发执行。
接着在完成Linux系统在/root下的.bashrc文件的备份以及该Linux系统在/root下的.bashrc文件与docker在/root下的.bashrc文件的映射之后,将创建用户的过程命令(即上述用户创建命令)写入到Linux系统在/root下的.bashrc文件中,因为此文件作为系统环境变量的文件之一,从而在docker引擎及其上的运行系统启动时会被执行,以此方式来实现新用户的创建以及信息的设置。命令执行过程中通过自动交互方式expect来处理和响应。具体的脚本代码可如下所示:
通过将此主机操作系统在/root下的.bashrc文件映射到docker运行系统中的/root/.bashrc来使得此.bashrc文件中的用户创建命令在docker运行系统中得到自动执行,从而实现用户创建以及信息设置的目的;并且在设置完之后自行退出docker运行系统并返回到主机操作系统中,在主机操作系统中获取到更改过的docker运行系统的id,并做提交保存,同时恢复上述主机操作系统在/root下的.bashrc文件的备份,以在不需要创建用户的情况下或者已创建多用户的docker运行系统中启动使用。具体的脚本代码可如下所示:
之后重启docker服务并再次以后台的方式启动docker运行系统、并设置端口映射和目录映射。具体的脚本代码可如下所示:
这样,新创建的用户以及之前已创建的用户就可以通过ssh 22端口连接主机2222端口登录docker运行系统,并进入自己的home目录。
在docker运行系统中,每个用户可以通过自己home目录下的.bashrc文件进行定制自己的服务和应用,每个用户自己目录下的.bashrc文件会根据/root下的.bashrc文件在创建用户的时候(useradd${muser}-m-d/home/${muser})由docker容器中的运行系统自动生成该隐藏文件。对于容器中的存放的是应用服务时,在不能自动生成.bashrc类似配置文件时,可以通过/root/.bashrc文件共享拷贝的方式来实现,也就是在/home目录与主机操作系统的指定目录映射的时候,将.bashrc文件分别拷贝到各用户目录下;当然也可以通过定制化来实现。具体可如下述start.sh文件中的代码所示。
其中,以下代码的docker_root_dir目录是主机操作系统上的目录,当前脚本所在的目录下有:docker_root_dir目录,其里面有passwd文件。
主机操作系统上/home/app/share目录下面是创建的各个用户目录,对应着(即映射)docker里面的/home目录。例如:/home/app/share/A用户对应docker里面的/home/A。
#!/bin/bash
############检测此用户是否已经注册,如果是已经注册的用户则会返回1,其它为0##########
以上脚本中还可增加samba的功能以及samba端口映射;从而通过访问host的ip即可访问到docker里各用户共享出来的samba共享目录。
具体来说,可以将上述的共享服务的相关命令都置于root用户的.bashrc文件中,这样docker启动后就会启动所有需要的服务了。例如,可在如下的.bashrc文件增加如下内容:
/etc/init.d/ssh start
/usr/sbin/smbd-D&
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon--xim&
其中,上述/etc/init.d/ssh为启动ssh服务,/usr/sbin/smbd为samba服务;而下面的则为输入法后台,对于输入法而言,需要在每个用户的.bashrc文件中加入自己的ibus环境变量和ibus后台,这样输入法才会在此用户环境下生效。
总之,通过此方式可以扩展对需要共享给多用户使用的服务或者环境进行设置,从而达到多用户共享的目的。
基于本实施例介绍的脚本控制多用户访问环境配置方法能节省开发成本、可快速搭建定制化多人共享和同时使用的服务器,同时可以降低系统资源损耗,只需启动一个docker运行系统(或运行环境)便能满足多人使用,又能保证环境一致性,快速搭建多人共享开发环境有效控制权限、个人目录独享,大大提升用户管理效率。
请参考图2,图2为本实施例提供的多用户环境访问配置装置的结构框图;该装置可以包括:注册信息接收单元210、创建命令生成单元220、创建命令添加单元230、新用户创建单元240以及端口连接单元250。本实施例提供的多用户环境访问配置装置可与上述多用户环境访问配置方法可相互对照。
其中,注册信息接收单元210主要用于控制主机操作系统接收新用户注册信息;其中,新用户注册信息包括用户名及密码;
创建命令生成单元220主要用于根据新用户注册信息,生成用户创建命令。
创建命令生成单元220可以有两种类型,第一种类型的创建命令生产单元的产生方式为根据新用户注册信息生成指示创建用户的命令,并向该指示创建用户的命令中添加用户信息定制命令,得到用户创建命令,其中,用户信息定制命令包括用户目录定制命令以及个性化设置文件配置命令;第二种类型的创建命令生成单元的产生方式为在接收到新用户注册信息后,将新用户注册信息进行解析,并将所解析的新用户注册信息存入预先设置的用户创建命令的变量中以供调用。
创建命令添加单元230主要用于将用户创建命令添加至主机操作系统中的系统用户个性化设置文件中;其中,主机操作系统中的系统用户个性化设置文件与应用容器引擎中的系统用户个性化设置文件具有映射关系;
新用户创建单元240主要用于控制应用容器引擎根据用户创建命令进行新用户创建;
端口连接单元250主要用于创建应用容器引擎与主机操作系统之间的端口连接。
其中,创建命令生成单元具体主要包括:
文件共享子单元,用于将主机操作系统的系统用户个性化设置文件进行共享;
共享映射子单元,用于将共享的主机操作系统的系统用户个性化设置文件映射至应用容器引擎的系统用户个性化设置文件;
命令写入子单元,用于将用户创建命令写入主机操作系统的系统用户个性化设置文件。
创建命令生成单元可以进一步包括:文件备份子单元,文件备份子单元的输出端与文件共享子单元的输入端连接,用于将主机操作系统的用户个性化设置文件进行备份。
多用户访问环境配置装置中可以进一步包括:备份还原单元,备份还原单元与新用户创建单元连接,用于当新用户创建完成后,将主机操作系统的用户个性化设置文件的备份还原。
多用户访问环境配置装置中新用户创建单元主要可以包括:
启动子单元,用于启动应用容器引擎;
执行子单元,用于控制应用容器引擎自动执行用户创建命令;
退出子单元,用于退出应用容器引擎;
ID获取子单元,用于通过主机操作系统获取因应用容器引擎执行用户创建命令所产生的ID,并将ID提交保存;
重启子单元,用于重启应用容器引擎。
多用户访问环境配置装置中可以进一步包括启动Samba启动单元,用于用户创建成功后,启动Samba镜像,通过应用容器引擎指定共享目录,以及设置Samba映射端口。
端口连接单元具体可以用于:将主机操作系统的服务端口映射至应用容器引擎的服务端口。
多用户访问环境配置装置中可以进一步包括目录映射单元,用于将主机操作系统的指定目录映射至通过应用容器引擎所创建的新用户的用户目录。
请参考图3,图3为本实施例提供的计算机设备的结构框图;该设备可以包括:存储器300以及处理器310。计算机设备可参照上述多用户访问环境配置方法的介绍。
其中,存储器300主要用于存储程序;
处理器310主要用于执行程序时实现上述多用户访问环境配置方法的步骤。
本实施例中对具体的设备类型以及应用场景不做限定,以医疗场景为例,相应地,计算机设备具体可以为:血糖监测装置、血压测量装置、血液分析仪、超声设备、彩超设备、内窥镜设备等等。
请参考图4,为本实施例提供的计算机设备的结构示意图,该计算机设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在计算机设备301上执行存储介质330中的一系列指令操作。
计算机设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上面图1所描述的多用户访问环境配置方法中的步骤可以由计算机设备的结构实现。
本实施例公开了一种计算机可读存储介质,计算机可读存储介质上存储有程序,程序被处理器执行时实现多用户访问环境配置方法的步骤,其中,多用户访问环境配置方法可参照图1对应的实施例,在此不再赘述。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本实施例公开一种多联机系统,该多联机系统包括多台计算机设备。
本实施例中对具体系统中包含的计算机设备的数量不做限定,其中,至少包括一台如实施例六中的计算机设备,可以进行相互参看,在此对计算机设备的具体构造不在赘述。
在局域网中,只要其中一台计算机设备通过上述多用户访问环境配置方法创建了多用户环境访问系统,则与该计算机设备联机的其他计算机设备均可访问同一docker环境,通过联机化设备满足不同权限用户对运行环境的需求。
需要指出的是,以上采用多用户访问环境配置方法的计算机设备可以是一般类型的计算机设备,也可是服务器,还可以如上述的医疗设备或其主机。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的多用户访问环境配置方法、装置、计算机设备、计算机可读存储介质及多联机系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (15)
1.一种多用户访问环境配置方法,其特征在于,包括:
控制主机操作系统接收新用户注册信息;其中,所述新用户注册信息包括用户名及密码;
根据所述新用户注册信息,生成用户创建命令;所述用户创建命令添加有用户信息定制命令,所述用户信息定制命令包括用户目录定制命令以及个性化设置文件配置命令;
将所述用户创建命令添加至所述主机操作系统中的系统用户个性化设置文件中;其中,所述主机操作系统中的系统用户个性化设置文件与应用容器引擎中的系统用户个性化设置文件具有映射关系;控制所述应用容器引擎根据所述用户创建命令进行新用户创建,所述应用容器引擎可创建多个用户;所述个性化设置文件用于存储用户目录中自定义服务以及应用对应的程序;
创建所述应用容器引擎与所述主机操作系统之间的端口连接。
2.根据权利要求1所述的多用户访问环境配置方法,其特征在于,所述根据所述新用户注册信息,生成用户创建命令,包括:
根据所述新用户注册信息生成指示创建用户的命令,并向所述指示创建用户的命令中添加所述用户信息定制命令,得到所述用户创建命令。
3.根据权利要求1所述的多用户访问环境配置方法,其特征在于,所述根据所述新用户注册信息,生成用户创建命令,包括:
将所述新用户注册信息进行解析,并将所解析的新用户注册信息存入预先设置的用户创建命令的变量中以供调用。
4.根据权利要求1所述的多用户访问环境配置方法,其特征在于,将用户创建命令添加至所述主机操作系统中的系统用户个性化设置文件中包括:
将所述主机操作系统的系统用户个性化设置文件进行共享;
将共享的所述主机操作系统的系统用户个性化设置文件映射至所述应用容器引擎的系统用户个性化设置文件;
将所述用户创建命令写入所述主机操作系统的系统用户个性化设置文件。
5.根据权利要求4所述的多用户访问环境配置方法,其特征在于,在所述将所述主机操作系统的系统用户个性化设置文件进行共享之前,所述多用户访问环境配置方法还包括:
将所述主机操作系统的系统用户个性化设置文件进行备份。
6.根据权利要求1所述的多用户访问环境配置方法,其特征在于,所述主机操作系统为linux系统;所述应用容器引擎为docker;
相应地,所述主机操作系统的系统用户个性化设置文件为所述主机操作系统在root用户下的bashrc文件,所述应用容器引擎的系统用户个性化设置文件包括所述应用容器引擎在root用户下的bashrc文件。
7.根据权利要求1所述的多用户访问环境配置方法,其特征在于,所述控制所述应用容器引擎根据所述用户创建命令进行新用户创建,包括:
启动所述应用容器引擎;
控制所述应用容器引擎自动执行所述用户创建命令;
退出所述应用容器引擎;
通过主机操作系统获取因所述应用容器引擎执行所述用户创建命令所产生的ID,并将所述ID提交保存;
重启所述应用容器引擎。
8.根据权利要求5所述的多用户访问环境配置方法,其特征在于,所述控制所述应用容器引擎根据所述用户创建命令进行新用户创建之后,所述方法还包括:
将所述主机操作系统的系统用户个性化设置文件的备份还原。
9.根据权利要求1所述的多用户访问环境配置方法,其特征在于,所述方法还包括:
启动Samba镜像,通过所述应用容器引擎指定共享目录,以及设置Samba映射端口。
10.如权利要求1所述的多用户访问环境配置方法,其特征在于,所述创建所述应用容器引擎与所述主机操作系统之间的端口连接,包括:
将所述主机操作系统的服务端口映射至所述应用容器引擎的服务端口。
11.根据权利要求1所述的多用户访问环境配置方法,其特征在于,所述控制所述应用容器引擎根据所述用户创建命令进行新用户创建之后,所述方法还包括:
将所述主机操作系统的指定目录映射至通过所述应用容器引擎所创建的新用户的用户目录。
12.一种多用户环境访问配置装置,其特征在于,包括:
注册信息接收单元,用于控制主机操作系统接收新用户注册信息;其中,所述新用户注册信息包括用户名及密码;
创建命令生成单元,用于根据所述新用户注册信息,生成用户创建命令;所述用户创建命令添加有用户信息定制命令,所述用户信息定制命令包括用户目录定制命令以及个性化设置文件配置命令;
创建命令添加单元,用于将所述用户创建命令添加至所述主机操作系统中的系统用户个性化设置文件中;其中,所述主机操作系统中的系统用户个性化设置文件与应用容器引擎中的系统用户个性化设置文件具有映射关系;所述个性化设置文件用于存储用户目录中自定义服务以及应用对应的程序;
新用户创建单元,用于控制所述应用容器引擎根据所述用户创建命令进行新用户创建,所述应用容器引擎可创建多个用户;
端口连接单元,用于创建所述应用容器引擎与所述主机操作系统之间的端口连接。
13.一种计算机设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述程序时实现如权利要求1至11任一项所述多用户访问环境配置方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有程序,所述程序被处理器执行时实现如权利要求1至11任一项所述多用户访问环境配置方法的步骤。
15.一种多联机系统,其特征在于,包括如权利要求13所述计算机设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811644751.1A CN109684822B (zh) | 2018-12-30 | 2018-12-30 | 多用户访问环境配置方法、装置、设备及多联机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811644751.1A CN109684822B (zh) | 2018-12-30 | 2018-12-30 | 多用户访问环境配置方法、装置、设备及多联机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109684822A CN109684822A (zh) | 2019-04-26 |
CN109684822B true CN109684822B (zh) | 2022-04-01 |
Family
ID=66191482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811644751.1A Active CN109684822B (zh) | 2018-12-30 | 2018-12-30 | 多用户访问环境配置方法、装置、设备及多联机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684822B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569043B (zh) * | 2019-09-06 | 2023-04-25 | 程延辉 | 一种多用户的kbroker分布式操作系统和多用户管理系统 |
CN112543109B (zh) * | 2019-09-20 | 2023-08-15 | 上海数荃数据科技有限公司 | 一种云主机创建方法、系统、服务器及存储介质 |
CN111522560A (zh) * | 2020-04-21 | 2020-08-11 | 北京三快在线科技有限公司 | 软件安装方法、装置、存储介质及电子设备 |
CN111708732A (zh) * | 2020-05-07 | 2020-09-25 | 深圳震有科技股份有限公司 | 一种文件读写方法、智能终端及存储介质 |
CN114576701A (zh) * | 2020-11-30 | 2022-06-03 | 青岛海尔空调器有限总公司 | 空调器 |
CN113742716B (zh) * | 2021-11-04 | 2022-02-08 | 腾讯科技(深圳)有限公司 | 代码运行方法、装置、电子设备、存储介质和程序产品 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1314241C (zh) * | 2002-09-27 | 2007-05-02 | 华为技术有限公司 | 在城域网相同虚容器映射通道内传送不同用户数据的方法 |
US20090222880A1 (en) * | 2008-03-03 | 2009-09-03 | Tresys Technology, Llc | Configurable access control security for virtualization |
CN105323282B (zh) * | 2014-07-28 | 2018-12-04 | 神州数码信息系统有限公司 | 一种面向多租户的企业应用部署与管理系统 |
CN107396345A (zh) * | 2016-05-16 | 2017-11-24 | 北京信威通信技术股份有限公司 | 一种多用户登录的方法及装置 |
CN106529331A (zh) * | 2016-10-31 | 2017-03-22 | 用友网络科技股份有限公司 | 一种应用于PaaS平台的多租户数据隔离方案 |
CN106713493B (zh) * | 2017-01-20 | 2020-09-29 | 苏州浪潮智能科技有限公司 | 一种在计算机集群环境中构建分布式文件系统及方法 |
CN106886455B (zh) * | 2017-02-23 | 2019-02-22 | 北京图森未来科技有限公司 | 一种实现用户隔离的方法及系统 |
CN107704309A (zh) * | 2017-09-21 | 2018-02-16 | 中智关爱通(上海)科技股份有限公司 | 基于Docker构建标准化运行环境的方法及系统 |
-
2018
- 2018-12-30 CN CN201811644751.1A patent/CN109684822B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109684822A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684822B (zh) | 多用户访问环境配置方法、装置、设备及多联机系统 | |
US10002155B1 (en) | Dynamic code loading | |
US8020028B1 (en) | Application management system for mobile devices | |
Butler et al. | User's guide to the p4 parallel programming system | |
Sloan | High Performance Linux Clusters with OSCAR, Rocks, OpenMosix, and MPI: A Comprehensive Getting-Started Guide | |
US7774762B2 (en) | System including run-time software to enable a software application to execute on an incompatible computer platform | |
Anderson et al. | LCFG: The next generation | |
JP6132009B2 (ja) | システム変更後におけるコンピューティング装置の適切な動作を確認するための方法及びシステム | |
US8677449B1 (en) | Exposing data to virtual machines | |
CN110780930A (zh) | 启动Android系统的方法、装置、电子设备及存储介质 | |
CN112364897A (zh) | 分布式训练方法及装置、存储介质及电子设备 | |
CN115629843A (zh) | 一种云端异构虚拟化数字仿真平台 | |
CN104166607A (zh) | 用于备份数据库的数据处理方法及装置 | |
WO2023098052A1 (zh) | 一种服务器运维方法、装置、设备及存储介质 | |
US20020144002A1 (en) | Method and apparatus for providing application specific strategies to a JAVA platform including start and stop policies | |
CN114579250A (zh) | 一种构建虚拟集群的方法、装置及存储介质 | |
TW200847018A (en) | Side-by-side application manifests for single-purpose applications | |
CN113419814B (zh) | 一种云平台中虚拟机创建方法、装置、设备及存储介质 | |
CN111176714B (zh) | 软件系统开发方法、装置、终端设备及存储介质 | |
CN114995847A (zh) | 热更新方法、装置、设备及计算机可读存储介质 | |
CN115509590B (zh) | 持续部署方法及计算机设备 | |
US20030212770A1 (en) | System and method of controlling software components | |
Mustafa | Kubernetes | |
US20240080277A1 (en) | Data plane techniques for substrate managed containers | |
Slawinska et al. | Enhancing build-portability for scientific applications across heterogeneous platforms |
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 |