2018年1月15日月曜日

【ワンライナー】世界一簡単なSELinuxの無効化

【ワンライナー】世界一簡単なSELinuxの無効化

早速書くことがないので、SELinuxの無効化のワンライナーでも書いてお茶を濁します。

test -r /etc/selinux/config && sudo su -c '(grep -q ^SELINUX=enforcing /etc/selinux/config && { sed "s/^\(SELINUX=\)\(enforcing\)/$(date +\#\ \%Y\%m\%d\ \#)\1\2\n\1disabled/g" $_ -i_$(date +\%Y\%m\%d_\%H\%M\%S).backup ; setenforce 0 ; })'

動作としては以下。

  • 何かしらのスクリプトに組み込む際、複数ディストリビューションに対応するため、最初に/etc/selinux/configの存在確認を行う。
  • /etc/selinux/configファイルにSELINUX=enforcingもしくはSELINUX=permissiveの記載があれば、
    • /etc/selinux/config_YYYYmmdd_HHMMSS.backupとして、/etc/selinux/configファイルのバックアップを取得する。
    • SELINUX=enforcingもしくはSELINUX=permissiveをコメントアウトし、SELINUX=disabledを追記する。
  • SELinuxが起動している場合、Permissiveモードに変更する。