一种初始化账号的密码处理方法、系统以及电子设备与流程

文档序号:18741444发布日期:2019-09-21 01:49阅读:579来源:国知局
一种初始化账号的密码处理方法、系统以及电子设备与流程

本说明书实施例涉及数据库领域,尤其涉及一种初始化账号的密码处理方法、系统以及电子设备。



背景技术:

随着科学技术的发展,计算机在我们的日常工作中的使用早已成为常态。例如在公司或者企业中,每个部门甚至每个员工都有一台计算机。由于计算机或者用户数量比较多,要实现高效管理,就需要使用域。目前大多数的企业或者公司所使用计算机都存在这样一个问题:企业或公司员工使用的域内计算机在装机完成后都保存有至少一个初始化账号。由于有时候需要用到这些初始化账号解决一些特殊运维场景的问题等,所以在大多数情况下这些初始化账号并没有被注销。

普通员工正常使用的是域账号登录计算机,并不是使用初始化账号登录计算机,所以这些初始化账号只有在少数时间能够用到,进而会导致这些初始化账号长期搁置,也无人管理。大多数情况下,这些初始化账号使用的都是同一套初始密码,一旦密码管理不当,也会存在密码泄露等安全风险。所以需要一种更加安全的方法来管理这些初始化账号的密码。



技术实现要素:

为了解决以上技术问题,本说明书实施例的主要目的在于提供一种初始化账号的密码处理方法、系统以及电子设备,以解决现有技术中计算机的初始化账号的初始化密码相同,存在安全风险的技术问题。

本说明书的一个或多个实施例的技术方案是通过以下方式实现的:

本申请实施例提供一种初始化账号的密码处理方法,包括:

创建修改初始化账号的初始密码的任务,该任务包括:读取所述初始化账号所在设备的属性信息;根据所述设备的属性信息,通过加密函数得到所述初始化账号的随机密码;将所述随机密码替换所述初始密码,并作为所述初始化账号的新密码;

对所述修改初始化账号的初始密码的任务进行发布;

接收并执行发布的任务,修改初始化账号的初始密码,以完成对所述初始化账号的密码处理。

本申请实施例还提供一种初始化账号的密码处理方法,所述根据所述设备的属性信息,通过加密函数得到所述初始化账号的随机密码,具体包括:

将所述设备的属性信息作为所述加密函数的参数;

所述加密函数采用安全散列算法和加盐值对所述设备的属性信息进行加密,生成安全密钥;

根据所述安全密钥得到初始化账号的随机密码。

本申请实施例还提供一种初始化账号的密码处理方法,所述根据所述安全密钥得到初始化账号的随机密码,具体包括:

将所述安全密钥的前8位作为初始化账号的随机密码。

本申请实施例还提供一种初始化账号的密码处理方法,所述获取初始化账号所在设备的属性信息包括:获取初始化账号所在设备的名称和设备的MAC地址;

所述加密函数为Windows Crypto API提供的加密函数;所述安全散列算法为SHA-512算法。

本申请实施例还提供一种初始化账号的密码处理方法,修改初始化账号的初始密码的任务,还包括:

判断当前登录账号是否为初始化账号,其设置在将所述随机密码替换所述初始密码,并作为所述初始化账号的新密码之前;

若当前登录账户为初始化账号,则不再执行所述修改初始化账号的初始密码的任务;

否则,继续执行所述修改初始化账号的初始密码的任务。

本申请实施例还提供一种初始化账号的密码处理方法,在对创建的所述修改初始化账号的初始密码的任务进行发布之前,还包括:

对所述修改初始化账号的初始密码的任务对应的脚本进行代码混淆;

将代码混淆的脚本打包成可执行文件,以便对所述可执行文件进行发布。

本申请实施例还提供一种初始化账号的密码处理方法,所述修改初始化账号的初始密码的任务,还包括:

删除所述可执行文件,其设置在将所述随机密码替换所述初始密码,并作为所述初始化账号的新密码之后,具体包括:

在执行所述修改初始化账号的初始密码的任务时,获取所述可执行文件对应进程的路径;

根据所述路径设置所述进程的退出标志;

根据所述退出标志删除所述可执行文件。

本申请实施例还提供一种初始化账号的密码处理方法,所述删除所述可执行文件的步骤,还包括:

隐藏所述进程。

本申请实施例还提供一种初始化账号的密码处理方法,所述对创建的所述修改初始化账号的初始密码的任务进行发布,具体包括:

配置活动目录域控制器的域控策略;

