きっと3日坊主

Every day is day 3.

ラズパイはSELinuxが(デフォルトでは)使えない

TL;DR

ラズパイのカーネルSELinuxの設定をせずにコンパイルされている

SELinuxを使いたければ自力でコンパイルせい

環境

カーネル

$ uname -a
Linux centos-rpi3 4.4.15-v7+ #897 SMP Tue Jul 12 18:42:55 BST 2016 armv7l armv7l armv7l GNU/Linux

概要

外部公開を予定しているラズパイのSELinuxの設定をしようと何気なくgetenforceしたところ、

$ getenforce                    
Disabled

デフォルトでDisabledだと…!(ふつうCentOSではガッツリenforce)

いやな予感がする。

とりあえずpermissiveにしようと/etc/selinux/configを編集

# This file controls the state of SELinux on the system.
# 1= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive #→ disabledになっていたので変更

で、再起動してみたものの…

$ getenforce                    
Disabled

なんでッ!

disabledからpermissiveに変更したときに実行されるはずのラベリングも走っている様子がない。。

/.autorelabelというファイルを作っておけば再起動時にラベリングしてくれるらしいので試してみるが…やはり応答なし。

setenforceはdisabledのときは(たしか)使えないため

$ setenforce 0
setenforce: SELinux is disabled

(^o^)…

SELinuxを触るのは初めてなのでなにか見落としが…?と思ったがとくにそういう気配もなく。

調べていると、こんな記事を発見

raspberrypi.stackexchange.com

SELinux requires kernel support, and the default Raspberry Pi kernel does not include it.

カーネルがサポートしてない(╯•﹏•╰)

SELinuxしたければ自分でカーネルコンパイルして入れなければならないとのこと。

Raspberry Pi • View topic - [Guide] SELinux {Get/Install/Setup}

ここに詳しい設定・コンパイルの仕方が書いてあるので、まぁヒマができたらやってみようかなぁ…とりあえず今はいいや(^o^