SELinux - AlmaLinux

SELinux とは?

SELinux ( Security-Enhanced Linux ) は、Linux のセキュリティをより強固なものにするため、米国国家安全保障局(NSA)によって開発されました。

多くの Linux では、デフォルトで有効になっておりそのままでは、動かないソフトなどが多いです。

状態

  • Alma
  • Rocky
設定値 内容
enforcing SELinuxは有効
permissive SELinuxは有効だが、アクセス制限は行わず警告を出力
disabled 無効の状態

SELinux の現在の状態を確認するには次のようにコマンドを実行します。

getenforce

SELinux を一時的に無効にするには次のようにコマンドを実行します。

sudo setenforce 0 # 設定値が Permissive の状態
sudo setenforce 1 # 設定値は Enforcing の状態

setenforce コマンドで一時的に無効にした場合は、OS を再起動すると設定ファイルの設定状態になります。

永続的に無効にする

  • Alma
  • Rocky

SELinux の設定ファイルの値を変更すれば、OSを再起動しても無効の状態のままです。

SELinux の設定ファイルのパスは、「 /etc/selinux/config 」です。

SELinux の設定ファイルを vi で開くには次のようにします。

sudo vi /etc/selinux/config

ファイルが開けたら設定ファイルの値を次のように変更します。

# 変更前
SELINUX=enforcing

# 変更後
SELinux=disabled

SELinux の設定ファイルを変更した後、OS を再起動すれば変更後の内容が反映されます。

OS を再起動するには「 sudo reboot 」コマンドを使います。

chocn、restorecon、semanage fcontext

chocn(change context)

chocnコマンドは一時的な変更を行います。

ファイルシステムの再ラベル付けや restorecon コマンドが実行されるとリセットされます。

semanage fcontext

ファイルのSELinuxコンテキストを永続的に変更します。

restorecon

SELinuxコンテキストをデフォルト値に復元するためのコマンドです。

chcon で設定した内容は消えて、コンテキストが元に戻ります

ポリシーを確認する

設定されているファイルやディレクトリのポリシーを確認するには、以下のようにします。

ls -Z

sesearchコマンドを利用することで、SELinuxのポリシー設定を検索することができます。

コマンドを実行するには、インストールが必要です。

sudo dnf -y install setools-console