rm -rf /*やっちまった件の対策

Arch Linux

約 6 分で読めます。



この記事でrm -rf /*をやってしまったことを晒しました。



これは相当ショックで、対策を立てないとダメだろうということで、いくつか対策しました。
それをお話します。

rootユーザー時の背景色を真っ赤にする

rootユーザーになったとき、緊張感を高めるために背景色を赤にしました。



当然ですが、通常ユーザー時は赤くなりません。


動画を撮ってみました。
rootユーザーのときだけ赤くなっているのがわかります。



これは/etc/bash.bashrcで実現しています。
uidが0(=root)のときは背景色をA00000にして赤くし、それ以外なら初期値1B2224にしています。
 1B2224は自分の好きなRGB色でOK。
  たまたまManjaro Linuxでの初期値が1B2224だったので、合わせただけ。

if [ -n "$SSH_TTY" ]; then
	if [ $UID -eq 0 ]; then
		echo -e "\033]11;#A00000\a"
	else
		echo -e "\033]11;#1B2224\a"
	fi
fi



また、suでの作業が終わってもとのユーザーに戻ったとき、赤から戻すため、/etc/bash.bashrcにてsuをaliasとシェル関数で動作変更しています。
 こちらの記事を参考にいたしました。感謝です。

mysu() {
	if [ 0 -eq $# ];
	then
		\su;. /etc/bash.bashrc
	else
		\su "$*";. /etc/bash.bashrc
	fi
}

alias su='mysu'

sudo -sを禁止する

rootに入るときによくやってしまっているsudo -sは禁止するようにしました。

/etc/bash.bashrcで。

mysudo() {
	if [ 0 -eq $# ];
	then
		\sudo
	else
		if [ "-s" == $1 ];
		then
			echo "This option is not allowed."
		else
			\sudo $@
		fi
	fi
}

alias sudo='mysudo'

sudoでrmさせないようにする

sudoでrmすると以下の通り「できないよ、ごめんよ」と言われるようにしました。

$ sudo rm -rf /
[sudo] password for yasu: 
Sorry, user yasu is not allowed to execute '/usr/sbin/rm -rf /' as root on nextcloud-server.



これは/etc/sudoersに以下の通り記載することで対応しました。
通常ですと4つめのALLで終わることが多いと思いますが、!/usr/bin/rmと記載することで、/usr/bin/rm以外はOK、としました。

yasu ALL=(ALL:ALL) ALL, !/usr/bin/rm

sudoで実行可能なファイルの置き場所を限定する

これはあまり効果が無いかもしれませんが、やらないよりはマシだろうと。
/etc/sudoersにて↓の設定がコメントアウトされているので、コメントを外しました。

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

sudo時にインパクトのある警告を毎回表示させるようにする

↑の画像にもある通り、sudo時にそれなりに目立つ警告を出すようにしました。
これはこちらの記事に説明があったのをほぼそのまま使わせていただきました。ありがたい。
 Link

/etc/sudoersに以下のようにして毎回/etc/sudo_lecture.txtの内容を表示させるようにしました。
 毎回ではなくて、ログイン後の初回だけなのですが。

Defaults lecture=always
Defaults lecture_file=/etc/sudo_lecture.txt



/etc/sudo_lecture.txtは↑のLinkからダウンロードしてもらうのが良いと思います。
 バイナリデータが含まれ、テキストでの提供が難しいと思ったので。

【番外編】visudoで使うエディターをvimにする

初期状態ではviが指定されていますが、さすがにきつかったのでvimにしました。
/etc/sudoersにて。

Defaults editor=/usr/bin/vim

終わりに

いかがでしたか。

今後なにか別のヒヤリハット案件があれば、改良していくつもりです!

Comments

タイトルとURLをコピーしました