昨日の2014年09月25日(木)
「bash」シェルに重大な脆弱性、主要Linuxでパッチが公開 - ITmedia
が発表されてLinux界隈は大騒ぎです。

Fedora20では2014年09月26日(金)時点でもうすでに
sudo yum update bash
により
bash --version
GNU bash, バージョン 4.2.47(1)-release (x86_64-redhat-linux-gnu)
が出ています。

rpm -q --changelog bash | head
とコマンドを打つと

* 水 9月 24 2014 Ondrej Oprala - Inhibit code injection - patch by Stephane Chazelas

と出ており修正は入ってる模様。
(24日なのは時差だと思われる。

ですが、bashシェルの修正パッチは不完全、脆弱性突く攻撃の報告も - ITmedia

とまだ脆弱性があるみたいです。

放っておけばアップデートが来ると思いますが
サーバーとして使っている場合は話が別です。

bashのパッチを当てて自分でビルドするってのもありなんですが、
少々面倒だしこれから来るパッチを当てても直ってないってこともあり得ると思います。

なのでtcshをインストールしてログインシェルとしておくという手がありますので
紹介したいと思います。

ちなみに業務スクリプトをbashで作っている場合はtcshに変えると動かないと思いますので
そういう方はパッチあててくださいな。

ちなみにzshを使ってるから大丈夫だぉって方も要注意です。
zshはbashからの拡張シェルですので。


tcsh


tcshインストール


まずはtcshをインストールします。


sudo yum install tcsh


ログインシェルを変える



次にログインシェルをtcshに変えます。
コマンドは以下を実行。


chsh -s /bin/tcsh


とすれば

hogehoeのシェルを変更します。


と返ってくるはずです。

rootのシェルを変えるには

sudo chsh -s /bin/tcsh root

で良いと思うのですがrootのシェルを変えてFedoraが起動しなくなるのでは…
と心配なので私の方では試していません。
rootのシェルこそ変える必要があるのですが。
sudoでしかroot権限を使わないから大丈夫なのかな?
よくわかりません。

仮想化上でシステムを作ってから動作チェックしてみてください。


ログインシェルの確認



シェルを変えたら一度ログアウトしましょう。
GNOMEを使っていたらGNOMEからのログアウトを、
端末だけなら使っている端末全てログアウトしてから
ログインし直しましょう。


echo $SHELL

と打ったら

/bin/tcsh

と表示されたらtcshに変わってる証拠です。

これでとりあえずは安心だと思うのですが、
まだまだコード修正が来ると思うので情報を追いかけておいてください。


ちなみにbashに戻したければ、

chsh -s /bin/bash

と打ちます。


さて、それでは今日のところはこの辺で。
久々に記事書いたな…