linux(centos)Imagemagick升級指令碼

來源:互聯網
上載者:User

5月3日,影像處理軟體ImageMagick就被公布出一個嚴重的0day漏洞(CVE-2016-3714),攻擊者通過此漏洞可執行任意命令,最終竊取重要訊息取得伺服器控制權。

詳細資料參考:https://www.imagemagick.org/discourse-server/viewtopic.php?f=4&t=29588
該漏洞在6.9.3-10、7.0.1-1及以上版本得到修複,下面來看看OneinStack或《lnmp一鍵安裝包》(最新下載OneinStack預設已經升級,無此漏洞)之前版本怎麼來通過升級修複這個漏洞,如下(2016-05-31更新至6.9.4-5):

cd /root/oneinstack   #進入oneinstack工具目錄

#cd /root/lnmp  #如果安裝使用的是lnmp

tmux   #進入tmux模式下,防止斷網導致升級中斷

wget http://mirrors.linuxeye.com/scripts/update_ImageMagick.sh  #下載升級指令碼

chmod +x update_ImageMagick.sh   #賦權許可權

./update_ImageMagick.sh   #升級,註:請勿sh或bash update_ImageMagick.sh方式執行指令碼
如下圖表示升級成功:

指令碼內容如下(update_ImageMagick.sh):

 代碼如下 複製代碼

#!/bin/bash
# Author:  yeho <lj2007331 AT gmail.com>
#
# Notes: OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+
#
# Project home page:
#       http://oneinstack.com
#       https://github.com/lj2007331/oneinstack
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
clear
printf "
#######################################################################
#       OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+      #
#                  upgrade ImageMagick for OneinStack                 #
#       For more information please visit http://oneinstack.com       #
#######################################################################
"
. ./options.conf
. ./include/color.sh
. ./include/download.sh
ImageMagick_version=6.9.4-1
imagick_version=3.4.1
if [ -e "/usr/local/imagemagick/bin/convert" ];then
    OLD_ImageMagick_version=`/usr/local/imagemagick/bin/Magick-config --version | awk '{print $1}'`
else
    echo "${CWARNING}You do not have to install Imagemagick! ${CEND}"
    exit 1
fi
Stop_ImageMagick() {
if [ -e "$php_install_dir/etc/php.d/ext-imagick.ini" ];then
    /bin/mv $php_install_dir/etc/php.d/ext-imagick.ini{,_bk}
elif [ ! -e "$php_install_dir/etc/php.d/ext-imagick.ini" -a -n "`grep imagick.so $php_install_dir/etc/php.ini`" ];then
    sed -i 's@extension.*imagick.so.*@;&@' $php_install_dir/etc/php.ini
fi
[ -e "$apache_install_dir/conf/httpd.conf" ] && service httpd restart || service php-fpm restart
/bin/mv /usr/local/imagemagick{,_`date +"%Y%m%d_%H%M%S"`}
}
Start_ImageMagick() {
if [ -e "$php_install_dir/etc/php.d/ext-imagick.ini_bk" ];then
    /bin/mv $php_install_dir/etc/php.d/ext-imagick.ini{_bk,}
elif [ ! -e "$php_install_dir/etc/php.d/ext-imagick.ini" -a -n "`grep imagick.so $php_install_dir/etc/php.ini`" ];then
    sed -i 's@;extension.*imagick.so.*@extension=imagick.so@' /usr/local/php/etc/php.ini
fi
[ -e "$apache_install_dir/conf/httpd.conf" ] && service httpd restart || service php-fpm restart
}
Check_ImageMagick() {
if [ -n "`/usr/local/imagemagick/bin/convert -version | grep "$ImageMagick_version"`" ];then
    echo "You have ${CMSG}successfully${CEND} upgrade from ${CWARNING}$OLD_ImageMagick_version${CEND} to ${CWARNING}$ImageMagick_version${CEND}"
else
    echo "${CWARNING}Imagemagick upgrade failed! ${CEND}"
fi
}
Install_ImageMagick() {
cd $oneinstack_dir/src
src_url=http://mirrors.linuxeye.com/oneinstack/src/ImageMagick-$ImageMagick_version.tar.gz && Download_src
tar xzf ImageMagick-$ImageMagick_version.tar.gz
cd ImageMagick-$ImageMagick_version
./configure --prefix=/usr/local/imagemagick --enable-shared --enable-static
make && make install
cd ..
rm -rf ImageMagick-$ImageMagick_version
cd ..
}
Install_php-imagick() {
cd $oneinstack_dir/src
if [ -e "$php_install_dir/bin/phpize" ];then
    if [ "`$php_install_dir/bin/php -r 'echo PHP_VERSION;' | awk -F. '{print $1"."$2}'`" == '5.3' ];then
        src_url=http://mirrors.linuxeye.com/oneinstack/src/imagick-3.3.0.tgz && Download_src
        tar xzf imagick-3.3.0.tgz
        cd imagick-3.3.0
    else
        src_url=http://mirrors.linuxeye.com/oneinstack/src/imagick-$imagick_version.tgz && Download_src
        tar xzf imagick-$imagick_version.tgz
        cd imagick-$imagick_version
    fi
    make clean
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
    $php_install_dir/bin/phpize
    ./configure --with-php-config=$php_install_dir/bin/php-config --with-imagick=/usr/local/imagemagick
    make && make install
    cd ..
    rm -rf imagick-$imagick_version
fi
cd ..
}
Stop_ImageMagick
Install_ImageMagick
Install_php-imagick
Start_ImageMagick
Check_ImageMagick

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.