根据所述域控策略,将所述可执行文件进行发布。

本申请实施例还提供一种初始化账号的密码处理方法,所述配置所述活动目录域控制器的域控策略的步骤,具体包括:

将所述可执行文件上传到所述活动目录域的共享服务器中;

创建组策略对象;

第一次编辑所述组策略对象,得到与所述可执行文件对应的类型,并产生源文件;

将所述可执行文件在所述共享服务器的路径指向所述源文件;

在所述设备中设置存储位置,所述存储位置存储包含所述可执行文件在所述共享服务器的路径的源文件;

将所述域控策略与所述设备所在的组织单元连接,以便根据所述域控策略将所述可执行文件进行发布,使得所述组织单元中的设备接收并执行所述可执行文件。

本申请实施例还提供一种初始化账号的密码处理方法,所述执行发布的任务具体包括:

第二次编辑所述组策略对象,完成计划任务的添加;

设置所述计划任务的触发时间;

在所述触发时间执行所述计划任务,所述计划任务的执行内容为所述可执行文件。

本申请实施例还提供一种初始化账号的密码处理方法,在完成对所述初始化账号的密码处理之后,还包括查询所述初始化账号的新密码的步骤,其具体包括:

设置查询账号和查询密码,通过所述查询账号和查询密码登录查询系统;

输入所述初始化账号所在设备的属性信息;

根据所述设备的属性信息,并通过所述查询系统得到所述初始化账号的随机密码。

本申请实施例还提供一种初始化账号的密码处理系统,包括:

任务建立模块,创建修改初始化账号的初始密码的任务,所述任务建立模块包括:读取子模块,读取所述初始化账号所在设备的属性信息;随机密码生成子模块,根据所述设备的属性信息,通过加密函数得到所述初始化账号的随机密码;替换子模块,将所述随机密码替换所述初始密码,并作为所述初始化账号的新密码;

发布模块,对创建的所述修改初始化账号的初始密码的任务进行发布;

执行模块,接收并执行发布的任务,修改初始化账号的初始密码,完成对所述初始化账号的密码处理。

本申请实施例还提供一种初始化账号的密码处理系统,所述任务创建模块还包括:

删除子模块,在将所述随机密码替换所述初始密码,并作为所述初始化账号的新密码之后,删除所述修改初始化账号的初始密码的任务对应脚本被打包后的可执行文件。

本申请实施例还提供一种初始化账号的密码处理系统,所述发布模块包括:

第一配置子模块,配置活动目录域控制器的域控策略;

发布执行子模块,根据所述域控策略,将所述可执行文件进行发布。

本申请实施例还提供一种初始化账号的密码处理系统,所述第一配置子模块,配置所述活动目录域控制器的域控策略具体包括:

所述将所述可执行文件上传到所述活动目录域的共享服务器中;

创建组策略对象;

第一次编辑所述组策略对象,得到与所述可执行文件对应的类型,并产生源文件;

将所述可执行文件在所述共享服务器的路径指向所述源文件;

在所述设备中设置存储位置,所述存储位置存储包含有所述可执行文件在所述共享服务器的路径的源文件;

将所述域控策略与所述设备所在的组织单元连接,以便根据所述域控策略将所述可执行文件进行发布,使得所述组织单元中的设备接收并执行所述可执行文件。

本申请实施例还提供一种初始化账号的密码处理系统,所述发布模块还包括:

第二配置子模块,执行发布的任务,具体包括:

第二次编辑所述组策略对象,完成计划任务的添加;

设置所述计划任务的触发时间;

在所述触发时间执行所述计划任务,所述计划任务的执行内容为所述可执行文件。

本申请实施例还提供一种初始化账号的密码处理系统,还包括:

判断模块,在执行所述可执行文件之前,判断当前登录账号是否为初始化账号;

若当前登录账户为初始化账号,则不执行所述可执行文件;

否则,执行所述可执行文件。

本申请实施例还提供一种初始化账号的密码处理系统,还包括:

查询模块,查询所述初始化账号的新密码。

本申请实施例提供一种存储器,用于存储程序指令;

本申请实施例提供一种处理器,用于执行所述程序指令,以实现上述本申请实施例中所述的密码处理方法。

相比于现有技术,本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

本申请实施例的技术方案可以通过计算机初始化账号密码修改的算法,保证密码随机生成。通过域控策略配置并利用活动目录(AD)域控制器的分发功能将修改密码程序通过活动目录(AD)域控制器分发至指定域内的计算机中,确保程序可以在本地完成自动运行,修改初始化账号的初始化密码,并在运行完毕后自动删除,很好解决了域内计算机设备中初始化账号密码一致、难以管理的问题。

