本发明涉及服务器命令行技术领域,尤其涉及一种服务器命令行的管理方法及系统。
背景技术:
随着科技的进步,网络速度的越来越快,手机、电脑给我们带来了无数的便利和娱乐,而每一个手机和电脑应用程序的后端服务都对应着一个或多个的服务器进行业务的部署和应用的维护。目前,大部分服务器都是使用的unix操作系统或类unix操作系统。
虽然大多数服务器操作系统都支持界面化操作,如centos、ubuntu等,但为了减少系统资源的开销和方便批量化操作,多数服务器还是使用命令行与脚本的方式进行业务操作和部署,其命令行操作几乎不可替代。不过,以命令行的方式操作和部署应用业务,在方便操作的同时,也带来了误操作、信息泄露等极大的安全隐患,尤其是类unix操作系统,存在root等超级管理员,几乎能操作所有的命令。所以,需要一种可以针对不同的用户和角色来限制能操作的命令行指令的方法,以达到保护服务器操作系统、防止信息泄露的目的。例如,通过不允许用户使用某些功能、信息或访问特定的系统资源等方式,限制用户的访问能力,达到强制访问控制的目的。
技术实现要素:
有鉴于此,本发明的目的在于提出一种服务器命令行的管理方法及系统,用以达到可限制用户的执行命令的效果。
基于上述目的,本发明提供了一种服务器命令行的管理方法,包括如下步骤:
响应于用户登录服务器操作系统,启动命令行管理程序并为其加载预设配置文件;
基于配置文件查找用户所在的用户组,并确认用户组符合白名单策略或黑名单策略;
获取用户输入的待执行命令并基于所述配置文件确认待执行命令所属类别;
响应于待执行命令属于配置文件中的操作系统指令,按照预设条件将待执行命令进行字符分隔,以得到待执行指令和对应的指令参数,并将所述待执行指令和对应的指令参数与所述配置文件中的预置匹配项进行对比;
响应于用户组符合白名单策略且待执行指令和指令参数符合配置文件中的预置匹配项,执行待执行命令;
响应于用户组符合黑名单策略且待执行指令和指令参数不符合预置匹配项,执行待执行命令。
在一些实施例中,按照预设条件将待执行命令进行字符分隔,以得到待执行指令和对应的指令参数包括:
响应于待执行命令包含配置文件中预置的特殊字符,将待执行命令以特殊字符进行分隔,以得到多个子输入字符串;
将每个子输入字符串以空格为分隔符进行分隔,得到空格前的待执行指令和空格后的指令参数。
在一些实施例中,待执行指令和指令参数符合配置文件中的预置匹配项包括:待执行指令和指令参数属于配置文件中的预置内容且相互匹配。
在一些实施例中,待执行指令和指令参数不符合预置匹配项包括:
待执行指令和指令参数不属于配置文件中的预置内容,或者
待执行指令和指令参数属于配置文件中的预置内容但相互不匹配。
在一些实施例中,方法还包括:响应于待执行命令属于命令行管理程序的内置指令,依照内置指令执行相应的操作。
在一些实施例中,方法还包括:响应于确认所述用户属于管理员组,直接执行所述用户输入的待执行命令并且向所述用户提供查看配置文件和/或修改配置文件的配置项和/或重新加载配置文件的权限。
在一些实施例中,方法还包括:响应于命令行管理程序启动,获取配置文件中的日志配置信息,其中,日志配置信息包括日志路径、单个日志文件最大值及错误日志等级。
在一些实施例中,方法还包括:响应于界面管理端登录服务器操作系统且获知其未部署命令行管理程序,获取服务器操作系统的类型并为其部署命令行管理程序。
在一些实施例中,界面管理端还用于展示日志配置信息。
本发明的另一方面,还提供了一种服务器命令行的管理系统,包括:
配置文件加载模块,配置用于响应于用户登录服务器操作系统,启动命令行管理程序并为其加载预设配置文件;
用户组确认模块,配置用于基于配置文件查找用户所在的用户组,并确认用户组符合白名单策略或黑名单策略;
待执行命令获取模块,配置用于获取用户输入的待执行命令并基于所述配置文件确认待执行命令所属类别;
字符分隔模块,配置用于响应于待执行命令属于配置文件中的操作系统指令,按照预设条件将待执行命令进行字符分隔,以得到待执行指令和对应的指令参数,并将所述待执行指令和对应的指令参数与所述配置文件中的预置匹配项进行对比;
第一命令执行模块,配置用于响应于用户组符合白名单策略且待执行指令和指令参数符合配置文件中的预置匹配项,执行待执行命令;以及
第二命令执行模块,配置用于响应于用户组符合黑名单策略且待执行指令和指令参数不符合预置匹配项,执行待执行命令。
本发明至少具有以下有益技术效果:
1.本发明通过部署设置了配置文件的命令行管理程序,预置了用户可执行的指令及对应的指令参数,有效控制了用户输入服务器命令行中要执行的命令或指令,保证了服务器操作系统的安全性;且通过在配置文件中预置所需内容,增加了灵活性与便捷性;
2.通过设置白名单策略和黑名单策略结合使用的方式,来允许或禁止用户可执行的命令,达到了防止信息泄露的目的,避免因用户误操作或恶意破坏等方式对操作系统造成不可恢复的破坏。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明提供的服务器命令行的管理方法的实施例的示意图;
图2为根据本发明提供的服务器命令行的管理系统的实施例的示意图;
图3为根据本发明提供的执行服务器命令行的管理方法的计算机设备的一个实施例的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
基于上述目的,本发明实施例的第一个方面,提出了一种服务器命令行的管理方法的实施例。图1示出的是本发明提供的服务器命令行的管理方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
步骤s10、响应于用户登录服务器操作系统,启动命令行管理程序并为其加载预设配置文件;
步骤s20、基于配置文件查找用户所在的用户组,并确认用户组符合白名单策略或黑名单策略;
步骤s30、获取用户输入的待执行命令并基于所述配置文件确认待执行命令所属类别;
步骤s40、响应于待执行命令属于配置文件中的操作系统指令,按照预设条件将待执行命令进行字符分隔,以得到待执行指令和对应的指令参数,并将所述待执行指令和对应的指令参数与所述配置文件中的预置匹配项进行对比;
步骤s50、响应于用户组符合白名单策略且待执行指令和指令参数符合配置文件中的预置匹配项,执行待执行命令;
步骤s60、响应于用户组符合黑名单策略且待执行指令和指令参数不符合预置匹配项,执行待执行命令。
本发明实施例中,服务器既可以是物理机,也可以是虚拟机;用户登录服务器操作系统时使用的是ssh/telnet协议。命令行管理程序的展示效果为伪shell终端。本发明实施例通过部署设置了配置文件的命令行管理程序,预置了用户可执行的指令及对应的指令参数,有效控制了用户输入服务器命令行中要执行的命令或指令,保证了服务器操作系统的安全性;且通过在配置文件中预置所需内容,增加了灵活性与便捷性;通过设置白名单策略和黑名单策略结合使用的方式,来允许或禁止用户可执行的命令,达到了防止信息泄露的目的,避免因用户误操作或恶意破坏等方式对操作系统造成不可恢复的破坏。
在一些实施例中,按照预设条件将待执行命令进行字符分隔,以得到待执行指令和对应的指令参数包括:响应于待执行命令包含配置文件中预置的特殊字符,将待执行命令以特殊字符进行分隔,以得到多个子输入字符串;将每个子输入字符串以空格为分隔符进行分隔,得到空格前的待执行指令和空格后的指令参数。
在一些实施例中,待执行指令和指令参数符合配置文件中的预置匹配项包括:待执行指令和指令参数属于配置文件中的预置内容且相互匹配。
在一些实施例中,待执行指令和指令参数不符合预置匹配项包括:待执行指令和指令参数不属于配置文件中的预置内容,或者待执行指令和指令参数属于配置文件中的预置内容但相互不匹配。
在一些实施例中,方法还包括:响应于待执行命令属于命令行管理程序的内置指令,依照内置指令执行相应的操作。
在一些实施例中,配置文件还包括管理员组,用于使其中的成员查看配置文件和/或修改配置文件的配置项和/或重新加载配置文件。方法还包括:响应于确认所述用户属于管理员组,直接执行所述用户输入的待执行命令并且向所述用户提供查看配置文件和/或修改配置文件的配置项和/或重新加载配置文件的权限。
以下为基于上述实施例的相关代码示例及解释说明:
sclm.conf
1.[global]
2.version=1.0.0
3.totalgroup=50
4.specialchar=;:|&<>?
5.[log]
6.loglevel=1
7.logpath=/var/log/sclm
8.logsize=20
9.[superuser]
10.desc=superuser
11.group=root,admin
12.[sso]
13.desc=systemsecurityofficer
14.group=sso_1,sso_2
15.rule=black
16.commandlist=./rule/sso_commandlist.conf
17.optionconf=./rule/sso_option.conf
18.[op]
19.desc=operator
20.group=op_1,op_2
21.rule=white
22.commandlist=./rule/op_commandlist.conf
23.optionconf=./rule/op_option.conf
sso_commandlist.conf
1.ls
2.cd
3.ps
sso_option.conf.conf
1.ls=-1
2.cd=[.]{2,2}[/]
3.ps=[-][e][f]
部署了命令行管理程序的服务器,若想对某个用户进行限制性管理,需要修改用户登录之后启动的bash程序为命令行管理程序(sclm,servercommandlinemanagement)的部署路径,即配置/etc/passwd中该用户信息的最后一个数据为命令行管理程序的部署路径,同时,需要事先确保该用户对sclm可执行文件具有执行权限,配置文件具有读写权限,日志路径具有读写文件。例如,如果想对root用户进行限制性管理,则需要修改/etc/passwd中root用户信息(root:x:0:0:/roo:/bin/bash)为(root:x:0:0:/roo:/opt/sclm/sclm),其中/opt/sclm/sclm为命令行管理程序二进制程序部署路径。
命令行管理程序的配置文件路径默认为./config/sclm.conf。配置文件样例如上述代码所示,其中:[program].version存储程序版本等信息,用于sclm的banner展示;[program].tatalgroup存储全部的用户组限制,用户组个数不得超过totalgroup的值;[program].specialchar配置的是用户输入指令的特殊字符,当检测到用户输入中存在该特殊字符时,将用户输入分为多段检测;[log]用于存储日志配置信息;[superuser]存储管理员组配置,管理员也称超级管理员,超级管理员可不受控执行指令,可以查看配置文件,修改配置项并重载等;其中desc为描述信息,group为管理员组的组成员列表,以“,”分割;root、admin两个账户均具有超级管理员权限;[sso]、[op]等组存储的是各个用户组的配置,包括描述信息(desc)、组成员列表(group)、用户策略(rule)、指令列表(sso_commandlist.conf)和参数规则文件(sso_option.conf)。
其中,用户策略可填写black或white,分别代表该组用户执行黑名单策略或白名单策略;当该组用户执行黑名单策略时,该组用户不可以执行commandlist中配置的命令列表;当该组用户执行白名单策略时,该组用户仅可以执行commandlist中配置的命令。commandlist文件如上述代码中sso_commandlist.conf所示,即sso组的用户,尽可以执行ls/test/ps三个指令。
optionconf配置的是该组用户可执行的命令的参数的限制,限制使用正则表达式,即如上述代码中sso_option.conf所示,如果用户组配置的是白名单且用户指令配置了“ls”指令,则,ls指令的参数只能是“-l”,如果是其他参数,如“-a”,仍被认为不符合策略,被拒绝执行;如果用户组配置的是黑名单且用户指令配置了“ls”指令,则ls指令的参数不能是“-l”,即如果用户执行ls–l命令被拒绝执行;sso_option.conf中指令未配置,默认不进行指令参数校验。
完成命令行管理程序的所有配置文件之后,命令行管理程序sclm在启动的时候,检测配置项各配置值的合法性,并将配置文件的相应信息加载到内存中。其中,[program].version配置项信息直接读取到全局信息中;[superuser]/[sso]/[op]等用户组信息个数不得超过[program].tatalgroup个;相同用户名不得存在于两个及以上用户组中;用户组策略rule的值,仅可以是black或white;超级管理员用户对commandlist、optionconf配置文件要具有读写权限,便于后续对配置文件内容的增删;commandlist和optionconf的内容,组装成一个字符串,以ascii值递增的顺序,存储到共享内存中,并且和用户一一对应。
由于更改了/etc/passwd中用户登录后默认启动的shell程序为命令行管理程序,当某个用户通过ssh/telnet登录到服务器操作系统上时,系统自动启动sclm程序。sclm程序启动时,首先将所有的内置策略及命令行列表加载到内存中,其次再根据登录用户名,查找用户名属于哪个用户组中,确认黑白名单策略和commanlist。为加快接下来的命令查找速度,将当前用户的commandlist和optionconf组装的字符串,放到一个全局内存中,接下来的命令查找只在这块全局内存中查找即可。
接下来,引用readline库,while(1)循环获取用户输入的待执行命令。sclm程序的指令整体上分为程序内置指令和操作系统指令,程序内置指令为sclm程序内部使用的指令,如exit,sclmreload,sclmvi等,内置指令可通过help信息展示;操作系统指令是sclm程序真正要控制执行的指令。命令行管理程序获取到用户输入的待执行命令后,首先判断其是否为程序的内置指令,当用户输入为程序内置指令,按照程序执行相应的功能,如输入为“exit”时,退出sclm客户端程序,关闭session链接,用户退出登录;输入为“sclmvi”时,超级管理员修改配置文件信息;输入为“sclmreload”时,sclm程序重新加载配置文件信息到共享内存中。当用户输入为操作系统指令时,首先判断是否存在[program].specialchar中配置的特殊字符,如果存在,则将用户输入的待执行命令以特殊字符为分隔,切分为多个子输入字符串;接下来再以空格为分隔符进行分隔,空格前的内容默认为待执行指令,空格后面的内容默认为指令参数;因为用户的commandlist和optionconf组装的字符串已按照ascii递增的顺序存储在全局内存中,接下来使用二分法在全局内存中查找用户输入的待执行命令。如果用户策略为白名单,并且在全局内存中查找到了待执行指令,并且使用正则表达式匹配了optionconf中配置的内容,则执行用户输入的待执行命令,并展示执行结果到终端;否则不执行该待执行命令,并输出“notsupportcommand.pleaseenterhelp”展示帮助消息;如果用户策略为黑名单,并且在全局内存中查找不到该待执行指令,或者查找到了该待执行指令,但是使用正则表达式不匹配optionconf中配置的内容,则执行该待执行命令,并展示执行结果到终端。
在一些实施例中,方法还包括:响应于命令行管理程序启动,获取配置文件中的日志配置信息,其中,日志配置信息包括日志路径、单个日志文件最大值及错误日志等级。命令行管理程序启动的时候,获取配置文件中[log]的信息,设置日志参数,包括日志路径、单个日志文件最大值(m)、日志等级等,程序日志分为error、info、debug三个级别,分别为1/2/3,error日志级别最低,仅打印error级别日志,debug日志级别最高,打印的日志也最多最详细。因为同一个服务器,可能存在多个用户同时登陆的情况,所以日志名要以user_pid的方式进行命名。
在一些实施例中,方法还包括:响应于界面管理端登录服务器操作系统且获知其未部署命令行管理程序,获取服务器操作系统的类型并为其部署命令行管理程序。在一些实施例中,界面管理端还用于展示日志配置信息。本实施例中,界面管理端又称web端,是一个集中管理平台,提供友好的web管理界面,方便用户使用。同时,管理端所有接口都是restfulapi,方便第三方平台调用。界面管理端功能主要包括配置文件管理和日志查看两部分,其中:
(1)配置文件管理:web端的用户管理是对管理端web页面的登录用户的管理,只有超级管理用户一种用户角色。超级用户是取自客户端sclm的[superuser].group配置项,负责客户端sclm配置文件的页面化修改和客户端sclm程序的部署等工作。对于客户端sclm程序的部署,当web端使用ssh登录到服务器操作系统上时,如果发现该服务器未部署sclm之后,首先获取操作系统类型,再将系统内置的客户端sclm程序推送到目标服务器/opt/sclm目录下,修改sclm的配置文件内容,再根据需求修改/etc/passwd中的内容,然后退出即可;
(2)日志查看:web端可直接读取日志文件的内容,将日志配置信息展示到页面上,根据日志文件定位错误信息更方便。
本发明实施例的第二个方面,还提供了一种服务器命令行的管理系统。图2示出的是本发明提供的服务器命令行的管理系统的实施例的示意图。一种服务器命令行的管理系统包括:配置文件加载模块10,配置用于响应于用户登录服务器操作系统,启动命令行管理程序并为其加载预设配置文件;用户组确认模块20,配置用于基于配置文件查找用户所在的用户组,并确认用户组符合白名单策略或黑名单策略;待执行命令获取模块30,配置用于获取用户输入的待执行命令并基于所述配置文件确认待执行命令所属类别;字符分隔模块40,配置用于响应于待执行命令属于配置文件中的操作系统指令,按照预设条件将待执行命令进行字符分隔,以得到待执行指令和对应的指令参数,并将所述待执行指令和对应的指令参数与所述配置文件中的预置匹配项进行对比;第一命令执行模块50,配置用于响应于用户组符合白名单策略且待执行指令和指令参数符合配置文件中的预置匹配项,执行待执行命令;以及第二命令执行模块60,配置用于响应于用户组符合黑名单策略且待执行指令和指令参数不符合预置匹配项,执行待执行命令。
本发明实施例的服务器命令行的管理系统,通过部署设置了配置文件的命令行管理程序,预置了用户可执行的指令及对应的指令参数,有效控制了用户输入服务器命令行中要执行的命令或指令,保证了服务器操作系统的安全性;且通过在配置文件中预置所需内容,增加了灵活性与便捷性;通过设置白名单策略和黑名单策略结合使用的方式,来允许或禁止用户可执行的命令,达到了防止信息泄露的目的,避免因用户误操作或恶意破坏等方式对操作系统造成不可恢复的破坏。
本发明实施例的第三个方面,还提供了一种计算机存储介质,存储介质存储有计算机程序指令,该计算机程序指令被执行时实现上述任意一项实施例方法。
应当理解,在相互不冲突的情况下,以上针对根据本发明的服务器命令行的管理方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的服务器命令行的管理系统和存储介质。也就是说,上面所述的应用于服务器命令行的管理方法的所有实施例及其变化都可以直接移转应用于根据本发明的系统和存储介质,并直接结合于此。为了本公开的简洁起见,在此不再重复阐述。
本发明实施例的第四个方面,还提供了一种计算机设备,包括存储器302和处理器301,该存储器中存储有计算机程序,该计算机程序被该处理器执行时实现上述任意一项实施例方法。
如图3所示,为本发明提供的执行服务器命令行的管理方法的计算机设备的一个实施例的硬件结构示意图。以如图3所示的计算机设备为例,在该计算机设备中包括一个处理器301以及一个存储器302,并还可以包括:输入装置303和输出装置304。处理器301、存储器302、输入装置303和输出装置304可以通过总线或者其他方式连接,图3中以通过总线连接为例。输入装置303可接收输入的数字或字符信息,以及产生与服务器命令行的管理系统的用户设置以及功能控制有关的键信号输入。输出装置304可包括显示屏等显示设备。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的服务器命令行的管理方法。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)或快闪存储器。易失性存储器可以包括随机存取存储器(ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如同步ram(dram)、动态ram(dram)、同步dram(sdram)、双数据速率sdram(ddrsdram)、增强sdram(esdram)、同步链路dram(sldram)、以及直接rambusram(drram)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
1.一种服务器命令行的管理方法,其特征在于,包括以下步骤:
响应于用户登录服务器操作系统,启动命令行管理程序并为其加载预设配置文件;
基于所述配置文件查找所述用户所在的用户组,并确认所述用户组符合白名单策略或黑名单策略;
获取所述用户输入的待执行命令并基于所述配置文件确认待执行命令所属类别;
响应于所述待执行命令属于所述配置文件中的操作系统指令,按照预设条件将所述待执行命令进行字符分隔,以得到待执行指令和对应的指令参数,并将所述待执行指令和对应的指令参数与所述配置文件中的预置匹配项进行对比;
响应于所述用户组符合所述白名单策略且所述待执行指令和指令参数符合所述配置文件中的预置匹配项,执行所述待执行命令;
响应于所述用户组符合所述黑名单策略且所述待执行指令和指令参数不符合所述预置匹配项,执行所述待执行命令。
2.根据权利要求1所述的方法,其特征在于,按照预设条件将所述待执行命令进行字符分隔,以得到待执行指令和对应的指令参数包括:
响应于所述待执行命令包含所述配置文件中预置的特殊字符,将所述待执行命令以所述特殊字符进行分隔,以得到多个子输入字符串;
将每个所述子输入字符串以空格为分隔符进行分隔,得到所述空格前的待执行指令和所述空格后的指令参数。
3.根据权利要求1所述的方法,其特征在于,所述待执行指令和指令参数符合所述配置文件中的预置匹配项包括:
所述待执行指令和指令参数属于所述配置文件中的预置内容且相互匹配。
4.根据权利要求1或3所述的方法,其特征在于,所述待执行指令和指令参数不符合所述预置匹配项包括:
所述待执行指令和指令参数不属于所述配置文件中的预置内容,或者
所述待执行指令和指令参数属于所述配置文件中的预置内容但相互不匹配。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述待执行命令属于所述命令行管理程序的内置指令,依照所述内置指令执行相应的操作。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于确认所述用户属于管理员组,直接执行所述用户输入的待执行命令并且向所述用户提供查看所述配置文件和/或修改所述配置文件的配置项和/或重新加载所述配置文件的权限。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述命令行管理程序启动,获取所述配置文件中的日志配置信息,其中,所述日志配置信息包括日志路径、单个日志文件最大值及错误日志等级。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
响应于界面管理端登录所述服务器操作系统且获知其未部署所述命令行管理程序,获取所述服务器操作系统的类型并为其部署所述命令行管理程序。
9.根据权利要求8所述的方法,其特征在于,所述界面管理端还用于展示所述日志配置信息。
10.一种服务器命令行的管理系统,其特征在于,包括:
配置文件加载模块,配置用于响应于用户登录服务器操作系统,启动命令行管理程序并为其加载预设配置文件;
用户组确认模块,配置用于基于所述配置文件查找所述用户所在的用户组,并确认所述用户组符合白名单策略或黑名单策略;
待执行命令获取模块,配置用于获取所述用户输入的待执行命令并基于所述配置文件确认待执行命令所属类别;
字符分隔模块,配置用于响应于所述待执行命令属于所述配置文件中的操作系统指令,按照预设条件将所述待执行命令进行字符分隔,以得到待执行指令和对应的指令参数,并将所述待执行指令和对应的指令参数与所述配置文件中的预置匹配项进行对比;
第一命令执行模块,配置用于响应于所述用户组符合所述白名单策略且所述待执行指令和指令参数符合所述配置文件中的预置匹配项,执行所述待执行命令;以及
第二命令执行模块,配置用于响应于所述用户组符合所述黑名单策略且所述待执行指令和指令参数不符合所述预置匹配项,执行所述待执行命令。
技术总结