一种安全的实时SHELL的设计方法与流程

文档序号:33005751发布日期:2023-01-18 03:50阅读:29来源:国知局
一种安全的实时SHELL的设计方法与流程
一种安全的实时shell的设计方法
技术领域
1.本发明涉及机器人操作系统技术领域,具体为一种安全的实时shell的设计方法。


背景技术:

2.目前机器人大部分采用实时操作系统,在机器人实时操作系统中,需要机器人节点应用程序以实时进程调度模式运行,这样才能达到系统实时性要求。
3.现有技术中,在shell命令处理器中启动运行的应用程序,默认是以普通低优先级调度模式运行的,无法以实时进程调度模式运行,还需要对机器人节点应用程序进行改造,增加进程调度相关的设计代码,并且必须以root权限运行才能生效。
4.但是,以root权限运行才能生效,这将导致开发工作量大增,同时导致root权限暴露,造成系统安全隐患。


技术实现要素:

5.本发明的目的在于提供一种安全的实时shell的设计方法,以解决上述背景技术中提出的问题。
6.为实现上述目的,本发明提供如下技术方案:一种安全的实时shell的设计方法,所述安全的实时shell的设计方法包括:
7.安装改造后的内核安装包;
8.安装改造后的实时shell命令处理器;
9.由root管理员编辑白名单配置文件,添加机器人节点应用程序、优先级、cpu编号信息;
10.在shell控制台中,输入应用程序命令运行,即自动以实时进程调度模式运行。
11.优选的,基于机器人iros-rlinux实时操作系统内核代码进行改造,改造内核进程调度部分代码,在进程优先级系统调用函数代码中,增加iros用户调度权限校验代码模块。
12.优选的,增加校验代码模块1:校验iros用户的uid及用户名称是否一致;
13.增加校验代码模块2:校验机器人节点应用程序是否是iros用户所属;
14.校验通过后,方可允许机器人节点应用程序在iros用户下执行。
15.优选的,shell命令处理器包括:shell白名单运行参数设定和shell白名单运行控制两部分功能。
16.优选的,所述shell白名单运行参数设定功能由root管理员通过编辑shell白名单配置文件进行设定,shell白名单权限内容包括:机器人节点应用程序名称、实时优先级、cpu运行编号参数信息。
17.优选的,shell白名单运行控制功能,包括:shell白名单加载、iros机器人节点应用程序校验、进程实时优先级设定、进程cpu亲和性设定功能。
18.优选的,shell白名单加载功能,在shell启动时,读取shell白名单配置文件,并加载到内存中。
19.优选的,iros机器人节点应用程序校验,校验应用程序的所属用户是否为iros用户,并校验节点应用程序所使用的共享库是否为iros共享库。
20.优选的,进程实时优先级设定和进程cpu亲和性设定功能实现shell在运行应用程序前,首先建立一个子进程,根据shell白名单优先级参数对该子进程优先级进行设定,然后对该进程cpu亲和性进行设定,最后在该子进程中加载应用程序,该应用程序的进程号即是该子进程,即具备了设定的优先级及cpu亲和性。
21.优选的,shell白名单中未添加设定的应用程序,shell启动应用程序时将默认指定一个实时优先级,同时cpu亲和性默认为禁用状态,确保所有在实时shell下启动运行的应用程序均以实时优先级模式运行,保证系统程序的实时性。
22.与现有技术相比,本发明的有益效果是:
23.本发明提出的安全的实时shell的设计方法基于linux实时操作系统基础上,通过对shell的实时化改造,实现机器人节点应用程序在shell下自动以实时进程调度模式运行,而无需对应用程序进行代码改造即可实现优先级提升,减少应用程序的移植工作量,同时通过对操作系统内核的改造,仅对指定的iros用户使能该功能,同时通过shell白名单对应用程序状态进行管理,确保系统应用安全。
附图说明
24.图1为本发明的系统设计架构图。
具体实施方式
25.为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.实施例一
27.请参阅图1,本发明提供一种技术方案:一种安全的实时shell的设计方法,该专利方法主要包括内核iros用户实时优先级调度控制设计、shell进程优先级运行控制设计两大关键步骤。主要方案步骤流程如下:
28.内核iros用户实时优先级调度控制方法
‑‑
实现步骤:
29.i.基于机器人iros-rlinux实时操作系统内核代码进行改造;
30.ii.改造内核进程调度部分代码,在进程优先级系统调用函数代码中,增加iros用户调度权限校验代码模块;
31.iii.增加校验代码模块1:校验iros用户的uid及用户名称是否一致iv.增加校验代码模块2:校验机器人节点应用程序是否是iros用户所属;
32.v.校验通过后,方可允许机器人节点应用程序在iros用户下执行。
33.shell进程优先级运行控制—实现步骤
34.i.shell白名单运行参数设定功能。该功能由root管理员通过编辑shell白名单配置文件进行设定,shell白名单权限内容包括:机器人节点应用程序名称、实时优先级、cpu
运行编号等参数信息。
35.ii.shell白名单加载功能,在shell启动时,读取shell白名单配置文件,并加载到内存中。
36.iii.校验应用程序的所属用户是否为iros用户,并校验节点应用程序所使用的共享库是否为iros共享库,确保为机器人节点应用程序。
37.iv.进程实时优先级设定、进程cpu亲和性设定功能。shell命令处理器在运行应用程序前,首先创建一个子进程,根据shell白名单优先级参数对该子进程优先级进行设定,然后对该进程cpu亲和性进行设定,最后在该子进程中加载应用程序,该应用程序的进程号即是该子进程,即具备了设定的优先级及cpu亲和性。
38.v.对于shell白名单中未设定的节点应用程序,shell启动应用程序时将默认指定一个实时优先级,cpu亲和性默认为禁用状态,确保所有在实时shell下启动运行的应用程序均以实时优先级状态运行。
39.实施例二
40.在实施例一的基础上,为了实现一种安全的实时shell的设计方法专利,该专利方法包括内核iros用户实时优先级调度控制方法、shell进程优先级控制方法两大关键技术。
41.该发明包括内核iros用户实时优先级调度控制方法,通过设计改造linux内核调度代码,在内核优先级设定的代码基础上,增加iros用户调度权限校验功能,校验通过后,方可允许机器人节点应用程序在iros用户下运行。
42.具备iros用户调度权限校验功能,该校验功能包括:校验iros用户的uid及用户名称是否一致,校验机器人节点应用程序是否iros用户所属文件。
43.该发明包括shell进程优先级运行控制功能。该功能包括:shell白名单运行参数设定、shell白名单运行控制两部分功能。
44.该功能包括shell白名单运行参数设定功能,该功能由root管理员通过编辑shell白名单配置文件进行设定,shell白名单权限内容包括:机器人节点应用程序名称、实时优先级、cpu运行编号等参数信息。
45.该功能包括shell白名单运行控制功能,该功能包括:shell白名单加载、iros机器人节点应用程序校验、进程实时优先级设定、进程cpu亲和性设定等功能。
46.该功能包括shell白名单加载功能,在shell启动时,读取shell白名单配置文件,并加载到内存中。
47.该功能包括iros机器人节点应用程序校验,校验应用程序的所属用户是否为iros用户,并校验节点应用程序所使用的共享库是否为iros共享库。
48.该功能包括进程实时优先级设定、进程cpu亲和性设定功能。shell在运行应用程序前,首先建立一个子进程,根据shell白名单优先级参数对该子进程优先级进行设定,然后对该进程cpu亲和性进行设定,最后在该子进程中加载应用程序,该应用程序的进程号即是该子进程,即具备了设定的优先级及cpu亲和性。
49.对于shell白名单中未添加设定的应用程序,shell启动应用程序时将默认指定一个实时优先级,同时cpu亲和性默认为禁用状态,确保所有在实时shell下启动运行的应用程序均以实时优先级模式运行,保证系统程序的实时性。
50.实施例三
51.在实施例二的基础上,为了实现一种安全的实时shell的设计方法,该发明应用于机器人操作系统领域,通过对shell实时化设计改造及内核进程优先级控制设计改造,实现一种实时的shell命令处理器,该shell命令处理器实现机器人iros用户以实时优先级模式运行机器人节点应用程序,并可通过shell白名单管控机器人节点应用程序的优先级,以及设置程序运行的cpu编号,确保系统实时、高效、安全运行。该发明设计方法包括三大过程,一是设计内核调度代码,针对iros普通用户,增加优先级调度权限校验控制,使iros用户具备优先级设置功能权限,其它普通用户均无该权限;二是管理员设定shell白名单参数,shell白名单配置文件包括机器人节点应用程序名称、优先级、cpu运行编号;三是设计改造shell代码,分别实现shell白名单加载、iros用户程序校验、实时优先级设定、cpu亲和性设定等功能。首先shell启动后读取shell白名单配置文件并加载到内存中,然后用户在shell命令行中运行机器人节点应用程序,当shell接收到应用程序命令后,首先校验应用程序的所属用户,确认属主为iros用户后,在shell中建立子进程,并根据shell白名单优先级参数对该子进程优先级进行设定,然后对子进程cpu亲和性进行设置,最后在该子进程中加载并启动机器人节点应用程序,该应用程序的进程号即是该子进程,即具备了设定的优先级及cpu亲和性。对于shell白名单中未添加设定的应用程序,shell指定一个默认的实时优先级,cpu亲和性默认为禁用状态,确保在shell中运行的应用程序均以实时优先级模式运行,保证应用程序的实时性。
52.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1