本申请实施例的技术方案能够帮助企业运维人员批量变更计算机的初始化账号的初始化密码,并且无需用户手动更改,有效解决了域内计算机中初始化账号的初始化密码无法批量变更,长期无法管理,存在较大安全隐患的问题。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书的一个实施例提供的一种初始化账号的密码处理方法的流程示意图;

图2为本说明书的一个实施例提供的一种修改初始化账号的初始密码的任务的具体流程图;

图3为本说明书的一个实施例提供的一种对创建的修改初始化账号的初始密码的任务进行发布的流程示意图;

图4为本说明书的一个实施例提供的一种配置活动目录域控制器的域控策略的流程示意图;

图5为本说明书的一个实施例提供的一种进一步配置活动目录域控制器的域控策略流程示意图;

图6为本说明书的一个实施例提供的一种实现可执行文件自删除功能的流程示意图;

图7为本说明书的一个实施例提供的一种初始化账号的密码处理系统的结构示意图;

图8为本说明书的一个实施例提供的一种任务创建模块的结构示意图;

图9为本说明书的一个实施例提供的一种发布模块的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

为了解决现有技术中存在的计算机中初始化账号的初始化密码相同,不方便管理的技术问题,微软发布了一套本地管理员密码解决方案Local Admin Password Solution(LAPS),这是一款用来在轻量目录访问协议(LDAP)上存储账号密码的工具。该解决方案的实现方法简单,但是存在一定的问题,首先在域内机器(被管理端)和域控服务器(管理端)上都需要安装相关文件。其次活动目录架构需要重新调整,新增可以查询并有修改账号密码策略的账号属性,配置过程复杂。如果配置不当,将出现域内的某一普通用户能够读取到域内所有机器的账号凭证信息的情况,这种方法给日后的域控运维带来了很多不便。最后,机器的账号凭证均以明文形式存储在LDAP中,这样很容易被攻击获取。所以LAPS方案看似简单,但后期使用和维护成本较高,对于大型企业用户,尤其是桌面运维人员变动较大的企业在使用时会存在很大的不便。

以下结合附图,详细说明本说明书的一个或多个实施例提供的技术方案。

如图1所示为本申请实施例提供的一种初始化账号的密码处理方法,该方法主要包括以下步骤:

步骤S100,创建修改初始化账号的初始密码的任务,该任务用于修改初始化账号的初始密码,创建的任务只要能够修改初始化账号的初始密码就可以,本实施例在这里不做限定。例如,可以是编辑一个脚本,该脚本中包括可以实现修改初始化账号的初始密码的任务的代码,然后再执行这个脚本。在执行该脚本的过程中,通过加密算法生成新密码,然后根据新密码修改初始化账号的初始密码,也就是将初始密码更换为新密码。

步骤S200,对所述修改初始化账号的初始密码的任务进行发布。本实施例中是利用活动目录域控制器(简称AD域控)对所述修改初始化账号的初始密码的任务进行发布的。AD域控本身自带一种软件分发的功能,这种功能可以将目标分发到指定的计算机或者用户,进而实现对计算机或者用户所对应的初始化账号的管理。本实施例中,通过AD域控将修改初始化账号的初始密码的任务所发布到要修改初始化账号的初始密码的计算机中,以便计算机执行该脚本。当然还可以是利用其他可以实现分发功能的软件对修改初始化账号的初始密码的任务进行发布,这里不对此进行限定,其他方法同样属于本实施例的保护范围。在实际应用中可以是对创建的所述修改初始化账号的初始密码的任务对应的脚本进行发布等。

步骤S300,接收并执行发布后的修改初始化账号的初始密码的任务,该任务为创建的修改初始化账号的初始密码的任务,然后修改初始化账号的初始密码,完成对所述初始化账号的密码处理。当计算机或者用户接受到AD域控发布的脚本,执行接受到的脚本即执行修改初始化账号的初始密码的任务,从而完成对初始化账号的密码的修改。

值得说明的是,本实施例提供的初始化账号的密码处理方法适用于受域控管理的所有机器/设备,例如计算机、手机、平板电脑等,可以是应用的Windows操作系统、macos、ios、Android等,均在本实施例的保护范围之内。

