SELinux
プロセスごとにファイルシステムの各種リソースへのアクセス権を細かく制限するための仕組み。ハードニングの考え方に依るものであり、権限を制限することで脆弱性の発現条件やその影響範囲を最小限にすることが狙いで使われることが多い。 有効に使えれば便利なんだけど、ISUCONでは特に嬉しい場面がないので、disableにしておくほうが競技的には有利。Ubuntuではデフォルトで入っていないはずだけど、一応。 code:check.sh
# とりあえず有効かどうかチェック
$ sudo getenforce
Enforcing # 有効だった場合
# 細かい状態のチェック
$ sudo sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
有効だったらこのように無効化する。
code:disable.sh
# rootでやる
sudo -i
# 設定ファイルのSELINUX=enforcedをdisabledに変える
perl -i -pe 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# rebootして適用する
sync && sync && sync && reboot