[發(fā)明專利]一種密碼重置方法有效
| 申請(qǐng)?zhí)枺?/td> | 202110677782.2 | 申請(qǐng)日: | 2021-06-18 |
| 公開(kāi)(公告)號(hào): | CN113312149B | 公開(kāi)(公告)日: | 2023-03-31 |
| 發(fā)明(設(shè)計(jì))人: | 張金生;肖雪;高傳集;蔣方文;王新雨;王銘銳;丁瑞 | 申請(qǐng)(專利權(quán))人: | 浪潮云信息技術(shù)股份公司 |
| 主分類號(hào): | G06F9/455 | 分類號(hào): | G06F9/455;G06F21/46 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司 37100 | 代理人: | 姜鵬 |
| 地址: | 250100 山東省濟(jì)南市高*** | 國(guó)省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 密碼 重置 方法 | ||
1.一種密碼重置方法,其特征在于,為創(chuàng)建好的虛機(jī)添加唯一標(biāo)識(shí)和加密的密碼元數(shù)據(jù)信息,虛機(jī)內(nèi)在虛機(jī)初始化程序中添加密碼重置管理模塊和啟用密碼重置管理模塊的配置,在每次虛機(jī)啟動(dòng)時(shí)進(jìn)行Openstack元數(shù)據(jù)的獲取,將元數(shù)據(jù)中的唯一標(biāo)識(shí)與本地存儲(chǔ)的唯一標(biāo)識(shí)比較,決定是否進(jìn)行密碼重置任務(wù),實(shí)現(xiàn)Openstack云平臺(tái)對(duì)虛擬機(jī)的用戶密碼重置的支持;
具有以下步驟:
S1、修改Cloud-init、Cloudbase-init源碼,開(kāi)放獲取Openstack的元數(shù)據(jù)內(nèi)容,允許模塊獲得數(shù)據(jù)源中提供的虛機(jī)元數(shù)據(jù);
S2、在開(kāi)源Cloud-init、Cloudbase-init軟件基礎(chǔ)上編寫重置密碼的模塊;
S3、在虛機(jī)鏡像制作時(shí),修改Cloud-init、Cloudbase-init軟件的啟動(dòng)配置文件,并將重置密碼模塊配置為每次啟動(dòng)均執(zhí)行;
對(duì)于Cloud-init來(lái)說(shuō),具體步驟為:
(1)、開(kāi)放openstack數(shù)據(jù)源虛機(jī)元數(shù)據(jù);
cloudinit.sources.DataSourceOpenStack.DataSourceOpenStack類,增加調(diào)用_get_data的get_data方法,使獲取到Openstack數(shù)據(jù)源的模塊能獲取到需要的虛機(jī)元數(shù)據(jù);
(2)、編寫重置密碼的模塊;
進(jìn)一步包括:
(201)、在模塊內(nèi)部調(diào)用查找指定數(shù)據(jù)源的方式,強(qiáng)制獲取Openstack數(shù)據(jù)源;
(202)、在獲取到Openstack數(shù)據(jù)源后,調(diào)用get_data方法獲取虛機(jī)元數(shù)據(jù),根據(jù)元數(shù)據(jù)的key解析出元數(shù)據(jù)中的task_id和task_password對(duì)應(yīng)的鍵值;
(203)、Cloud-init需要在其執(zhí)行記錄目錄存取模塊執(zhí)行記錄,從本地的指定文件獲取已執(zhí)行的記錄的local_task_id,然后,進(jìn)行task_id和local_task_id的比較,如果不同或者本地的唯一標(biāo)識(shí)不存在,則表示此次任務(wù)為新下發(fā)的數(shù)據(jù),因此需要執(zhí)行用戶密碼變更流程;
如果兩個(gè)id相同,則表示用戶沒(méi)有進(jìn)行task_id更新,無(wú)需進(jìn)行密碼重置;
(204)、密碼變更時(shí),根據(jù)用戶信息和從Openstack數(shù)據(jù)源獲取的task_password,將其解碼為原始密碼,使用Cloud-init提供的工具類,調(diào)用虛機(jī)本地的密碼重置方法,將虛機(jī)密碼更新;
(205)、定義local_task_id的存儲(chǔ)位置,定義模塊執(zhí)行頻率frequency=PER_ALWAYS,使該模塊在虛機(jī)每次啟動(dòng)時(shí)都能夠執(zhí)行;
(3)、Cloud-init配置變更;
在cloud-init的啟動(dòng)配置中加入本模塊的模塊名,加入到cloud_final_modules配置集中,即可以在虛機(jī)啟動(dòng)并配置模塊的最后階段進(jìn)行密碼重置;
對(duì)于Cloudbase-init來(lái)說(shuō),修改
cloudbaseinit.metadata.services.baseopenstackservice.BaseOpenStackService類,增加調(diào)用_get_meta_data的get_meta_data方法,使獲取到Openstack數(shù)據(jù)源的模塊能獲取到需要的虛機(jī)元數(shù)據(jù);
在Cloudbase-init中,通過(guò)類加載器,加載Cloudbase-init下Openstack數(shù)據(jù)源加載類cloudbaseinit.metadata.services.httpservice.HttpService,獲取到openstack元數(shù)據(jù)服務(wù)提供類;
在獲取到Openstack元數(shù)據(jù)服務(wù)后,調(diào)用get_meta_data方法獲取虛機(jī)元數(shù)據(jù),根據(jù)元數(shù)據(jù)的key解析出元數(shù)據(jù)中的task_id和task_password對(duì)應(yīng)的鍵值;
Cloudbase-init中執(zhí)行記錄等數(shù)據(jù)存儲(chǔ)在windows注冊(cè)表中,調(diào)用Cloudbase-init提供的工具類,從注冊(cè)表中指定位置獲取已執(zhí)行的記錄的local_task_id;
然后進(jìn)行task_id和local_task_id的比較,如果不同或者本地的唯一標(biāo)識(shí)不存在,則表示此次任務(wù)為新下發(fā)的數(shù)據(jù),因此需要執(zhí)行用戶密碼變更流程,如果兩個(gè)id相同,則表示用戶沒(méi)有進(jìn)行task_id更新,無(wú)需進(jìn)行密碼重置;
密碼變更時(shí),根據(jù)用戶信息和從Openstack數(shù)據(jù)源獲取的task_password,將其解碼為原始密碼,使用Cloudbase-init提供的工具類,調(diào)用虛機(jī)本地的密碼重置方法,將虛機(jī)密碼更新;
Cloudbase-init的模塊執(zhí)行頻率在模塊的返回值中配置,當(dāng)模塊執(zhí)行成功時(shí)返回PLUGIN_EXECUTE_ON_NEXT_BOOT,使該模塊在虛機(jī)每次啟動(dòng)時(shí)都能夠執(zhí)行;
在Cloudbase-init的啟動(dòng)配置中加入本模塊的模塊名,cloudbase-init.conf添加配置項(xiàng)plugins=…模塊名,推薦加入到plugins末尾,即可以在虛機(jī)啟動(dòng)并配置模塊的最后階段進(jìn)行密碼重置。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮云信息技術(shù)股份公司,未經(jīng)浪潮云信息技術(shù)股份公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110677782.2/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