本申请实施例的技术方案可以通过计算机初始化账号密码修改的算法,保证密码随机生成。通过域控策略配置并利用活动目录(AD)域控制器的分发功能将修改密码程序通过活动目录(AD)域控制器分发至指定域内的计算机中,确保程序可以在本地完成自动运行,修改初始化账号的初始化密码,很好解决了域内计算机设备中初始化账号密码一致、难以管理的问题。

本申请实施例的技术方案能够帮助企业运维人员批量变更计算机的初始化账号的初始化密码,并且无需用户手动更改,有效解决了域内计算机中初始化账号的初始化密码无法批量变更,长期无法管理,存在较大安全隐患的问题。

上述实施例实现了对指定域中计算机中初始化账号的初始密码的修改,解决了初始化账号的初始密码一致的问题。为了对上述实施例进行进一步优化,本说明书还提供了其他实施例对上述实施例进行补充和优化。

如图2所示,步骤S100中创建的修改初始化账号的初始密码的任务,该任务具体包括:

步骤S101,读取所述初始化账号所在设备的属性信息。在该步骤中,可以是通过调用函数读取初始化账号所在设备的属性信息,当然也可以通过其他可以读取初始化账号所在设备的属性的方式进行读取。其中,初始化账号所在设备的属性信息包括初始化账号所在设备的名称、设备的MAC地址等。当设备中只有一个初始化账号时,由于设备名称在初始化状态时固定,设备的MAC地址由设备的无线网卡决定,设备中的无线网卡是固定的,所以设备的MAC地址也是固定的,而且每个设备的MAC地址不可能是一样的。所以只需读取初始化账号所在设备的名称以及设置的MAC地址即可,就可以保证属性信息的唯一性。在一般情况下,设备的初始化账号只有一个,当然也不排除有多个的可能。当设备中有多个初始化账号时,读取设备的名称、设备的MAC地址和账号名即可,三者即可保证设备的属性信息的唯一性。该实施例中的设备可以为计算机,属性信息还可以包括用户信息、初始化账号的生成(修改)时间等,本实施例在这里不做限制。

步骤S102,根据读取的所述设备的名称、MAC地址等属性信息,得到初始化账号的随机密码。具体可以是通过加密函数得到所述初始化账号的随机密码。加密函数可以根据读取的设备的名称、MAC地址等属性信息生成一种密码,即将读取的设备的名称、MAC地址等属性信息作为加密函数的输入,输出的就是经过加密函数加密的密码。将通过加密函数得到的密码作为初始化账号的区别于初始密码的密码,该密码也可称为随机密码。

进一步地,为了使修改后初始化账号的新密码的安全系数更高,在本实施例中所用的加密函数具体为Windows Crypto API提供的加密函数。该函数可以方便地在应用程序中加入强大的加密功能,而不必考虑基本的算法。将读取的设备的名称、MAC地址等属性信息作为Windows Crypto API提供的加密函数的参数。

由于只使用Windows Crypto API提供的加密函数对属性信息进行加密还不能使得加密后的加密密码足够安全。在使用该加密函数进行加密得到加密密码的过程中,还加入了加盐值,Windows Crypto API提供的加密函数采用安全散列算法和加盐值对所述设备的属性信息进行加密,生成安全密钥。根据安全密钥得到初始化账号的新的密码。采用加盐值是为了增加随机性和不可逆性,同时增加了生成的加密密码的破译难度。所述安全散列算法可以是SHA-512算法。

为了进一步增加安全系数,本实施例将得到的安全密钥的前8位字符作为要修改的初始化账号的随机密码。由于安全密钥的位数较多,当然还可以取安全密钥中的其他位数对应的字符作为要修改的初始化账号的随机密码。

步骤S103,将所述随机密码替换所述初始密码,并作为所述初始化账号的新密码。将经过加密函数加密后得到的随机密码的前8为字符替换掉初始化账号的初始密码,作为初始化账号的新密码。该新密码相较于初始密码,其安全系数要远远高于初始密码的安全系数,新密码在他人无法得知加密函数、加密函数的参数、加密函数所用的加密算法、加盐值以及选取的安全密钥的字符等信息的情况下很难破解。只有在经过本说明书实施例中修改初始化账号的初始密码的任务才能得到初始化账号修改后的新密码。

在另一实施例中,修改初始化账号的初始密码的任务还包括:判断当前登录账号是不是初始化账号的步骤,该步骤用于判断当前登录的账号是否是要修改初始密码的初始化账号。例如公司的某些计算机,由于公司的IT人员需要对计算机进行装机操作(例如安装软件等),在这种情况下,需要在将计算机加入公司的指定域之前使用初始化账号登录计算机。因此,如果直接通过AD域控的软件分发功能发布修改初始化账号的初始密码的任务,在计算机接收并执行该任务后,IT人员在通过初始化账号进行某些操作时会出现问题。

