CN115879095A - 密码重置方法、装置、计算设备及计算机存储介质 - Google Patents
密码重置方法、装置、计算设备及计算机存储介质 Download PDFInfo
- Publication number
- CN115879095A CN115879095A CN202111146140.6A CN202111146140A CN115879095A CN 115879095 A CN115879095 A CN 115879095A CN 202111146140 A CN202111146140 A CN 202111146140A CN 115879095 A CN115879095 A CN 115879095A
- Authority
- CN
- China
- Prior art keywords
- password
- user
- virtual machine
- resetting
- reset
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明实施例涉及通信技术领域,公开了一种基于OpenStack的密码重置方法和装置,该方法包括:接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息;根据所述用户信息确定重置密码的用户身份;若所述用户为root用户,则在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码;若所述用户为非root用户,则所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。通过上述方式,本发明实施例实现了密码重置。
Description
技术领域
本发明实施例涉及云计算领域,具体涉及一种密码重置方法、装置、计算设备及计算机存储介质。
背景技术
虚拟化技术是把一个物理机通过虚拟机管理程序(Hypervisor)虚拟为多个独立主机的技术,每个独立主机称之为虚拟机(Virtual Machine,VM),云服务提供商通过虚拟化技术给用户提供虚拟机服务。
OpenStack是一种开源的云计算平台,其包括Keystone(认证)、Nova(计算)、Neutron(网络)、Cinder(存储)等管理组件。云主机是整合了计算、存储与网络资源的IT基础设施能力租用服务,能提供基于云计算模式的按需使用和按需付费能力的服务器租用服务。qemu-guest-agent是在虚拟机中运行的守护进程,可以管理应用程序,执行宿主机发出的命令。
在用户使用虚拟机的过程中,如果用户忘记了虚拟机的登录密码,或者该登录密码过期,则用户需要对虚拟机的登录密码进行重置,然后采用重置后的重置密码登录虚拟机。
目前,云平台密码管理主要包括以下几种方式:
一种是通过调用setUserPassword接口向unix socket文件写入重置密码所需文件内容并且执行修改密码操作。
另一种是通过虚拟机镜像管理工具guestfish将新密码写入Linux虚拟机的镜像文件,通过重启虚拟机完成对虚拟机密码重置。
此外,对于重置windows虚拟机密码,是通过登陆windows虚拟机,将虚拟机C盘文件挂载到mnt目录下,进入目录替换SAM文件,重启windows虚拟机完成虚拟机密码重置。
可见,现有技术方案均侧重于通过重启虚拟机修改虚拟机密码,需要进入云主机内部重置密码,在用户忘记云主机密码情况下,该方法无效。或者是通过调用setUserPassword方法重置云主机密码,然而CentOS6系列云主机不支持setUserPassword方法,因此该方法无法对CentOS6系列云主机进行密码重置,不具备普适性。另外,通过综合目前方案可以看出,目前的云主机密码修改方案比较单一,很难在多操作系统中对云主机指定用户进行密码修改,且会出现业务中断情况。
发明内容
鉴于上述问题,本发明实施例提供了一种密码重置方法、装置、计算设备及计算机存储介质,同时支持Linux、Windows多种操作系统云主机密码重置,支持CentOS6系列虚拟机重置密码,且可以指定用户修改密码,具备普适性;并且,还可以通过管理界面对云主机指定用户进行在线密码重置,无需登陆,立即生效,底层用户无感知,兼具业务灵活性和友好性。
根据本发明实施例的一个方面,提供了一种密码重置方法,包括以下步骤:
接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息;
根据所述用户信息确定重置密码的用户身份;
若所述用户为root用户,则在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码;
若所述用户为非root用户,则所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。
在一种可选的方式中,所述数据传输通道两端分别为虚拟机内部的串行接口以及在宿主机中创建的unix socket文件;
所述通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码,包括:
所述宿主机通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的qemu-guest-agent服务,将root用户密码修改为新密码。
在一种可选的方式中,所述通过所述KVM模块修改虚拟机指定用户密码,包括:
通过调用所述KVM模块,驱动CPU进入VMX non-root模式,将虚拟机用户密码修改为新密码。
在一种可选的方式中,所述接收云管理平台发送的用户的重置密码请求之后,所述方法还包括:
根据所述重置密码请求的参数,获取虚拟机的通用唯一识别码;
获取虚拟机状态,并更新所述虚拟机状态为密码更新状态。
在一种可选的方式中,所述接收云管理平台发送的用户的重置密码请求之后,所述方法还包括:
通过api接口发送密码设置请求至虚拟机管理配置服务;
获取所述虚拟机管理配置服务发送的新密码。
在一种可选的方式中,所述获取所述虚拟机管理配置服务发送的新密码之前,所述方法还包括:
通过所述虚拟机管理配置服务发送密码设置请求给用户;
所述虚拟机管理配置服务确定用户是否输入新密码;
若用户未输入新密码,则所述虚拟机管理配置服务随机生成一串密码作为所述新密码;
若用户输入新密码,则所述虚拟机管理配置服务获取所述新密码。
在一种可选的方式中,所述根据所述用户信息确定重置密码的用户身份之前,所述方法还包括:
所述虚拟机管理配置服务发送重置密码请求至KVM模块;
所述KVM模块通过Libvirt检测所述虚拟机是否开启qemu-guest-agent服务;
若所述虚拟机开启qemu-guest-agent服务,则确认所述虚拟机支持密码修改。
根据本发明实施例的另一方面,提供了一种密码重置装置,包括:获取模块、判断模块和密码重置模块,其中,获取模块用于接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息;判断模块用于根据所述用户信息确定重置密码的用户身份;密码重置模块用于在所述用户为root用户时,在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码;所述密码重置模块还用于在所述用户为非root用户时,所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。
根据本发明实施例的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述的一种密码重置方法对应的操作。
根据本发明实施例的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行上述的一种密码重置方法对应的操作。
本发明实施例通过接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息;然后根据所述用户信息确定重置密码的用户身份;若所述用户为root用户,则在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码;若所述用户为非root用户,则所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。这样,能够同时支持Linux、Windows多种操作系统云主机密码重置,支持CentOS6系列虚拟机重置密码,且可以指定用户修改密码,具备普适性;并且,还可以通过管理界面对云主机指定用户进行在线密码重置,无需登陆,立即生效,底层用户无感知,兼具业务灵活性和友好性。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种密码重置方法的流程图一;
图2示出了本发明实施例提供的一种密码重置方法的流程图二;
图3示出了本发明实施例提供的一种密码重置方法的流程图三;
图4示出了本发明实施例提供的一种密码重置装置的功能框图;
图5示出了本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1示出了本发明一种密码重置方法实施例的流程图一。本发明实施例的密码重置方法基于OpenStack云计算平台。如图1所示,该方法包括以下步骤:
步骤110:接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息。
在云管理平台中的物理主机即为宿主机,该物理主机上可以运行有至少一台虚拟机,云管理平台可以通过运行Openstack nova实现云服务中的计算功能,比如对虚拟机进行管理。
在一套完整的原生的OpenStack系统当中,Novaclient客户端是已经默认安装的。如果别的物理机想访问已有的OpenStack nova的服务,可以通过安装Novaclient客户端的方式实现。
在本实施例中,OpenStack系统中的Novaclient客户端接收到云管理平台发送的用户的重置密码请求后,作为Openstack两种主要通信方式(RESTFUL API和消息总线)之一,OpenStack中的nova-api在Novaclient客户端和Nova间的起到桥梁作用,Novaclient客户端进一步的向Nova-api发送重置密码请求。
具体的,所述密码重置请求可以携带有虚拟机标识和用户标识;该虚拟机标识可以为虚拟机的通用唯一识别码(universally unique identifier,UUID),用户标识可以为用于识别用户身份的名字或账号,即所述重置密码请求中包括用户信息。
在本实施例中,Nova-api在接收到所述重置密码请求后,检测所述重置密码请求的参数,获取虚拟机的通用唯一识别码(universally unique identifier,UUID),然后基于已经获取的虚拟机的通用唯一识别码(universally unique identifier,UUID)得到对应的具体需要重置密码的虚拟机。
进一步的,在获取具体的虚拟机后,还可以获取虚拟机状态,并将所述虚拟机状态更新为密码更新状态UPDATNING-PASSWORD。
进一步的,Nova-api通过api接口发送密码设置请求至虚拟机管理配置服务nova-compute中。nova-compute是一个非常重要的守护进程,负责创建和终止虚拟机实例,即管理着虚拟机实例的生命周期。例如对于创建虚拟机请求,nova-api接收到客户端请求后,经过nova-scheduler调度器调度,再将请求通过rpc机制发送给某个选定的nova-compute节点,nova-compute模块经过一系列的动作之后将命令下发到真正的hypervisor进行虚拟机的创建。
进一步的,虚拟机管理配置服务nova-compute接收到密码设置请求后,发送密码设置请求给用户;用户在接收到密码设置请求后,存在输入新密码和未输入新密码两种情况,根据用户的反馈情况,所述虚拟机管理配置服务确定用户是否输入新密码;若用户未输入新密码,则所述虚拟机管理配置服务随机生成一串密码作为所述新密码;若用户输入新密码,则所述虚拟机管理配置服务获取所述新密码。这样,所述重置密码请求中包含待重置密码,待重置密码即为用户输入的新密码。
进一步的,虚拟机管理配置服务nova-compute发送重置密码请求至KVM(Kernel-based Virtual Machine,基于内核的虚拟机)模块;Libvirt是用于管理虚拟化平台的开源的API,后台程序和管理工具。它可以用于管理KVM、Xen、VMware ESX,QEMU(QuickEmulator)和其他虚拟化技术,都可以调用Libvirt提供的api对虚拟机进行管理。QEMUGuest Agent是运行在虚拟机内部的一个守护程序(qemu-guest-agent.service),用它来辅助Hypervisor实现对Guest的管理,即qemu-guest-agent是在虚拟机中运行的守护进程,可以管理应用程序,执行宿主机发出的命令。
因此,所述KVM模块通过Libvirt检测所述虚拟机是否开启qemu-guest-agent服务;若所述虚拟机开启qemu-guest-agent服务,则确认所述虚拟机支持密码修改。
步骤120:根据所述用户信息确定重置密码的用户身份。
在本实施例中,由于所述重置密码请求包括用户信息,因此,可以根据所述用户信息确定重置密码的用户身份。
具体的,由于虚拟化驱动管理工具(也即驱动端)是宿主机的一部分,驱动端可以根据重置密码请求判断申请修改密码的用户身份,用户身份一般包括root用户和非root用户,root用户一般为超级管理员用户,具有root权限,类似于Windows系统中的Administrator,非root用户即为普通用户,一般不具有root权限。
步骤130:若所述用户为root用户,则在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码。
在本实施例中,若所述用户为root用户,则在所述虚拟机与所述宿主机之间创建数据传输通道,所述数据传输通道两端分别为虚拟机内部的串行接口以及在宿主机中创建的unix socket文件;所述宿主机通过所述数据传输通道获取所述虚拟机的内部进程,具体为QEMU(Quick Emulator)为宿主机和虚拟机提供了一个数据通道(channel),这个通道的两端分别是在虚拟机内看到的串行接口和在宿主机上看到的unix socket文件。然后通过Socket通信调用所述虚拟机内部的qemu-guest-agent服务,将root用户密码修改为新密码。
具体的,可以通过Openstack中的nova先调用Libvirt,以连接至需要重置密码的虚拟机所在的物理主机上,其中,Openstack是业界知名的云计算开源软件,nova是其中负责虚拟机管理的组件,Libvirt是用于管理虚拟化平台的开源的应用程序编程接口,接着再调用QEMU(Quick Emulator),以提供虚拟机上的串行接口与上述物理主机上的unixsocket之间的交互通道,其中,QEMU(Quick Emulator)是一款开源的模拟器及虚拟机监管器,unixsocket是两个应用程序之间的交互通道的端点,然后再通过上述串行接口调用虚拟机中内部的qemu-guest-agent服务,实现密码的重置。
步骤140:若所述用户为非root用户,则所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。
在本实施例中,若所述用户为非root用户,此种场景下可以包括windows虚拟机以及linux虚拟机普通租户,则所述宿主机通过KVM模块与所述虚拟机建立通信,在QEMU-KVM中,KVM运行在内核空间,QEMU运行在用户空间,实际模拟创建、管理各种虚拟硬件,QEMU将KVM整合了进来,通过/ioctl调用/dev/kvm,/dev/kvm是kvm模块提供给用户空间的一个接口,这个接口被qemu-kvm调用,从而将CPU指令的部分交给kvm模块来做。
在本实施例中,QEMU-KVM通过ioctl(input/output control)指令调用所述KVM模块,驱动CPU进入VMX non-root模式,Libvirt提供了专门的virDomainQemuAgentCommandAPI(对应virsh qemu-agent-command命令)来和qemu-guest-agent通讯,开始执行virDomain SetUserPassword修改虚拟机用户密码,将用户密码修改为新密码。
当上述步骤执行成功后,密码修改生效,用户可以使用新密码进行登陆。
本发明实施例通过接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息;然后根据所述用户信息确定重置密码的用户身份;若所述用户为root用户,则在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码;若所述用户为非root用户,则所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。这样,能够同时支多种操作系统云主机密码重置,且可以指定用户修改密码,具备普适性;并且,还可以通过管理界面对云主机指定用户进行在线密码重置,无需登陆,立即生效,底层用户无感知,兼具业务灵活性和友好性。
图2示出了本发明一种密码重置方法实施例的流程图二,如图2所示,若需要重置密码的用户为root用户,该方法包括以下步骤:
步骤210:接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息。
步骤220:根据所述用户信息确定重置密码的用户身份。
步骤230:若所述用户为root用户,则在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码。
其中,步骤210至步骤230与步骤110至步骤130内容相同,本申请在此不再赘述。
当上述步骤执行成功后,密码修改生效,用户可以使用新密码进行登陆。
本发明实施例通过接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息;然后根据所述用户信息确定重置密码的用户身份;若所述用户为root用户,则在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码。这样,能够同时支多种操作系统云主机密码重置,且可以指定用户修改密码,具备普适性;并且,还可以通过管理界面对云主机指定用户进行在线密码重置,无需登陆,立即生效,底层用户无感知,兼具业务灵活性和友好性。
图3示出了本发明一种密码重置方法实施例的流程图三,如图3所示,若需要重置密码的用户为普通用户,该方法包括以下步骤:
步骤310:接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息。
步骤320:根据所述用户信息确定重置密码的用户身份。
步骤330:若所述用户为非root用户,则所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。
其中,步骤310至步骤330与步骤110、步骤120和步骤140内容相同,本申请在此不再赘述。
当上述步骤执行成功后,密码修改生效,用户可以使用新密码进行登陆。
本发明实施例通过接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息;然后根据所述用户信息确定重置密码的用户身份;若所述用户为非root用户,则所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。这样,能够同时支多种操作系统云主机密码重置,且可以指定用户修改密码,具备普适性;并且,还可以通过管理界面对云主机指定用户进行在线密码重置,无需登陆,立即生效,底层用户无感知,兼具业务灵活性和友好性。
图4示出了本发明一种密码重置装置实施例的功能框图。如图4所示,所述密码重置装置400包括:获取模块410、判断模块420和密码重置模块430。
其中,所述获取模块410用于接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息。所述判断模块420用于根据所述用户信息确定重置密码的用户身份。所述密码重置模块430用于在所述用户为root用户时,在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码。所述密码重置模块430还用于在所述用户为非root用户时,所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。
本发明实施例通过接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息;然后根据所述用户信息确定重置密码的用户身份;若所述用户为root用户,则在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码;若所述用户为非root用户,则所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。这样,能够同时支多种操作系统云主机密码重置,且可以指定用户修改密码,具备普适性;并且,还可以通过管理界面对云主机指定用户进行在线密码重置,无需登陆,立即生效,底层用户无感知,兼具业务灵活性和友好性。
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述一种密码重置方法对应的操作。
本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述一种密码重置方法对应的操作。
图5示出了本发明一种计算设备实施例的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图5所示,该计算设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。处理器502,用于执行程序510,具体可以执行上述用于密码重置方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:
接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息;根据所述用户信息确定重置密码的用户身份;若所述用户为root用户,则在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码;若所述用户为非root用户,则所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。
在一种可选的方式中,程序510具体可以用于使得处理器502执行以下操作:所述数据传输通道两端分别为虚拟机内部的串行接口以及在宿主机中创建的unix socket文件;所述宿主机通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的qemu-guest-agent服务,将root用户密码修改为新密码。
在一种可选的方式中,程序510具体可以用于使得处理器502执行以下操作:通过调用所述KVM模块,驱动CPU进入VMX non-root模式,将虚拟机用户密码修改为新密码。
在一种可选的方式中,程序510具体可以用于使得处理器502执行以下操作:根据所述重置密码请求的参数,获取虚拟机的通用唯一识别码;获取虚拟机状态,并更新所述虚拟机状态为密码更新状态。
在一种可选的方式中,程序510具体可以用于使得处理器502执行以下操作:通过api接口发送密码设置请求至虚拟机管理配置服务;获取所述虚拟机管理配置服务发送的新密码。
在一种可选的方式中,程序510具体可以用于使得处理器502执行以下操作:通过所述虚拟机管理配置服务发送密码设置请求给用户;所述虚拟机管理配置服务确定用户是否输入新密码;若用户未输入新密码,则所述虚拟机管理配置服务随机生成一串密码作为所述新密码;若用户输入新密码,则所述虚拟机管理配置服务获取所述新密码。
在一种可选的方式中,程序510具体可以用于使得处理器502执行以下操作:所述虚拟机管理配置服务发送重置密码请求至KVM模块;所述KVM模块通过Libvirt检测所述虚拟机是否开启qemu-guest-agent服务;若所述虚拟机开启qemu-guest-agent服务,则确认所述虚拟机支持密码修改。
本发明实施例通过接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息;然后根据所述用户信息确定重置密码的用户身份;若所述用户为root用户,则在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码;若所述用户为非root用户,则所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。这样,能够同时支多种操作系统云主机密码重置,且可以指定用户修改密码,具备普适性;并且,还可以通过管理界面对云主机指定用户进行在线密码重置,无需登陆,立即生效,底层用户无感知,兼具业务灵活性和友好性。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种密码重置方法,其特征在于,包括以下步骤:
接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息;
根据所述用户信息确定重置密码的用户身份;
若所述用户为root用户,则在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码;
若所述用户为非root用户,则所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。
2.根据权利要求1所述的密码重置方法,其特征在于,所述数据传输通道两端分别为虚拟机内部的串行接口以及在宿主机中创建的unix socket文件;
所述通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码,包括:
所述宿主机通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的qemu-guest-agent服务,将root用户密码修改为新密码。
3.根据权利要求1所述的密码重置方法,其特征在于,所述通过所述KVM模块修改虚拟机指定用户密码,包括:
通过调用所述KVM模块,驱动CPU进入VMX non-root模式,将虚拟机用户密码修改为新密码。
4.根据权利要求1所述的密码重置方法,其特征在于,所述接收云管理平台发送的用户的重置密码请求之后,所述方法还包括:
根据所述重置密码请求的参数,获取虚拟机的通用唯一识别码;
获取虚拟机状态,并更新所述虚拟机状态为密码更新状态。
5.根据权利要求4所述的密码重置方法,其特征在于,所述接收云管理平台发送的用户的重置密码请求之后,所述方法还包括:
通过api接口发送密码设置请求至虚拟机管理配置服务;
获取所述虚拟机管理配置服务发送的新密码。
6.根据权利要求5所述的密码重置方法,其特征在于,所述获取所述虚拟机管理配置服务发送的新密码之前,所述方法还包括:
通过所述虚拟机管理配置服务发送密码设置请求给用户;
所述虚拟机管理配置服务确定用户是否输入新密码;
若用户未输入新密码,则所述虚拟机管理配置服务随机生成一串密码作为所述新密码;
若用户输入新密码,则所述虚拟机管理配置服务获取所述新密码。
7.根据权利要求5所述的密码重置方法,其特征在于,所述根据所述用户信息确定重置密码的用户身份之前,所述方法还包括:
所述虚拟机管理配置服务发送重置密码请求至KVM模块;
所述KVM模块通过Libvirt检测所述虚拟机是否开启qemu-guest-agent服务;
若所述虚拟机开启qemu-guest-agent服务,则确认所述虚拟机支持密码修改。
8.一种密码重置装置,其特征在于,所述装置包括:
获取模块,用于接收云管理平台发送的用户的重置密码请求,并将所述重置密码请求发送至宿主机;所述重置密码请求包括用户信息;
判断模块,用于根据所述用户信息确定重置密码的用户身份;
密码重置模块,用于在所述用户为root用户时,在所述虚拟机与所述宿主机之间创建数据传输通道;通过所述数据传输通道获取所述虚拟机的内部进程,并通过Socket通信调用所述虚拟机内部的服务修改root用户密码;
所述密码重置模块,还用于在所述用户为非root用户时,所述宿主机通过KVM模块与所述虚拟机建立通信,通过所述KVM模块修改虚拟机指定用户密码。
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7任一项所述的一种密码重置方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7任一项所述的一种密码重置方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111146140.6A CN115879095A (zh) | 2021-09-28 | 2021-09-28 | 密码重置方法、装置、计算设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111146140.6A CN115879095A (zh) | 2021-09-28 | 2021-09-28 | 密码重置方法、装置、计算设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115879095A true CN115879095A (zh) | 2023-03-31 |
Family
ID=85763741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111146140.6A Pending CN115879095A (zh) | 2021-09-28 | 2021-09-28 | 密码重置方法、装置、计算设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115879095A (zh) |
-
2021
- 2021-09-28 CN CN202111146140.6A patent/CN115879095A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109154849B (zh) | 包括核心层、用户接口和配备有基于容器的用户空间的服务层的超融合系统 | |
US10095496B2 (en) | Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud infrastructure | |
US9710259B2 (en) | System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure | |
US9081601B2 (en) | Virtual mobile infrastructure and its base platform | |
CN107534571B (zh) | 用于管理虚拟网络功能的方法、系统和计算机可读介质 | |
CN102193824B (zh) | 虚拟机均质化以实现跨异构型计算机的迁移 | |
US10379891B2 (en) | Apparatus and method for in-memory-based virtual desktop service | |
US20220261302A1 (en) | Systems and methods to facilitate infrastructure installation checks and corrections in a distributed environment | |
US20130232498A1 (en) | System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint | |
US20120054742A1 (en) | State Separation Of User Data From Operating System In A Pooled VM Environment | |
US10402216B1 (en) | Live support integration in a virtual machine based development environment | |
US20140331090A1 (en) | Enabling remote debugging of virtual machines running in a cloud environment | |
US20190028331A1 (en) | Systems and methods for update propagation between nodes in a distributed system | |
US20100262962A1 (en) | Method To Enable Application Sharing On Embedded Hypervisors By Installing Only Application Context | |
US20190349428A1 (en) | Systems and methods for update propagation between nodes in a distributed system | |
US11875174B2 (en) | Method and apparatus for virtual machine emulator upgrading virtualization emulator | |
CN110908753A (zh) | 一种智能融合的云桌面服务器、客户端及系统 | |
TW202101207A (zh) | 使用初始程式載入機制啟動安全客體 | |
US10509688B1 (en) | System and method for migrating virtual machines between servers | |
US11838296B1 (en) | Providing secure software project development environments | |
US11658868B2 (en) | Mixed mode management | |
US20200249975A1 (en) | Virtual machine management | |
CN112286633A (zh) | 基于CloudStack平台的虚拟机创建方法、装置、设备及存储介质 | |
US11263053B2 (en) | Tag assisted cloud resource identification for onboarding and application blueprint construction | |
US20220308907A1 (en) | Injection and execution of workloads into virtual machines |
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 |