【 getenforce 】コマンド/【 setenforce 】コマンド――SELinuxのモードを表示/一時的に変更するLinux基本コマンドTips(232)

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、SELinuxの動作モードを表示する「getenforce」コマンドと、SELinuxの動作モードを一時的に変更する「setenforce」コマンドです。

» 2018年08月16日 05時00分 公開
[西村めぐみ@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、SELinuxの動作モードを表示する「getenforce」コマンドと、SELinuxの動作モードを一時的に変更する「setenforce」コマンドです。

getenforce/setenforceコマンドとは?

 「getenforce」はSELinuxの動作モードを表示するコマンド、「setenforce」はSELinuxの動作モードを一時的に変更するコマンドです。

 SELinux(Security-Enhanced Linux)とは、強制アクセス制御(Mandatory Access Control)を加えたLinuxのカーネルモジュールとその機能をいいます。SELinuxを有効にすると、通常のファイルシステムよりも高度なアクセス制御機能を使用できるようになります。

Ubuntu 18.04 LTSのように、SELinuxがデフォルトで含まれていない場合は、aptコマンド(連載第139回)を用いて「sudo apt install selinux」としてパッケージを導入する。getenforceコマンドとsetenforceコマンドは「selinux-utils」パッケージに収録されており、通常はselinuxパッケージとともにインストールされる。なお、SELinuxはシステム全体に影響を及ぼすため、テスト環境などを用いて慎重に検討した方がよいだろう。





getenforceコマンドの書式

getenforce


setenforceコマンドの書式

setenforce 1または0

※(1の代わりに「enforcing」、0の代わりに「permissive」でもよい)





getenforce/setenforceの主な操作オプション

どちらもオプションはありません



現在のSELinuxの動作モードを表示する

 「getenforce」で、現在のSELinuxの動作モードを表示します(画面1)。表示するモードは、以下の3種類です。

モード 意味
Disable SELinuxが無効
Enforcing SELinuxが有効。セキュリティポリシーに違反するアクセスを拒否する
Permissive SELinuxが無効。ポリシーに違反するアクセスがあった場合、ログに書き込んだ上でアクセスを許可する

コマンド実行例

getenforce

(現在のモードを表示する)(画面1


画面1 画面1 SELinuxの動作モードを確認したところ


SELinuxの動作モードを一時的に変更する

 「setenforce」で、SELinuxのモードを変更します(画面2)。「Enforcing」(有効)からは「Permissive」(ログのみ)へ、「Permissive」からは「Enforcing」に変更します。実行にはroot権限が必要です。sudoコマンド(第68回)などを利用してください。

 設定はシステムの再起動まで有効です。常に「Enforcing」に設定したい場合、または「Permissive」としたい場合は、システムの設定ファイル(/etc/selinux/config、※1)に「SELINUX=enforcing」というように設定を書き込みます。

※1 シンボリックリンクが「/etc/sysconfig/selinux」にある。



 SELinuxが完全に無効となる「Disabled」にする場合、または「Disabled」から「Enforcing」や「Permissive」に変更する場合も、システムの設定ファイル(/etc/selinux/config)で設定後、再起動します。

コマンド実行例

setenforce 1

(SELinuxの状態を「Enforcing」にする)(画面2

setenforce 0

(SELinuxの状態を「Permissive」にする)(画面2


画面2 画面2 SELinuxの状態を設定、表示したところ

 なお、SELinuxが「Enforcing」か「Permissive」の場合に作成したファイルには、拡張属性としてセキュリティコンテキストが自動で追加されます。

 このセキュリティコンテキストは、SELinuxを「Disabled」にしても残っています。個々のファイルからセキュリティコンテキストを削除したい場合は、setfattrコマンド(第230回)やattrコマンド(第231回)を使用します。

 なお、SELinuxのセキュリティコンテキストを再設定する場合は、restoreconコマンドなどを使用します。



筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。