shell升级完整记录
[root@localhost bash-4.3.30]# cat Makefile |grep prefix
prefix = /usr/local
exec_prefix = ${prefix}
datarootdir = ${prefix}/share
bindir = ${exec_prefix}/bin
libdir = ${exec_prefix}/lib
includedir = ${prefix}/include
prefix=${prefix} exec_prefix=${exec_prefix} \
[root@localhost bash-4.3.30]# whereis bash
bash: /usr/bin/bash /usr/local/bin/bash /usr/share/man/man1/bash.1.gz
[root@localhost bash-4.3.30]# /usr/bin/bas
base64 basename bash bashbug bashbug-32
[root@localhost bash-4.3.30]# /usr/bin/bash --version
GNU bash, version 4.2.45(1)-release (i686-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.
[root@localhost bash-4.3.30]# /usr/local/bin/bash --version
GNU bash, version 4.3.30(1)-release (i686-pc-linux-gnu)
Copyright (C) 2013 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.
[root@localhost bash-4.3.30]#
库文件查询
[root@localhost bash-4.3.30]# ldd bash
linux-gate.so.1 => (0xb779a000)
libtinfo.so.5 => /lib/libtinfo.so.5 (0x4e41c000)
libdl.so.2 => /lib/libdl.so.2 (0x4c65c000)
libc.so.6 => /lib/libc.so.6 (0x4c49c000)
/lib/ld-linux.so.2 (0x4c473000)
[root@localhost bash-4.3.30]#
[root@localhost shell_up_zhb]# chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
[root@localhost shell_up_zhb]# lsof /bin/sh
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 8522 root txt REG 253,1 917564 11014242 /usr/bin/bash
[root@localhost shell_up_zhb]# lsof /bin/bash
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 8522 root txt REG 253,1 917564 11014242 /usr/bin/bash
sh 8914 root txt REG 253,1 917564 11014242 /usr/bin/bash
[root@localhost shell_up_zhb]#
1以前的思路是拷贝升级后的可执行文件,库,配置文件(如果有),开始按此思路升级,失败,并且没法登陆。
2 后来发现chsh命令可以设置开机使用的sh,考虑升级登陆后的sh,开机使用另一个,升级成功后在,切换升级另一个。后来发现,系统实际上只用一个sh,次思路不对
3 bash升级只是为了修补心血漏洞,估计只需升级可执行文件即可。通过lsof发现,实际上使用的是/usr/bin/sh的shell,/bin/sh其实是连接,那就只拷贝/usr/bin/sh,/usr/bin/bash,拷贝时发现在使用,那就先复制在拷贝。
4 拷贝成功后,用测试例子试一下,发现可以
[NTP-Fedora20 shell_up_zhb]#env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
[NTP-Fedora20 shell_up_zhb]#env x='() { :;}; echo vulnerable' ./bash -c "echo this is a test"
this is a test
5 reboot发现成功
shell升级完整记录的更多相关文章
- DS4700磁盘阵列的控制器微码升级操作记录(收录百度文库)
DS4700磁盘阵列的控制器微码升级操作记录 项目介绍: 于10年3月,XX地市区/州XX分公司相继反映生产读取数据速度较之前变得非常慢,表现在:日常报表抽取数据速度明显变慢,客户打开前台页面速度 ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(3)
继下面三篇文章完成了kvm虚拟化管理平台webvirtmgr环境的部署安装:kvm虚拟化管理平台WebVirtMgr部署-虚拟化环境安装-完整记录(0)kvm虚拟化管理平台WebVirtMgr部署-完 ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(2)
继上一篇kvm虚拟化管理平台WebVirtMgr部署-完整记录(1),接下来说说WebVirtMgr的日常配置:添加宿主机,创建虚机,磁盘扩容,快照等具体操作记录如下: 一.配置宿主机1.登录WebV ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)
公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求.当KVM ...
- Centos7.2 下DNS+NamedManager高可用部署方案完整记录
Centos7.2 下DNS+NamedManager高可用部署方案完整记录 之前说到了NamedManager单机版的配置,下面说下DNS+NamedManager双机高可用的配置方案: 1)机器环 ...
- 部署gerrit环境完整记录【转】
开发同事提议在线上部署一套gerrit代码审核环境,废话不多说,部署gerrit的操作记录如下:提前安装好java环境,mysql环境,nginx环境测试系统:centos6.5下载下面三个包,放到/ ...
- collection v1.3.1升级全记录
collection v1.3.1升级全记录 项目地址: https://github.com/jianfengye/collection 欢迎star. collection 手册地址: http: ...
- Centos 5.x 升级 python2.7,安装setuptools、mysqldb 完整记录
最近由于有个工作任务需要搭个虚拟机环境,但是环境是搭建在内网,无法直接联网,很多软件都不能直接yum安装, 安装过程实在十分不顺利,在此留个记录给有需要的朋友. 环境是 CentOS 5.7 x6 ...
- [原创]CI持续集成系统环境---部署Jenkins完整记录
Jenkins通过脚本任务触发,实现代码的自动化分发,是CI持续化集成环境中不可缺少的一个环节. 下面对Jenkins环境的部署做一记录. ------------------------------ ...
随机推荐
- PHP随机函数rand()、mt_rand()、srand()、mt_srand() 的区别
1.生成随机数发生器种子的函数 srand(). mt_srand() 区别:mt_srand() 比 srand() 更好的生成随机数发生器种子 定义: void srand([int $seed ...
- [转帖]Portainer -- Docker可视化管理工具的安装配置及使用
原贴地址:https://blog.csdn.net/A632189007/article/details/78779920 Portainer介绍 Portainer是Docker的图形化管理工具, ...
- html5 & input & accept attribute
html5 & input & accept attribute html input accept attribute https://www.w3schools.com/TAGS/ ...
- Eclipse中项目上有小红叉,但就是找不到报错文件(总结,持续更新)
1.jdk问题解决:jdk配置参考:http://blog.csdn.net/superit401/article/details/72847110 2.build path:项目右键——Build ...
- CentOS7下安装Scrapy
更新yum[root@localhost ~]# yum -y update1安装gcc及扩展包[root@localhost ~]# yum install gcc libffi-devel pyt ...
- Eclipse构建项目时"An internal error occurred during: "Building workspace". Java heap space"
出现这个错误,eclipse 会卡死,以及自动退出 解决方案 工程根目录 找到项目中.project文件 删除这两处 第一处: <buildCommand> < ...
- 洛谷 P1852 [国家集训队]跳跳棋 解题报告
P1852 [国家集训队]跳跳棋 题目描述 跳跳棋是在一条数轴上进行的.棋子只能摆在整点上.每个点不能摆超过一个棋子. 我们用跳跳棋来做一个简单的游戏:棋盘上有3颗棋子,分别在\(a\),\(b\), ...
- 3: $.ajax()方法详解
1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如 ...
- token的理解
今天学习了token,它的英文意思是令牌的意思.在我理解即像通行证一样,在用户登录成功系统后,会为这个用户颁发一个token,这样它去其他系统都免登录,因为有了这个令牌. token的生成我们可以用U ...
- 解决VMware虚拟机网络时长中断的问题
1. 操作环境 VMware VMware® Workstation 14 Pro Windows Win7旗舰版 2. 操作过程 VMware虚拟机在使用一段时间后,经常会出现时常断网的情况,而 ...