Raspberry Pi 4のFedoraでSELinuxを無効にするには

先日、USBストレージにインストールしたFeodra 37 ServerをRaspberry Pi 4で起動してみました。

Raspberry Pi 4でFedora 37 Serverを起動してみました
Raspberry Pi 4で。 64ビット版Fedora 37 Serverを起動してみました。 起動用microSDカードの作成...

インターネットからアクセス可能なサーバとして使用する場合。

セキュリティ強化の面から、SELinuxは有効が望ましいと考えています。

しかし、Fedoraといいますか、RHEL系はアプリが思った通りに動かない?という状況で、SELinuxが原因というケースがあります。

そのような理由から、SELinuxを無効にしてからアプリを動かしたい状況も確実に御座います。

既定でSELinuxは有効ですが、無効にする手順を記録させて頂こうと思います。


Fedora LinuxのSELinux設定手順

公式資料はこちらのようです。

https://docs.fedoraproject.org/en-US/quick-docs/changing-selinux-states-and-modes/

SELinuxの状態確認

sestatus

まずは、現在のSELinuxの状態を確認していました。

既定では有効「enabled」のようです。

またモードは「enforcing」になっています。

何かアプリが不正な動作とみなされると、即座に遮断されてしまう動作モードです。

SELinuxの無効化

SELinuxの設定ファイルを変更します。

sudo vi /etc/selinux/config
SELINUX=enforcing
# 行を削除
SELINUX=disabled
# 行を追加
# 保存後、再起動
sudo reboot

変更を反映するため、再起動します。

再起動後、状態を確認しますと。このような感じでステータスがDisabledに変わりました。


コマンドでconfigファイルを変更

※23.1.14追記

毎回エディタでconfigファイルを書き換えるのも大変ですので。

コマンドで確認・変更する手順を記録しようとおもいます。

configの該当設定の確認

# 現在の状態確認
getenforce
# 設定の確認
grep ^SELINUX= /etc/selinux/config

configを無効に設定

# SELinux無効化
# 該当行が書き換わっているか確認
sed -e 's/^SELINUX=[a-z]*/SELINUX=disabled/g' /etc/selinux/config
# 変更反映
sudo sed -i -e 's/^SELINUX=[a-z]*/SELINUX=disabled/g' /etc/selinux/config
# 設定の確認
grep ^SELINUX= /etc/selinux/config
# 再起動して設定変更を反映
sudo reboot
# 現在の状態確認
getenforce

configを有効に設定

# SELinux有効化
# 該当行が書き換わっているか確認
sed -e 's/^SELINUX=[a-z]*/SELINUX=enforcing/g' /etc/selinux/config
# 変更反映
sudo sed -i -e 's/^SELINUX=[a-z]*/SELINUX=enforcing/g' /etc/selinux/config
# 設定の確認
grep ^SELINUX= /etc/selinux/config
# 再起動して設定変更を反映
sudo reboot
# 現在の状態確認
getenforce

切り替えは、sed -i行をコピペして実行する感じです。


冒頭に記載させて頂いた通り。

サーバとしてインターネット上で公開する場合は、SELinuxを有効にしたほうが良いと思いますが。

とはいえ、SELinuxが有効な場合、動かせるアプリの自由度は大きく下がります。

有効にする過程で、アプリを正常に動作させるための調査のため、一時的にSELinuxを無効にしたり、ログを取得するモードにする場合があるかと思います。

有効な状態で運用できるようになるべく努力したいなと思いますです。

スポンサーリンク

フォローする

スポンサーリンク