bash更新到5.X版本

很多人会好奇为什么更新bash,centos7默认系统的是4.4.X版本可以使用一下命令查看

[root@feel ~]# bash –version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

bash是什么? 一下来源百科

BashUnix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4都将它作为默认shell。Bash是Bourne shell的后继兼容版本与开放源代码版本,它的名称来自Bourne shell(sh)的一个双关语(Bourne again / born again):Bourne-Again SHell。Bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取命令,这样的文件称为脚本。和其他Unix shell 一样,它支持文件名替换(通配符匹配)、管道here文档、命令替换、变量,以及条件判断和循环遍历的结构控制语句。包括关键字、语法在内的基本特性全部是从sh借鉴过来的。其他特性,例如历史命令,是从cshksh借鉴而来。总的来说,Bash虽然是一个满足POSIX规范的shell,但有很多扩展。一个名为Shellshock的安全漏洞在2014年9月初被发现,并迅速导致互联网上的一系列攻击。这个漏洞可追溯到1989年发布的1.03版本。

bash的那些版本有漏洞?

4.3以前的版本都有漏洞影响

bash更新方法

安装编译所需的gcc编译器

yum -y install gcc gcc-c++ kernel-devel //安装gcc、c++编译器以及内核文件

下载bash的最新版

http://ftp.gnu.org/gnu/bash/

wget http://ftp.gnu.org/gnu/bash/bash-5.0.tar.gz

解压安装

tar zxvf bash-5.0.tar.gz
cd bash-5.0
./configure && make && make install

安装后不能看到新版本信息的话可以做个软连

mv /bin/bash /bin/bash.bak
ln -s /usr/local/bin/bash /bin/bash

执行下bash –version 可以看到新版本了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注