在本实施例中,修改初始化账号的初始密码的任务包括判断当前登录账号是否为初始化账号的步骤、读取初始化账号所在设备的属性信息、根据设备的属性信息生成初始化账号的随机密码、将随机密码替换初始密码并作为初始化账号的新密码、以及删除修改初始化账号的初始密码的任务五个步骤。执行该实施例中的修改初始化账号的初始密码的任务时,依次执行上述五个步骤,也就是首先执行判断当前登录账号是否为初始化账号的步骤。判断当前登录账号是否为初始化账号也可以是在将所述随机密码替换所述初始密码,并作为所述初始化账号的新密码之前进行,只要没有将初始密码修改即可。

例如,公司IT人员在将计算机加完域后安装软件过程中,计算机会执行修改初始化账号的初始密码的任务,然后会修改初始化账号的初始密码。在这种情况下,由于某些软件的安装需要初始化账号的初始密码,所以在将初始化账号的初始密码修改之后,公司IT人员将无法完成某些软件的安装。所以,为了解决这个问题,本实施例对修改初始化账号的初始密码任务的执行添加限定条件,该限定条件包括:

判断当前登录账号是否为初始化账号。

若当前登录账户为初始化账号,则不执行修改初始化账号的初始密码任务中的其他步骤,例如读取初始化账号所在设备的属性信息、根据设备的属性信息生成初始化账号的随机密码、将随机密码替换初始密码并作为初始化账号的新密码、以及删除修改初始化账号的初始密码的任务。

否则,执行修改初始化账号的初始密码任务中的其他步骤。

通过对当前登录账号的判断是否为初始化账号,决定是否执行修改初始化账号的初始密码任务。只有在当前登录的账号不是初始化账号时,才会执行修改初始化账号的初始密码任务中的其他步骤,例如读取初始化账号所在设备的属性信息等,从而对初始化账号的初始密码进行修改。

一般情况下,计算机的初始化账号只有一个并且不同计算机的初始化账号都相同,可以是在出厂时设置的。初始化账号的初始密码均为初始化密码,不同计算机的初始化密码也一致,初始化账号和初始密码是没有经过改变过的。如果还有多个其他非初始化账号,如果当前登录的是非初始化账号中的一个账号,在执行修改初始化账号的初始密码的任务时还需要判断修改的是否是初始化账号,修改初始化账号的初始密码的任务中设置有该判断条件,规定修改的只是初始化账号的初始密码。例如,一台计算机中有三个账号,一个是初始化账号administrator,另外两个为非初始化账号。假如当前登录的是两个非初始化账号中的其中一个,在这里并不是直接执行脚本的操作。因为我们需要修改的是初始化账号administrator的初始密码,所以还要判断其他账号中哪个是初始化账号administrator,然后脚本中直接写明修改的账号为administrator,我们修改的是这个账号的密码,其他的密码都不变。

通过执行该判断步骤可以避免使用初始化账号登录后,在进行装机过程中出现登录的初始化账号的初始密码被修改,然后公司IT人员不能继续进行装机的问题。又可以在当前登录的账号不是初始化账号时,对计算机中的初始化账号进行初始化密码的修改。

上述各个实施例为创建的修改初始化账号的初始密码的任务,该任务可以是通过代码实现的,当然也对应有相应的脚本,在这里将该任务对应的脚本进行代码混淆,代码混淆的步骤在对创建的所述修改初始化账号的初始密码的任务进行发布之前进行。具体可以是将整个修改初始化账号的初始密码任务对应的脚本内容进行代码混淆,该代码混淆可以是随机代码混淆。通过代码混淆同样可以提高脚本的安全性。然后借助打包工具将代码混淆后的脚本进行打包成可执行文件,该可执行文件可以是标准的MSI格式的文件,以便所述活动目录域控制器进行识别,进而对可执行文件进行发布。

上述实施例中所述的脚本以及相关代码是使用C++编程语言进行编辑的,使用C++语言编辑上述脚本具有以下优点:

1)体积较小,运行速度相对于Python等其他编程语言会更快。

2)可以直接调用系统的Windows API,不用依赖其他文件。

3)C++的反编译的难度更大,更不容易被破解。

当然这里不限制使用哪种编程语言对脚本进行编辑,能够实现对上述脚本进行编辑的编程语言均在本实施例的保护范围之内。

