首页 >>  正文

shell常用指令

来源:baiyundou.net   日期:2024-09-21

IT之家 9 月 19 日消息,近年来,Rust 重构的热潮席卷整个开发圈,Rust 在安全性、高效性和可维护性等方面都有一定优势,包括 Windows、Linux 内核也带来了 Rust 支持。

统信软件今日宣布,统信 UOS 服务器版将于不久后推出 Rust 版 Bash,名为 utshell,旨在突破传统 Shell 所面临的安全局限。

IT之家注:Bash 是一种广泛应用于各种 Unix 和 Linux 系统的 Shell 程序,是 Bourne shell 的后继兼容版本与开放源代码版本。

统信软件表示,在 Bash 中,有一些命令没有对参数进行防篡改检查,因而给系统带来了安全风险。

例如,alias 命令允许用户为其他命令或命令序列创建别名,然而它并未对参数进行防篡改检查,进而导致未经检查的参数可能会被利用来执行恶意代码或进行未经授权的操作。

为了应对上述问题,utshell 对 alias 命令的规则进行了明确界定,目的在于确保使用的便捷性,并且能够有效地防止命令被恶意篡改,从而限制恶意行为或误操作的发生。

  • 当别名和 $PATH 下可执行文件重名时,只允许别名和可执行文件一致。例如,如果我们想要创建一个别名“ls”,那么与之对应的可执行命令也必须是“ls”,且允许在命令中添加参数,以便用户可以根据自己的需求对命令进行个性化制定。

  • 别名不能与其他别名、函数名称发生重名,以避免在使用别名时出现二义性,进而更好地确保操作系统能够正确理解用户的指令,避免混淆和误解。

不仅仅限于 alias 命令,utshell 还对所有命令进行了检查,并对那些可能受到恶意篡改威胁的命令进行了规则的优化处理,如 hash 和 function 命令等。

在 Bash 中,mapfile 命令是用于对数组进行赋值的工具,但它并没有对数组的越界情况进行有效的检查和控制。当用户输入的参数数量超过数组容量时,溢出部分可能会被误当作命令来执行,从而引发潜在的安全隐患。

为了避免上述情况的发生,utshell 采取了对数组边界的判断措施。例如,当传入的参数过多时,自动截断或给出警示等,从而保证只有合法、预期的参数才能被传递给 mapfile 命令。

此外,通过使用 Rust 重构 Bash,utshell 不仅能继承 Rust 的“源生”安全性,还能在代码层面实现更高的自主可控性,从而提升系统的安全性和可靠性。

6 月初,统信 UOS 服务器版 V20(1060)已集成了 utshell 的部分功能,为即将发布的完整版 utshell 提供了初步体验。IT之家附下载地址:

deepin 社区地址:

https://github.com/linuxdeepin/utshell

欧拉社区地址:

https://gitee.com/openeuler/utshell

龙蜥社区地址:

https://gitee.com/anolis/utshell

","gnid":"9b80c77066eec6e39","img_data":[{"flag":2,"img":[{"desc":"","height":"608","title":"","url":"https://p0.ssl.img.360kuai.com/t010d628ec60b0a0806.jpg","width":"1080"},{"desc":"","height":"608","title":"","url":"https://p0.ssl.img.360kuai.com/t0110a398adb1339b88.jpg","width":"1080"},{"desc":"","height":"608","title":"","url":"https://p0.ssl.img.360kuai.com/t01db58fc8ab01bf4f3.jpg","width":"1080"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1695118884000,"pure":"","rawurl":"http://zm.news.so.com/4075f03cc0bbdac1714ff8e38afed7c0","redirect":0,"rptid":"86051489ff1aeb6b","rss_ext":[],"s":"t","src":"IT之家","tag":[{"clk":"ktechnology_1:linux","k":"linux","u":""}],"title":"统信 UOS 将推 Rust 版 Bash 命令行工具 utshell

郝贾岭1364Linux简答题:写出以下各项操作的shell命令. -
喻迹莉19684513077 ______ chkconfig 配置开机启动服务 mount 挂载 grep 过滤 tar 打包 sort 排序 ln 建立连接(软或硬) rpm 包管理程序 useradd – 添加用户 ls 列出目录下内容

郝贾岭1364下面哪个命令是用来定义shell的全局变量 -
喻迹莉19684513077 ______ 定义shell的全局变量用export命令. 它可以用于导出全局变量 .在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器).它类似于DOS下的command.com和后来的cmd.exe.它接收用户命令,...

郝贾岭1364系统上的命令shell
喻迹莉19684513077 ______ 还有Rundll32.exe配合DLL文件的Shell指令 如: 命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl 功能: 显示“控制面板-辅助选项-键盘”选项视窗

郝贾岭1364hadoop常用shell命令怎么用 -
喻迹莉19684513077 ______ 一、常用的hadoop命令1、hadoop的fs命令#查看hadoop所有的fs命令1 hadoop fs#上传文件(put与copyFromLocal都是上传命令)12 hadoop fs -put jdk-7u55-linux-i586.tar.gz hdfs://hucc01:9000/jdk hadoop fs -copyFromLocal jdk-7u55-linux-i586....

郝贾岭1364shell的关键字与内建命令 -
喻迹莉19684513077 ______ 很简单,命令实际上都是可执行文件,是可运行的.比如ls ,find等常用命令 而关键字主要起逻辑判断的作用

郝贾岭1364shell语法中的test命令用法要注意什么?
喻迹莉19684513077 ______ 编辑特别推荐: Linuxfind命令详解 Linux之查看文件夹大小 shell如何自动输入密码 test命令用法.功能:检查文件和比较值 1)判断表达式 if test (表达式为真) if test !表...

郝贾岭1364怎么查看当前shell -
喻迹莉19684513077 ______ 1、实时查看当前进程中使用的shell种类:推荐 代码如下:ps | grep $$ | awk '{print $4}' (注:$$表示shell的进程号)2、最常用的查看shell的命令,但不能实时反映当前shell 代码如下:$ echo $SHELL3、更简洁,但并不是所有shell都支持 代码...

郝贾岭1364求linux常用命令的英文单词缩写,以方便记忆 -
喻迹莉19684513077 ______ 哪有缩写的,建议你下面的方面记忆:(一般上如果知道这个重要格式的话,学起上来不用我说了) linux中常用命令格式 Linux提供了几百条命令,虽然这些命令的功能不同,但它们的使用方式和规则都是统一的. Linux命令的一般格式是: ...

郝贾岭1364shell命令是什么 -
喻迹莉19684513077 ______ 在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器).它类似于DOS下的command.com.它接收用户命令,然后调用相应的应用程序.同时它又是一种程序设计语言.作为命令语言,它交互式...

郝贾岭1364请问Linux Shell编程的特殊变量有哪些
喻迹莉19684513077 ______ shell的特殊变量包括它的位置和一些系统变量.常用的一部分列表如下: 常用位置变量: $0 shell命令名称(存储shell脚本文件的文件名) $# 命令行参数的个数 $1,$2, ...... shell命令行的第一,第二,第......个参数 $$ 此运行此shell命令的进程ID 常用系统变量: $HOME 用户的主目录 $USER 用户名称 $GROUP 用户所属组名 $PATH 默认的搜索路径 $HOSTNAME 主机名称 $TZ 时区 $MAIL 存放邮件的路径名

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024