CN111079122B - 管理员权限执行方法、装置、设备及存储介质 - Google Patents
管理员权限执行方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111079122B CN111079122B CN201911058476.XA CN201911058476A CN111079122B CN 111079122 B CN111079122 B CN 111079122B CN 201911058476 A CN201911058476 A CN 201911058476A CN 111079122 B CN111079122 B CN 111079122B
- Authority
- CN
- China
- Prior art keywords
- program
- administrator
- operating system
- system service
- authority
- 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
- 238000000034 method Methods 0.000 title claims abstract description 190
- 230000008569 process Effects 0.000 claims abstract description 150
- 239000007858 starting material Substances 0.000 claims abstract description 67
- 230000005540 biological transmission Effects 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 35
- 238000004891 communication Methods 0.000 description 8
- 239000003999 initiator Substances 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种管理员权限执行方法、装置、设备及存储介质,其包括:用户权限程序通过鉴权值及管理员权限程序的运行参数启动操作系统服务代理程序;操作系统服务代理程序确认鉴权值有效时将运行参数和管理员进程启动器名称传递至操作系统服务;操作系统服务启动管理员进程启动器,管理员进程启动器启动管理员权限程序;控制台获取管理员权限程序的运行结果,以使用户权限程序通过控制台获取运行结果。上述方法解决了现有技术中无法使用户权限程序正常调用管理员权限程序的技术问题。通过操作系统服务代理程序、操作系统服务及管理员进程启动器作为传输路径,使得用户权限程序调用管理员权限程序,且通过鉴权的方式,保证了调用安全性。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种管理员权限执行方法、装置、设备及存储介质。
背景技术
计算机的操作系统通常设置有用户权限和管理员权限。目前,对于运行在用户权限下的程序而言,其没有管理员权限。此时,如果用户权限下的程序想要调用管理员权限下的程序时,管理员权限下的程序会生成一个弹窗,并通过弹窗获取管理员账户的密码。若用户不知道管理员账户的密码,则无法运行管理员权限下的程序,这样会影响用户的使用体验,使得用户无法正常使用计算机的一些程序。
综上,如何使用户权限下的程序正常调用管理员权限下的程序,成为了亟需解决的技术问题。
发明内容
本申请提供了一种管理员权限执行方法、装置、设备及存储介质,以解决现有技术中无法使用户权限下的程序正常调用管理员权限下的程序的技术问题。
第一方面,本申请实施例提供了一种管理员权限执行方法,包括:
在需要调用管理员权限程序时,指示当前运行的用户权限程序申请鉴权值;
引导所述用户权限程序通过所述鉴权值以及所述管理员权限程序的运行参数启动操作系统服务代理程序;
所述操作系统服务代理程序确认所述鉴权值有效时,指示所述操作系统服务代理程序将所述运行参数和管理员进程启动器名称传递至操作系统服务;
控制所述操作系统服务根据所述运行参数以及所述管理员进程启动器名称启动管理员进程启动器,以使所述管理员进程启动器根据所述运行参数启动所述管理员权限程序;
指示控制台获取所述管理员权限程序的运行结果,以使所述用户权限程序通过所述控制台获取所述运行结果。
进一步的,所述指示控制台获取所述管理员权限程序的运行结果,以使所述用户权限程序通过所述控制台获取所述运行结果包括:
指示所述控制台获取所述管理员权限程序的运行结果;
控制所述管理员进程启动器将所述控制台中的所述运行结果写入设定内存;
指示所述操作系统服务代理程序通过所述设定内存获取所述运行结果,并发送至所述控制台;
控制所述用户权限程序从所述控制台中获取运行结果。
进一步的,所述控制所述管理员进程启动器将所述控制台中的所述运行结果写入设定内存包括:
控制所述管理员进程启动器从所述控制台中获取所述运行结果;
控制所述管理员进程启动器将所述运行结果写入设定内存并释放信号量;
所述指示所述操作系统服务代理程序通过所述设定内存获取所述运行结果包括:
指示所述操作系统服务代理程序根据所述信号量访问所述设定内存,以得到所述运行结果。
进一步的,所述设定内存为共享内存。
进一步的,所述指示所述操作系统服务代理程序将所述运行参数和管理员进程启动器名称传递至操作系统服务包括:
指示所述操作系统服务代理程序将所述运行参数和管理员进程启动器名称发送至命名管道,以使所述操作系统服务通过所述命名管道获取所述运行参数和所述管理员进程启动器名称。
进一步的,所述引导所述用户权限程序通过所述鉴权值以及所述管理员权限程序的运行参数启动操作系统服务代理程序包括:
引导所述用户权限程序将所述鉴权值以及所述管理员权限程序的运行参数作为操作系统服务代理程序的启动参数,并以命令行的方式启动操作系统服务代理程序。
进一步的,所述操作系统服务代理程序运行在用户权限下,所述管理员进程启动器运行在系统权限下。
第二方面,本申请实施例还提供了一种管理员权限执行装置,包括:
鉴权值申请模块,用于在需要调用管理员权限程序时,指示当前运行的用户权限程序申请鉴权值;
代理程序启动模块,用于引导所述用户权限程序通过所述鉴权值以及所述管理员权限程序的运行参数启动操作系统服务代理程序;
参数传递模块,用于所述操作系统服务代理程序确认所述鉴权值有效时,指示所述操作系统服务代理程序将所述运行参数和管理员进程启动器名称传递至操作系统服务;
程序运行模块,用于控制所述操作系统服务根据所述运行参数以及所述管理员进程启动器名称启动管理员进程启动器,以使所述管理员进程启动器根据所述运行参数启动所述管理员权限程序;
结果获取模块,用于指示控制台获取所述管理员权限程序的运行结果,以使所述用户权限程序通过所述控制台获取所述运行结果。
第三方面,本申请实施例还提供了一种管理员权限执行设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的管理员权限执行方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的管理员权限执行方法。
上述管理员权限执行方法、装置、设备及存储介质,通过当需要调用管理员权限程序时,引导用户权限程序申请鉴权值,并将鉴权值以及管理员权限程序的运行参数作为操作系统服务代理程序的启动参数,以启动操作系统服务代理程序,之后,操作系统服务代理程序确定鉴权值有效时,获取对应的管理员进程启动器的名称,之后,将名称、运行参数传递至操作系统服务,操作系统服务将名称、运行参数作为管理员进程启动器的启动参数,并启动管理员进程启动器,之后,管理员进程启动器根据运行参数启动管理员权限程序,管理员权限程序运行后将运行结果上传至控制台,以通过控制台使用户权限程序获取运行结果的技术手段,通过用户账号下的操作系统服务代理程序、系统账号下的操作系统服务以及管理员进程启动器作为传输路径,使得用户权限程序可以调用管理员权限程序,解决了无法使用户权限下的程序调用管理员权限下的程序的技术问题,且通过鉴权的方式,保证了管理员权限程序不能被滥用,保证了操作系统的安全性。同时,通过命名管道实现操作系统服务与操作系统服务代理程序通信,且可以使其他应用层的应用程序(如用户权限程序)屏蔽该通信。进一步的,通过较为常见的控制台承载运行结果,并利用共享内存,使得用户权限程序获取管理员权限程序的运行结果。
附图说明
图1为本申请实施例一提供的一种管理员权限执行方法的流程图;
图2为本申请实施例二提供的一种管理员权限执行方法的流程图;
图3为本申请实施例二提供的另一种管理员权限执行方法的流程图;
图4为本申请实施例三提供的一种管理员权限执行装置的结构示意图;
图5为本申请实施例四提供的一种管理员权限执行设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
实施例一
图1为本申请实施例一提供的一种管理员权限执行方法的流程图。实施例中提供的管理员权限执行方法可以由管理员权限执行设备执行,该管理员权限执行设备可以通过软件和/或硬件的方式实现,该管理员权限执行设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。例如,管理员权限执行设备可以是电脑、手机、平板或交互智能平板等计算机设备。
一般而言,管理员权限执行设备安装有至少一个操作系统,实施例中,以管理员权限执行设备安装的操作系统为Windows系统为例。Windows系统下管理员权限执行设备包括系统(system)权限、管理员(Administrator)权限及用户权限,其中,系统权限最高,用户权限最低。典型的,管理员权限在安全模式中使用,或者由管理员权限执行设备的用户手动输入管理员权限密码的方式启动后使用。管理员权限是操作系统里最高级的用户,在正常的登陆模式是无法看到管理员权限的。用户权限下用户可以访问而且只能访问自己被授权的资源。一般而言,Windows系统可以包含至少一个用户权限以及管理员权限,以通过用户权限和管理员权限保证操作系统安全性。
本实施例中,以管理员权限执行设备安装Windows系统为例,说明如何在用户权限下调用具有管理员权限的程序。参考图1,该管理员权限执行方法具体包括:
步骤110、在需要调用管理员权限程序时,指示当前运行的用户权限程序申请鉴权值。
典型的,用户权限程序为用户权限下的程序。管理员权限程序为管理员权限下的程序。用户权限程序无法直接调用管理员权限程序。实施例中,当用户权限程序需要调用某个管理员权限程序时,将会在鉴权库中申请一个鉴权值。其中,鉴权(authentication)是指验证用户是否拥有访问系统的权利,实施例中,通过对鉴权值验证的方式使操作系统服务代理程序确定用户权限程序是否拥有调用管理员权限程序的权利,进而保证管理员权限执行设备的安全性。可以理解,鉴权值的组成内容以及生成方式实施例不做限定,例如,鉴权值中带有时间戳,通过时间戳可以标识被信任的程序。
步骤120、引导用户权限程序通过鉴权值以及管理员权限程序的运行参数启动操作系统服务代理程序。
操作系统服务代理程序是用户权限下可以代理操作系统服务与用户权限程序进行通信的程序。实施例中,操作系统服务代理程序可以认为是代理Windows 服务的程序。Windows服务也称为Microsoft Windows服务,Windows服务是能够创建在Windows会话中可长时间运行的可执行应用程序。进一步的,Windows 服务代理程序可以与Windows服务以及用户权限程序进行通信,因此,Windows 服务代理程序作为Windows服务与用户权限程序的通信桥梁。可选的,将操作系统服务代理程序加入至环境变量。这样做的好处是,为了方便启动操作系统服务代理程序。例如,当用户在安装操作系统服务代理程序时,选择了自定义的文件夹作为安装位置,此时,其他程序不能获知自定义文件夹的位置,那么其他程序与操作系统服务代理程序通信时,会读取操作系统服务代理程序的默认安装位置,这样会因为找不到操作系统服务代理程序而使得操作系统服务代理程序不能准确启动。当将操作系统服务代理程序加入环境变量后,其他程序可以明确操作系统服务代理程序的自定义文件夹的位置,进而可以准确启动操作系统服务代理程序。
可选的,每次调用一个管理员权限程序时,对应使用一个操作系统服务代理程序。可以理解,当用户权限程序调用另一个管理员权限程序时,可以使用另一个操作系统服务代理程序,当其他用户权限程序调用同样的管理员权限程序时,可以使用不同的操作系统服务代理程序。
具体的,用户权限程序除了申请鉴权值,还需要确认待调用的管理员权限程序的运行参数。其中,运行参数是指运行管理员权限程序时需要的参数。运行参数包括管理员权限程序的进程名以及启动参数。通过进程名可以明确待调用的管理员权限程序,通过启动参数可以启动管理员权限程序。
用户权限程序获取运行参数和鉴权值后,可以将运行参数和鉴权值发送至一个操作系统服务代理程序,并将运行参数和鉴权值一并作为操作系统服务代理程序的启动参数,以启动操作系统服务代理程序。
步骤130、操作系统服务代理程序确认鉴权值有效时,指示操作系统服务代理程序将运行参数和管理员进程启动器名称传递至操作系统服务。
具体的,操作系统服务代理程序被启动后,先获取鉴权值并通过鉴权值进行鉴权。其中,鉴权方式实施例不作限定。例如,鉴权值为数字签名,此时,可以用认证授权来验证数字签名是否正确的方式进行鉴权。当鉴权值无效时,确定用户权限程序为不被信任的程序,不能调用管理员权限程序,此时,操作系统服务代理程序自动退出。
进一步的,当鉴权值有效时,确定用户权限程序为被信任的程序且可以调用管理员权限程序。此时,操作系统服务代理程序获取一个管理员进程启动器名称。其中,管理员进程启动器可以启动管理员权限下的进程,即可以启动管理员权限程序。实施例中,将管理员进程启动器运行在系统(system)账户,即管理员进程启动器为系统账户下的程序,一般而言,运行在系统账户下的程序拥有操作系统中最高权限。由于操作系统服务代理程序为用户账号下的程序,因此,无法直接与管理员进程启动器进行通信,因此,实施例中,通过Windows 服务与管理员进程启动器通信。此时,操作系统服务代理程序将管理员进程启动器名称以及管理员权限程序的运行参数传递给Windows服务。
可选的,每次调用一个管理员权限程序时,对应使用一个管理员进程启动器。可以理解,当用户权限程序调用另一个管理员权限程序时,可以使用另一个管理员进程启动器,当其他用户权限程序调用同样的管理员权限程序时,可以使用不同的管理员进程启动器。
步骤140、控制操作系统服务根据运行参数以及管理员进程启动器名称启动管理员进程启动器,以使管理员进程启动器根据运行参数启动管理员权限程序。
具体的,Windows服务接收到运行参数和管理员进程启动器名称后,通过管理员进程启动器名称确定对应的管理员进程启动器,并将运行参数作为管理员进程启动器的启动参数,以启动管理员进程启动器。此时,管理员进程启动器可以通过启动参数获取管理员权限程序的运行参数。之后,管理员进程启动器通过运行参数中进程名确定待调用的管理员权限程序,并通过管理员权限程序的启动参数启动管理员权限程序,以此实现调用管理员权限程序。此时,管理员进程启动器将管理员权限程序运行在系统账户下。
可以理解,当管理员权限程序运行结束并退出时,本次启动的操作系统服务代理程序以及管理员进程启动器也会退出。当管理员权限程序在很长的时间内一直未退出时,对应的操作系统服务代理程序和管理员进程启动器也不会退出。此时,由于每次调用一个管理员权限程序均会对应启动一个操作系统服务代理程序以及一个管理员进程启动器,因此,Windows服务不会干扰用户权限程序的执行与返回,即用户权限程序可以继续运行自身的应用程序或继续调用其他的管理员权限程序。同时,也不会影响其他用户权限程序的运行,即其他用户权限程序可以通过另一个操作系统服务代理程序以及管理员进程启动器调用当前未退户的管理员权限程序。需要说明,管理员权限程序在很长的时间内一直未退出的情况可以根据实际情况设定,例如,管理员权限程序运行需要很长时间。又如,管理员权限程序正常运行后未正常退出。再如,管理员权限程序异常运行且未退出。
步骤150、指示控制台获取管理员权限程序的运行结果,以使用户权限程序通过控制台获取运行结果。
其中,控制台是可以承载不同程序运行结果的一个平台,实施例中,管理员权限程序将运行结果上传至控制台。可以理解,由于用户权限程序与操作系统服务代理程序直接通信,所以,用户权限程序并不能直接确定管理员权限程序将运行结果上传至控制台的动作。此时,为了使用户权限程序明确运行结果,需要借助操作系统服务代理程序以及管理员进行启动器。由于管理员进程启动器与管理员权限程序直接通信,因此,其可以明确管理员权限程序将运行结果上传至控制台的动作,相应的,当管理员权限程序将运行结果上传至控制台后,管理员进程启动器可以获取控制台中的运行结果,并放至操作系统服务代理程序可以读取的设定内存中。此时,操作系统服务代理程序通过设定内存读取运行结果并再度上传至控制台。可以理解,由于用户权限程序与操作系统服务代理程序之间通信,因此,用户权限程序可以明确操作系统服务代理程序上传运行结果的动作,进而使得用户权限程序可以通过控制台获取运行结果,以实现管理员权限程序的调用。
上述,通过当需要调用管理员权限程序时,引导用户权限程序申请鉴权值,并将鉴权值以及管理员权限程序的运行参数作为操作系统服务代理程序的启动参数,以启动操作系统服务代理程序,之后,操作系统服务代理程序确定鉴权值有效时,获取对应的管理员进程启动器的名称,之后,将名称、运行参数传递至操作系统服务,操作系统服务将名称、运行参数作为管理员进程启动器的启动参数,并启动管理员进程启动器,之后,管理员进程启动器根据运行参数启动管理员权限程序,管理员权限程序运行后将运行结果上传至控制台,以通过控制台使用户权限程序获取运行结果的技术手段,通过用户账号下的操作系统服务代理程序、系统账号下的操作系统服务以及管理员进程启动器作为传输路径,使得用户权限程序可以调用管理员权限程序,解决了无法使用户权限下的程序调用管理员权限下的程序的技术问题,且通过鉴权的方式,保证了管理员权限程序不能被滥用,保证了操作系统的安全性。
实施例二
图2为本申请实施例二提供的一种管理员权限执行方法的流程图。本实施例是在上述实施例的基础上进行具体化。
具体的,本实施例中,操作系统为Windows系统。所述操作系统服务代理程序运行在用户权限下,即操作系统服务代理程序运行在用户账户下。所述管理员进程启动器运行在系统权限下,即管理员进程启动器运行在系统账户下。
参考图2,本实施例提供的管理员权限执行方法包括:
步骤201、在需要调用管理员权限程序时,指示当前运行的用户权限程序申请鉴权值。
步骤202、引导用户权限程序将鉴权值以及管理员权限程序的运行参数作为操作系统服务代理程序的启动参数,并以命令行的方式启动操作系统服务代理程序。
具体的,命令行也称为命令提示符。命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在不同的操作系统环境下,命令提示符各不相同。在Windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序, Windows系统基于Windows上的命令解释该程序。由于命令行是操作系统下的“MS-DOS方式”,且与一般Windows的各种版本都兼容,所以,用户可以在命令提示符直接输入中文调用文件。同时,命令行功能多于DOS。因此,实施例中,通过命令行的方式通知操作系统服务代理程序启动。
步骤203、操作系统服务代理程序确认鉴权值有效时,指示操作系统服务代理程序将运行参数和管理员进程启动器名称发送至命名管道,以使操作系统服务通过命名管道获取运行参数和管理员进程启动器名称。
具体的,命名管道(NamedPipe)是服务器进程和一个或多个客户进程之间通信的单向或双向管道。命名管道可以在不相关的进程之间和不同计算机之间使用,服务器建立命名管道时给它指定一个名字,任何进程都可以通过该名字打开管道的另一端,根据给定的权限和服务器进程通信。只要程序知道命名管道的名字,发送到命名管道里的信息可以被一切拥有指定授权的程序读取。实施例中,通过命名管道实现Windows服务与操作系统服务代理程序进行通信,且该通信为单向通信。即操作系统服务代理程序可以向Windows服务发送数据,而Windows服务无法向操作系统服务代理程序发送数据。
具体的,Windows服务以及操作系统服务代理程序均存有命名管道的名称。操作系统服务代理程序将运行参数以及管理员进程启动器名称一同上传至命名管道,Windows服务通过预先存有的命名管道名称访问命名管道,以读取其中的运行参数以及管理员进程启动器名称。
可以理解,由于加入了操作系统服务代理程序,也可以在Windows服务使用命名管道实现通信时,使应用层的程序(如用户权限程序)屏蔽Windows服务的通信行为,保证了准确性。此时,与Windows服务通信的操作系统服务代理程序以及管理员进程启动器也可以认为是对Windows服务的封装。即用户权限程序每调用一次管理员权限程序,便会对Windows服务进行一次封装。
步骤204、控制操作系统服务根据运行参数以及管理员进程启动器名称启动管理员进程启动器,以使管理员进程启动器根据运行参数启动管理员权限程序。
可选的,操作系统服务同样通过命令行的方式启动管理员进程启动器。管理员进程启动器同样以命令行的方式启动管理员权限程序。此时,管理员权限程序运行在系统权限下,即拥有系统中最高权限。
步骤205、指示控制台获取管理员权限程序的运行结果。
管理员权限程序运行后,将运行结果输出至控制台。其中,运行结果为一个返回值。
步骤206、控制管理员进程启动器将控制台中的运行结果写入设定内存。
由于管理员进程启动器与管理员权限程序直接通信,因此,管理员进程启动器可以确认管理员权限程序输出返回值的行为。此时,管理员进程启动器可以获取控制台中的返回值。之后,由于管理员进程启动器与操作系统服务代理程序无法直接进行通信,因此,实施例中通过设定内存的方式使管理员进程启动器向操作系统服务代理程序传递返回值。此时,管理员进程启动器为了使操作系统服务代理程序得到返回值,将返回值写入设定内存。该设定内存为操作系统服务代理程序可以读取的内存。实施例中,设定内存为共享内存。共享内存(shared memory)是指在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存。一个程序的多个进程或者多个程序均可以通过共享内存的方式来传递信息。
具体的,为了使操作系统服务代理程序可以准确得到返回值,实施例中设定该步骤具体包括步骤2061-步骤2062:
步骤2061、控制管理员进程启动器从控制台中获取运行结果。
步骤2062、控制管理员进程启动器将运行结果写入设定内存并释放信号量。
其中,信号量是在多线程环境下使用的一种设施,其可以用来保证两个或多个关键代码段不被并发调用。实施例中,管理员进程启动器在进入一个关键代码段(即在共享内存中写入运行结果)前,会获取一个信号量,当该关键代码段(即在共享内存中写入运行结果)完成后,必须释放信号量。其他程序只有在等待到管理员进程启动器释放信号量时,才可以访问共享内存。
步骤207、指示操作系统服务代理程序通过设定内存获取运行结果,并发送至控制台。
实施例中,操作系统服务代理程序获取共享内存中的返回值,并上传至控制台。其中,由于管理员进程启动器在共享内存中写入返回值后会释放信号量,因此,本步骤中,操作系统服务代理程序等待管理员进程启动器释放信号量后,确认可以访问共享内存并获取返回值。据此,设定指示所述操作系统服务代理程序通过所述设定内存获取所述运行结果具体包括:指示操作系统服务代理程序根据信号量访问设定内存,以得到运行结果。其中,操作系统服务代理程序根据信号量访问设定内存的过程可以理解为操作系统服务代理程序等待管理员进程启动器释放信号量后确认可以访问设定内存的过程。
进一步的,由于用户权限程序需要通过控制台获取结果,因此,操作系统服务代理程序将获取的返回值输出至控制台。
步骤208、控制用户权限程序从控制台中获取运行结果。
具体的,用户权限程序可以明确操作系统服务代理程序何时向控制台输出返回值。因此,当操作系统服务代理程序将获取的返回值输出至控制台后,用户权限程序便可以从控制台获取返回值,进而明确管理员权限程序的运行结果,以实现调用管理员权限程序。
上述,通过当需要调用管理员权限程序时,引导用户权限程序申请鉴权值,并将鉴权值以及管理员权限程序的运行参数作为操作系统服务代理程序的启动参数,以启动操作系统服务代理程序,之后,操作系统服务代理程序确定鉴权值有效时,获取对应的管理员进程启动器的名称,之后,将名称、运行参数通过命名管道传递至操作系统服务,操作系统服务将名称、运行参数作为管理员进程启动器的启动参数,并启动管理员进程启动器,之后,管理员进程启动器根据运行参数启动管理员权限程序,管理员权限程序运行后将运行结果上传至控制台,管理员进程启动器通过控制台获取运行结果并存储至设定内存,以使操作系统服务代理程序通过设定内存读取运行结果并上传至控制台,进而通过控制台使用户权限程序获取运行结果的技术手段。通过命名管道实现操作系统服务与操作系统服务代理程序通信,且可以使其他应用层的应用程序(如用户权限程序)屏蔽该通过。进一步的,通过较为常见的控制台承载运行结果,并利用共享内存,使得用户权限程序获取管理员权限程序的运行结果。通过用户账号下的操作系统服务代理程序、系统账号下的操作系统服务以及管理员进程启动器作为传输路径,使得用户权限程序可以调用管理员权限程序,解决了无法使用户权限下的程序调用管理员权限下的程序的技术问题,且通过鉴权的方式,保证了管理员权限程序不能被滥用,保证了操作系统的安全性。同时,每次调用一个管理员权限程序均会启动一个管理员进程启动器以及一个操作系统服务代理程序,也可以实现管理员权限程序进程的相互独立,即使一个管理员权限程序未退出,仍然可以不会影响其他用户权限程序调用该管理员权限程序,同时,也不影响用户权限程序对其他管理员权限程序的调用,提升了用户的使用体验。
下面对本实施例提供的技术方案进行示例性表述,其中,将用户权限程序记为UserProgram.exe,将管理员权限程序记为AdministratorProgram.exe。具体的,图3为本申请实施例提供二的另一种管理员权限执行方法的流程图,其为本示例中技术方案的流程图。
参考图3,UserProgram.exe将申请的鉴权值、AdministratorProgram.exe的进程名以及AdministratorProgram.exe的启动参数作为Windows服务代理程序的启动参数,并以命令行的形式启动Windows服务代理程序。之后,Windows服务代理程序获取自身启动参数中的鉴权值,并对鉴权值进行处理以确认鉴权值是否有效。若无效,则Windows服务代理程序退出。若有效,则将管理员进程启动器名称、AdministratorProgram.exe的进程名以及AdministratorProgram.exe 的启动参数通过命名管道传递给Windows服务。之后,Windows服务对命名管道中的参数进行处理,以将AdministratorProgram.exe的进程名以及AdministratorProgram.exe的启动参数作为管理员进程启动器的启动参数,并以命令行的方式启动管理员进程启动器。管理员进程启动器获取 AdministratorProgram.exe的进程名以及AdministratorProgram.exe的启动参数,并通过命令行的方式启动AdministratorProgram.exe。上述为 AdministratorProgram.exe的启动过程。
进一步的,AdministratorProgram.exe运行后,将返回值输出至控制台,管理员进程启动器从控制台获取返回值并写入共享内存。在写入完毕后,管理员进程启动器释放信号量,使得Windows服务代理程序可以从共享内存中获得返回值并输出至控制台。之后,UserProgram.exe从控制台中获取返回值。上述为 UserProgram.exe获取AdministratorProgram.exe运行结果的过程。
通过AdministratorProgram.exe的启动过程以及UserProgram.exe获取AdministratorProgram.exe运行结果的过程可以实现用户权限程序对管理员权限程序的调用。
实施例三
图4为本申请实施例三提供的一种管理员权限执行装置的结构示意图。参考图4,本实施例提供的管理员权限执行装置包括:鉴权值申请模块301、代理程序启动模块302、参数传递模块303、程序运行模块304以及结果获取模块 305。
其中,鉴权值申请模块301,用于在需要调用管理员权限程序时,指示当前运行的用户权限程序申请鉴权值;代理程序启动模块302,用于引导所述用户权限程序通过所述鉴权值以及所述管理员权限程序的运行参数启动操作系统服务代理程序;参数传递模块303,用于所述操作系统服务代理程序确认所述鉴权值有效时,指示所述操作系统服务代理程序将所述运行参数和管理员进程启动器名称传递至操作系统服务;程序运行模块304,用于控制所述操作系统服务根据所述运行参数以及所述管理员进程启动器名称启动管理员进程启动器,以使所述管理员进程启动器根据所述运行参数启动所述管理员权限程序;结果获取模块305,用于指示控制台获取所述管理员权限程序的运行结果,以使所述用户权限程序通过所述控制台获取所述运行结果。
上述,通过当需要调用管理员权限程序时,引导用户权限程序申请鉴权值,并将鉴权值以及管理员权限程序的运行参数作为操作系统服务代理程序的启动参数,以启动操作系统服务代理程序,之后,操作系统服务代理程序确定鉴权值有效时,获取对应的管理员进程启动器的名称,之后,将名称、运行参数传递至操作系统服务,操作系统服务将名称、运行参数作为管理员进程启动器的启动参数,并启动管理员进程启动器,之后,管理员进程启动器根据运行参数启动管理员权限程序,管理员权限程序运行后将运行结果上传至控制台,以通过控制台使用户权限程序获取运行结果的技术手段,通过用户账号下的操作系统服务代理程序、系统账号下的操作系统服务以及管理员进程启动器作为传输路径,使得用户权限程序可以调用管理员权限程序,解决了无法使用户权限下的程序调用管理员权限下的程序的技术问题,且通过鉴权的方式,保证了管理员权限程序不能被滥用,保证了操作系统的安全性。
在上述实施例的基础上,结果获取模块305包括:第一结果获取单元,用于指示所述控制台获取所述管理员权限程序的运行结果;结果写入单元,用于控制所述管理员进程启动器将所述控制台中的所述运行结果写入设定内存;第二结果获取单元,用于指示所述操作系统服务代理程序通过所述设定内存获取所述运行结果,并发送至所述控制台;第三结果获取单元,用于控制所述用户权限程序从所述控制台中获取运行结果。
在上述实施例的基础上,结果写入单元包括:结果获取子单元,用于控制所述管理员进程启动器从所述控制台中获取所述运行结果;内存写入子单元,用于控制所述管理员进程启动器将所述运行结果写入设定内存并释放信号量。相应的,第二结果获取单元具体用于:指示所述操作系统服务代理程序根据所述信号量访问所述设定内存,以得到所述运行结果,并发送至所述控制台。
在上述实施例的基础上,所述设定内存为共享内存。
在上述实施例的基础上,参数传递模块303具体用于:所述操作系统服务代理程序确认所述鉴权值有效时,指示所述操作系统服务代理程序将所述运行参数和管理员进程启动器名称发送至命名管道,以使所述操作系统服务通过所述命名管道获取所述运行参数和所述管理员进程启动器名称。
在上述实施例的基础上,代理程序启动模块302具体用于:引导所述用户权限程序将所述鉴权值以及所述管理员权限程序的运行参数作为操作系统服务代理程序的启动参数,并以命令行的方式启动操作系统服务代理程序。
在上述实施例的基础上,所述操作系统服务代理程序运行在用户权限下,所述管理员进程启动器运行在系统权限下。
本申请实施例提供的管理员权限执行装置包含在管理员权限执行设备中,且可用于执行上述任意实施例提供的管理员权限执行方法,具备相应的功能和有益效果。
实施例四
图5为本申请实施例四提供的一种管理员权限执行设备的结构示意图。如图5所示,该管理员权限执行设备包括处理器40、存储器41、输入装置42以及输出装置43;管理员权限执行设备中处理器40的数量可以是一个或多个,图5中以一个处理器40为例;管理员权限执行设备中的处理器40、存储器41、输入装置42以及输出装置43可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的管理员权限执行方法对应的程序指令/ 模块(例如,管理员权限执行装置中的鉴权值申请模块301、代理程序启动模块302、参数传递模块303、程序运行模块304和结果获取模块305)。处理器 40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行管理员权限执行设备的各种功能应用以及数据处理,即实现上述的管理员权限执行方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据管理员权限执行设备的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至管理员权限执行设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置42可用于接收输入的数字或字符信息,以及产生与管理员权限执行设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备以及其他数据输出设备。
上述管理员权限执行设备包含管理员权限执行装置,可以用于执行上述任意实施例提供的管理员权限执行方法,具备相应的功能和有益效果。
实施例五
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种管理员权限执行方法,该方法包括:
在需要调用管理员权限程序时,指示当前运行的用户权限程序申请鉴权值;
引导所述用户权限程序通过所述鉴权值以及所述管理员权限程序的运行参数启动操作系统服务代理程序;
所述操作系统服务代理程序确认所述鉴权值有效时,指示所述操作系统服务代理程序将所述运行参数和管理员进程启动器名称传递至操作系统服务;
控制所述操作系统服务根据所述运行参数以及所述管理员进程启动器名称启动管理员进程启动器,以使所述管理员进程启动器根据所述运行参数启动所述管理员权限程序;
指示控制台获取所述管理员权限程序的运行结果,以使所述用户权限程序通过所述控制台获取所述运行结果。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的管理员权限执行方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器 (Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
值得注意的是,上述管理员权限执行装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (10)
1.一种管理员权限执行方法,其特征在于,包括:
在需要调用管理员权限程序时,指示当前运行的用户权限程序申请鉴权值;
引导所述用户权限程序通过所述鉴权值以及所述管理员权限程序的运行参数启动操作系统服务代理程序;其中,所述操作系统服务代理程序为用户权限下代理操作系统服务与所述用户权限程序进行通信的程序,所述操作系统服务代理程序加入在环境变量中,以使所述用户权限程序根据所述环境变量确定所述操作系统服务代理程序的位置,进而启动所述操作系统服务代理程序,一个所述管理员权限程序对应启动一个所述管理员权限程序;
所述操作系统服务代理程序确认所述鉴权值有效时,指示所述操作系统服务代理程序将所述运行参数和管理员进程启动器名称传递至操作系统服务;
控制所述操作系统服务根据所述运行参数以及所述管理员进程启动器名称启动管理员进程启动器,以使所述管理员进程启动器根据所述运行参数启动所述管理员权限程序;
指示控制台获取所述管理员权限程序的运行结果,以使所述用户权限程序通过所述控制台获取所述运行结果。
2.根据权利要求1所述的管理员权限执行方法,其特征在于,所述指示控制台获取所述管理员权限程序的运行结果,以使所述用户权限程序通过所述控制台获取所述运行结果包括:
指示所述控制台获取所述管理员权限程序的运行结果;
控制所述管理员进程启动器将所述控制台中的所述运行结果写入设定内存;
指示所述操作系统服务代理程序通过所述设定内存获取所述运行结果,并发送至所述控制台;
控制所述用户权限程序从所述控制台中获取运行结果。
3.根据权利要求2所述的管理员权限执行方法,其特征在于,所述控制所述管理员进程启动器将所述控制台中的所述运行结果写入设定内存包括:
控制所述管理员进程启动器从所述控制台中获取所述运行结果;
控制所述管理员进程启动器将所述运行结果写入设定内存并释放信号量;
所述指示所述操作系统服务代理程序通过所述设定内存获取所述运行结果包括:
指示所述操作系统服务代理程序根据所述信号量访问所述设定内存,以得到所述运行结果。
4.根据权利要求2或3所述的管理员权限执行方法,其特征在于,所述设定内存为共享内存。
5.根据权利要求1所述的管理员权限执行方法,其特征在于,所述指示所述操作系统服务代理程序将所述运行参数和管理员进程启动器名称传递至操作系统服务包括:
指示所述操作系统服务代理程序将所述运行参数和管理员进程启动器名称发送至命名管道,以使所述操作系统服务通过所述命名管道获取所述运行参数和所述管理员进程启动器名称。
6.根据权利要求1所述的管理员权限执行方法,其特征在于,所述引导所述用户权限程序通过所述鉴权值以及所述管理员权限程序的运行参数启动操作系统服务代理程序包括:
引导所述用户权限程序将所述鉴权值以及所述管理员权限程序的运行参数作为操作系统服务代理程序的启动参数,并以命令行的方式启动操作系统服务代理程序。
7.根据权利要求1所述的管理员权限执行方法,其特征在于,所述操作系统服务代理程序运行在用户权限下,所述管理员进程启动器运行在系统权限下。
8.一种管理员权限执行装置,其特征在于,包括:
鉴权值申请模块,用于在需要调用管理员权限程序时,指示当前运行的用户权限程序申请鉴权值;
代理程序启动模块,用于引导所述用户权限程序通过所述鉴权值以及所述管理员权限程序的运行参数启动操作系统服务代理程序;其中,所述操作系统服务代理程序为用户权限下代理操作系统服务与所述用户权限程序进行通信的程序,所述操作系统服务代理程序加入在环境变量中,以使所述用户权限程序根据所述环境变量确定所述操作系统服务代理程序的位置,进而启动所述操作系统服务代理程序,一个所述管理员权限程序对应启动一个所述管理员权限程序;
参数传递模块,用于所述操作系统服务代理程序确认所述鉴权值有效时,指示所述操作系统服务代理程序将所述运行参数和管理员进程启动器名称传递至操作系统服务;
程序运行模块,用于控制所述操作系统服务根据所述运行参数以及所述管理员进程启动器名称启动管理员进程启动器,以使所述管理员进程启动器根据所述运行参数启动所述管理员权限程序;
结果获取模块,用于指示控制台获取所述管理员权限程序的运行结果,以使所述用户权限程序通过所述控制台获取所述运行结果。
9.一种管理员权限执行设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的管理员权限执行方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的管理员权限执行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911058476.XA CN111079122B (zh) | 2019-11-01 | 2019-11-01 | 管理员权限执行方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911058476.XA CN111079122B (zh) | 2019-11-01 | 2019-11-01 | 管理员权限执行方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111079122A CN111079122A (zh) | 2020-04-28 |
CN111079122B true CN111079122B (zh) | 2022-03-22 |
Family
ID=70310606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911058476.XA Active CN111079122B (zh) | 2019-11-01 | 2019-11-01 | 管理员权限执行方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111079122B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101165696A (zh) * | 2006-10-16 | 2008-04-23 | 中国长城计算机深圳股份有限公司 | 一种基于安全计算机的安全认证方法 |
CN101359355A (zh) * | 2007-08-02 | 2009-02-04 | 芯微技术(深圳)有限公司 | Windows系统下受限帐户提升用户权限的方法 |
US8151360B1 (en) * | 2006-03-20 | 2012-04-03 | Netapp, Inc. | System and method for administering security in a logical namespace of a storage system environment |
CN102609466A (zh) * | 2012-01-13 | 2012-07-25 | 广州从兴电子开发有限公司 | 一种共享内存的控制方法及系统 |
CN105282180A (zh) * | 2014-05-28 | 2016-01-27 | 中兴通讯股份有限公司 | 业务鉴权的处理方法及装置 |
US9529602B1 (en) * | 2015-07-22 | 2016-12-27 | Dell Products, L.P. | Systems and methods for internet recovery and service |
CN107508839A (zh) * | 2017-09-28 | 2017-12-22 | 中国银联股份有限公司 | 一种控制web系统越权访问的方法和装置 |
CN110334489A (zh) * | 2019-07-12 | 2019-10-15 | 广州大白互联网科技有限公司 | 一种统一身份认证系统和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10657261B2 (en) * | 2017-11-30 | 2020-05-19 | Mocana Corporation | System and method for recording device lifecycle transactions as versioned blocks in a blockchain network using a transaction connector and broker service |
GB2573491B (en) * | 2018-02-08 | 2020-07-01 | Avecto Ltd | Managing privilege delegation on a computer device |
-
2019
- 2019-11-01 CN CN201911058476.XA patent/CN111079122B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8151360B1 (en) * | 2006-03-20 | 2012-04-03 | Netapp, Inc. | System and method for administering security in a logical namespace of a storage system environment |
CN101165696A (zh) * | 2006-10-16 | 2008-04-23 | 中国长城计算机深圳股份有限公司 | 一种基于安全计算机的安全认证方法 |
CN101359355A (zh) * | 2007-08-02 | 2009-02-04 | 芯微技术(深圳)有限公司 | Windows系统下受限帐户提升用户权限的方法 |
CN102609466A (zh) * | 2012-01-13 | 2012-07-25 | 广州从兴电子开发有限公司 | 一种共享内存的控制方法及系统 |
CN105282180A (zh) * | 2014-05-28 | 2016-01-27 | 中兴通讯股份有限公司 | 业务鉴权的处理方法及装置 |
US9529602B1 (en) * | 2015-07-22 | 2016-12-27 | Dell Products, L.P. | Systems and methods for internet recovery and service |
CN107508839A (zh) * | 2017-09-28 | 2017-12-22 | 中国银联股份有限公司 | 一种控制web系统越权访问的方法和装置 |
CN110334489A (zh) * | 2019-07-12 | 2019-10-15 | 广州大白互联网科技有限公司 | 一种统一身份认证系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111079122A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101384085B1 (ko) | 보안 브라우저 기반 애플리케이션 | |
TWI725352B (zh) | 驗證及授權的方法及驗證伺服器 | |
CN107430669B (zh) | 计算系统和方法 | |
US9606809B2 (en) | Computer with flexible operating system | |
US11165780B2 (en) | Systems and methods to secure publicly-hosted cloud applications to run only within the context of a trusted client application | |
CN106557669A (zh) | 一种应用程序安装过程的权限控制方法及装置 | |
CN110390201A (zh) | 计算机系统以及初始化计算机系统的方法 | |
EP4177753A1 (en) | Remote service invoking method, device, and system, and storage medium | |
CN112329019A (zh) | 基于TrustZone的编程方法、终端设备及存储介质 | |
CN109657453B (zh) | 权限设置方法、装置、移动终端和计算机可读存储介质 | |
CN111158857A (zh) | 数据加密方法、装置、设备及存储介质 | |
CN111079122B (zh) | 管理员权限执行方法、装置、设备及存储介质 | |
CN116954825A (zh) | 用户管理方法、装置、电子设备、存储介质及程序产品 | |
US8707330B2 (en) | Method and system for controlled communication between applications | |
CA2997495C (en) | Method for secure connection from a client computer device to a computer resource | |
CN108259456B (zh) | 实现用户免登录的方法、装置、设备、计算机存储介质 | |
CN115827522A (zh) | Bios的设置方法、bios芯片和电子设备 | |
KR20190106589A (ko) | 전자 디바이스에 서비스를 제공하는 장치 및 그 방법 | |
CN115686694A (zh) | 应用于rpa平台的操作系统自动解锁屏方法及装置 | |
CN110765426A (zh) | 设备权限设置方法、装置、设备以及计算机存储介质 | |
EP3214571A1 (en) | Method and associated server for ensuring data security under high access efficiency | |
US11831723B2 (en) | System and method for remote application sharing | |
WO2019209893A1 (en) | Operating system on a computing system | |
CN111008375B (zh) | 一种数据保护方法及装置 | |
RU2777302C1 (ru) | Система и способ контроля доставки сообщений, передаваемых между процессами из разных операционных систем |
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 |