以上内容完成了对修改初始化账号的初始密码的任务的创建,在完成创建修改初始化账号的初始密码的任务之后,还包括:

步骤S200,所述对创建的所述修改初始化账号的初始密码的任务进行发布,如图3所示,具体包括:

步骤S201,配置活动目录域控制器的域控策略。通过域控策略可以使指定域中的计算机得到上传至共享服务器(该共享服务器包括共享文件等,作为共享存储方的统称)中的修改初始化账号的初始密码任务对应的文件(该文件为打包成得到的可执行文件)。然后在计算机中执行该文件进行初始化账号的初始密码的修改。

其中,如图4所示,该步骤具体包括:

步骤S2011,修改初始化账号的初始密码任务对应的脚本打包后得到的可执行文件,将该可执行文件上传至活动目录域控制器(AD域控)中的共享服务器中。为了保证上传到共享服务器可执行文件的安全性,该共享服务器设置有访问权限,只有具有访问权限的账号或者客户端等才能够访问该共享服务器。也可以是设置上传可执行文件的访问权限,在没有上传的可执行文件的访问权限时,可以访问共享服务器中的其他文件。

步骤S2012,创建组策略对象。通过域控管理控制台进行创建组策略对象的操作,域控管理控制台有相应的菜单按钮,可以直接进行操作。

步骤S2013,第一次编辑所述组策略对象,得到与可执行文件对应的类型,并产生源文件。创建组策略对象之后,对创建的组策略对象进行第一次编辑,对创建的组策略对象进行编辑也是通过域控管理控制台进行的,直接在域控管理控制台上进行操作。在本实施例中,可以是通过域控管理控制台依次找到并点击计算机配置、首选项、Windows设置、文件,完成对组策略对象的编辑。由于可执行文件是一个具体文件,所以编辑组策略对象也要是文件类型的。最终编辑的组策略对应为一个类型为文件类型的组策略对象,这里的文件只是类型,并不代表具体某个文件,该文件中可以进行具体文件的存放。当然这里与文件并列的类型还有服务、命令等,在本实施例中并没有使用。在编辑组策略对象后得到一个源文件,该源文件在类型为文件的文件中。该步骤中的源文件可以理解为一个空的文件,并不是指代码意义中的源文件。

步骤S2014,将可执行文件在所述共享服务器的路径指向所述源文件。可执行文件上传至共享服务器中均有相应的存储路径,将可执行文件在共享服务器中的路径指向步骤S2013得到的源文件中。源文件通过可执行文件的路径可以从共享服务器中得到可执行文件。

步骤S2015,在所述设备中设置存储位置,所述存储位置用来存储包含可执行文件在共享服务器的路径的源文件。也就是在计算机中指定一个存储位置,将源文件中通过可执行文件的路径得到的可执行文件存在计算机指定的这个存储位置中,例如,可以是计算机D盘中的某个文件夹中。计算机在执行可执行文件时直接从计算机的D盘中找到这个可执行文件,然后执行。

步骤S2016,将所述域控策略与所述设备所在的组织单元连接,以便根据所述域控策略将可执行文件进行发布,使得组织单元中的设备接收并执行存储位置中的可执行文件。

步骤S202,根据域控策略完成对可执行文件的发布,执行上述域控策略完成对可执行文件的发布,将可执行文件发布以后,指定组织单元中的计算机或者用户就可以接收改可执行文件,进一步执行可执行文件。

通过活动目录域控制器对可执行文件进行发布的步骤可以使得指定组织单元中的计算机可以接收到可执行文件,并将可执行文件存在指定磁盘文件目录下。为了让可执行文件自动执行,还需要对组策略对象进行再次配置。

步骤S300中,执行发布后的任务的步骤包括:进一步配置所述活动目录域控制器的域控策略,如图5所示,其具体包括:

步骤S301,第二次编辑步骤S2012创建的组策略对象,完成计划任务的添加。该步骤是在步骤S2013的第一次编辑组策略对象的基础上进行再次编辑的。这次编辑同样是通过域控管理控制台进行编辑的,通过域控管理控制台依次找到并点击计算机配置、首选项、控制面板设置、计划任务,添加一个计划任务。

步骤S302,设置所述计划任务的触发时间,该触发时间在本实施例中设置为用户登录计算机时,也就是计算机开机时进行触发计划任务。

步骤S303,在所述触发时间执行所述计划任务,所述计划任务的执行内容为可执行文件,也就是执行修改初始化账号的初始密码任务对应的脚本被打包后的可执行文件,实现对初始化账号的初始密码的修改。

此次对组策略对象进行再次配置可以使可执行文件在用户不知道的情况下自动进行并完成初始化账号的初始密码的修改。这样既避免了用户的参与,又提高了防止修改初始化账号的初始密码的任务对应的可执行文件被破解的安全系数。

值得说明的是,组织单元中可以包括计算机,还可以包括用户,当分配到用户时,如果将程序分配给一个用户(域账号),在该用户登录到计算机时在使用的计算机中就会安装此应用程序,在该用户第一次运行该程序时,安装过程最终完成。如果将程序分配给一台计算机,在计算机启动时就会安装此程序,所有登录到该计算机上的用户都可以使用它,在某一用户第一次运行它时,安装过程最终完成。

在另一实施例中,所述修改初始化账号的初始密码的任务,还包括:

删除可执行文件这一步骤,该步骤也为修改初始化账号的初始密码的任务对应脚本被打包之后的可执行文件的自删除步骤。删除可执行文件的步骤设置在随机密码替换初始密码,并作为初始化账号的新密码之后,也就是在生成初始化账号的随机密码并将随机密码作为新密码之后,执行可执行文件自删除的步骤。可以理解为,修改初始化账号的初始密码的任务包括读取初始化账号所在设备的属性信息、根据设备的属性信息生成初始化账号的随机密码、将随机密码替换初始密码并作为初始化账号的新密码、以及删除修改初始化账号的初始密码的任务对应的脚本被打包之后的可执行文件四部分。删除修改初始化账号的初始密码的任务对应的脚本被打包之后的可执行文件这一部分,是将包括上述四部分的整个修改初始化账号的初始密码的任务的所有信息进行删除。

由于在通过AD域控将修改初始化账号的初始密码的任务对应的文件(可以是打包后的可执行文件)发布到指定域内的计算机中,然后该文件会存储在计算机中进行本地存储。存储在计算机的本地文件并不一定是安全的,如果存储不当,会存在被破解等安全风险。考虑到账号的安全问题,为了保证账号更加安全,所以在执行完修改初始化账号的初始密码的任务后,本实施例中增加了删除修改初始化账号的初始密码的任务对应的文件的步骤。将修改初始化账号的初始密码的任务对应的文件删除之后,就减少了计算机的使用者(例如公司员工等)发现并破解该脚本的可能性,将该可能性降至最低,提升了脚本及账号的安全性。

其中,参考图6,删除可执行文件的步骤具体包括:

步骤S1041,在执行修改初始化账号的初始密码的任务时,获取该任务对应的脚本被打包后的可执行文件的进程路径。由于可执行文件被执行时就成为一个程序,所以该程序也就对应有相应的进程。所以步骤S1041在执行修改初始化账号的初始密码的任务时执行,可以获取可执行文件对应进程的路径。通过该路径可以找到可执行文件的进程。

步骤S1042,根据路径设置进程的退出标志。在得到可执行文件对应进程的路径之后,根据路径标志该进程的退出标志,该退出标志意味着将要删除这个进程。

步骤S1043,根据所述退出标志删除可执行文件。执行该步骤之后,即可将可执行文件删除,很大程度上降低了计算机的使用者(例如公司员工)发现并破解修改初始化账号的初始密码的任务的可能性。

在执行步骤S1042时,还可以执行步骤S1044:隐藏可执行文件对应的进程。该步骤的目的是为了不让计算机的使用者发现该进程,同样可以降低使用者发现该进程的可能性。

当计算机执行可执行文件后,完成对初始化账号的初始密码的修改,并且将可执行文件自身删除,可执行文件自身的删除将存储在计算机本地的修改初始化账号的初始密码的所有信息删除。删除修改初始化账号的初始密码的任务这一步骤执行之后,将修改初始化账号的初始密码的任务删除,也就删除了可执行文件。

以上步骤完成了对初始化账号的密码的处理,在完成对所述初始化账号的密码处理之后,还包括查询所述初始化账号的新密码的步骤,其具体包括:

设置查询账号和查询密码,通过所述查询账号和查询密码登录查询系统。为了方便运维人员偶尔查询修改的初始化账号修改后的新密码,同时要保证查看权限的最小化,桌面运维人员需要使用专门的可以查询初始化账号的新密码的系统对初始化账号的新密码进行查询。查询人员只有凭用户名和密码才能打开查询系统,该查询系统对应的查询脚本是基于修改初始化账号的初始密码任务对应的脚本的,在修改初始化账号的初始密码任务对应的脚本基础之上,添加了认证凭证的步骤,认证凭证就相当于登录查询系统的用户名和密码。

在通过用户名和密码登录查询系统之后,手动输入要查询的初始化账号所在设备的属性信息,将设备的属性信息以传参的形式输入加密函数,得到要查询的初始化账号的随机密码。查询系统用到的加密函数、加盐值等,与修改初始化账号的初始密码过程中用到的均相同。

将该查询系统存放在偶尔要查询初始化账号密码的相关人员的电脑中,只有相关人员才有权限使用并且需要使用用户名和密码才能登录。在日常工作中,如有需要查询初始化账号的新密码等情况,其他人员可以直接向这些相关人员进行申请。当然,如果日常使用初始化账号的场景较多,查询频率较高,也可以根据实际情况指定2-3名备份人员安装并使用该查询系统,这种管理模式方便日常运维,也可保证查看权限可控。

综上,本申请实施例提供的的方案,根据设备的多个属性,自定义密码生成算法,生成一套随机密码的同时,不需要存储该随机密码,并且简化了运维操作流程和步骤,结合新密码查询权限的精细化管理,从而实现降低运维成本的同时,解决计算机初始化账号密码一致的问题。

本申请提供的实施例利用AD域控软件分发功能,自定义计算机初始化账号密码修改的算法,保证密码随机生成,并将修改密码程序通过AD域控分发至指定域内计算机中。通过域控策略配置,确保程序可以在本地完成自动运行,并在运行完毕后自动删除,从而很好解决域内计算机设备初始化账号密码难以管理的问题。同时,相较于其他解决方案,本方案最大的特点是不需要将密码存储在LDAP或是其他数据库中,更无须明文存储,这样降低了密码泄露的风险,运维相对简单,不需要在AD域控新增权限查询属性,策略配置相对简单。因此,对于大型企业而言,本发明操作简单,密码程序易修改,运维成本较低,并且安全系数得到了极大的提升。

上述初始化账号的密码处理方法实现了对初始化账号的初始密码的修改,解决了初始化账号密码一致的问题,达到了相应的技术效果,本说明书实施例还提供一种实现上述方法的系统,可以通过该系统实现上述方法。该系统可以解决与上述方法同样的技术问题,可以达到与上述方法相同的技术效果,参考图7该系统包括:

任务创建模块1,创建修改初始化账号的初始密码的任务。

发布模块2,对修改初始化账号的初始密码的任务进行发布。

执行模块3,接收并执行发布后的任务,修改初始化账号的初始密码,完成对所述初始化账号的密码处理。

其中,

参考图8,所述任务创建模块1包括:

读取子模块101,读取所述初始化账号所在设备的属性信息。

随机密码生成子模块102,根据所述设备的属性信息,通过加密函数得到所述初始化账号的随机密码。

替换子模块103,将所述随机密码替换所述初始密码,并作为所述初始化账号的新密码。

所述任务创建模块还包括:

删除子模块104,在将所述随机密码替换所述初始密码,并作为所述初始化账号的新密码之后,删除所述修改初始化账号的初始密码的任务对应脚本被打包后的可执行文件。

参考图9,所述发布模块2包括:

第一配置子模块201,配置活动目录域控制器的域控策略。

发布执行子模块202,根据所述域控策略,将所述可执行文件进行发布。

第二配置子模块203,执行发布后的任务,具体包括:

第二次编辑所述组策略对象,完成计划任务的添加;

设置所述计划任务的触发时间;

在所述触发时间执行所述计划任务,所述计划任务的执行内容为可执行文件。

该系统还包括:

判断模块4,在将所述随机密码替换所述初始密码,并作为所述初始化账号的新密码之前,判断当前登录账号是否为初始化账号;

若当前登录账户为初始化账号,则不再执行所述修改初始化账号的初始密码的任务;

否则,继续执行所述修改初始化账号的初始密码的任务。

还包括:

查询模块5,查询所述初始化账号的新密码。

本说明书实施例还提供了一种电子设备,包括:一个以上存储器和一个以上处理器。其中,

存储器(图中未示出),用于存储程序指令,存储器可以是短暂存储或持久存储。

处理器(图中未示出),用于执行所述程序指令,以实现本技术方案中生成统计信息的方法。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上,仅为本发明说明书的一个或多个实施例较佳的具体实施方式,但发明说明书的一个或多个实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明说明书的一个或多个实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明说明书的一个或多个实施例的保护范围之内。因此,本发明说明书的一个或多个实施例的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1