LinuCレベル3 303試験の例題と解説

327.2強制アクセス制御

今回は303試験の試験範囲から、「327.2 強制アクセス制御」についての例題を解いてみます。
■トピックの概要
このトピックの内容(2009年11月27日時点)は以下の通りです。トピックの詳細はこちらからご確認ください。
327.2 強制アクセス制御
重要度:4
<説明>
SELinux全般の知識があること。
<主要な知識範囲>
SELinuxの設定
TE、RBAC、MAC、およびDACの概念と使用方法

<重要なファイル、用語、ユーティリティ>
fixfiles/setfiles
newrole
setenforce/getenforce
selinuxenabled
semanage
sestatus
/etc/selinux/
/etc/selinux.d/

■例題
以下のコマンドのうち、SELinuxが有効になっていることを確認できないコマンドを選びなさい。
1. getenforce
2. setenforce
3. sestatus
4. selinuxenabled
※この例題は実際のLinuC試験とは異なります。

解答と解説

答えは 2. setenforce です。

Linuxのセキュリティを高めるSELinuxですが、インストールの過程でデフォルトでは有効(enforcing)になるため、思わぬ制約になることがあります。一方、後で有効にするつもりが有効になっていなかったということもあるでしょう。現在のシステムでSELinuxがどのような状態になっているかどうかを確認するには、例題に挙げたようなコマンドが利用できます。
もっとも直接的に確認が行えるのはsestatusコマンドです。SELinuxが有効か無効か、有効であればそれがenforcingかpermissiveかを確認できます。
getenforceコマンドも、同様にSELinuxの設定状態を返してくれます。
○sestatus実行例
# sestatus
SELinux status:         disabled
○getenforce実行例
# getenforce
Disabled
selinuxenabledは、シェルスクリプトなどで条件判定に使いやすいよう、結果を数値で返してくれます。有効であれば0、無効であれば1を返します。
○selinuxenabled実行例
# selinuxenabled
# echo $?
1
SELinuxの有効、無効を切り替えるにはシステムの再起動が必要ですが、有効な状態でenforcingとpermissiveを切り替えるにはsetenforceコマンドが使用できます。setenforce 0 でpermissiveに、setenforce 1 でenforcingに切り替わります。
SELinuxを有効にするには、/etc/selinux/configにある SELINUX=disabled をpermissiveまたはenforcingに変更し、再起動します。再起動時に自動的にrelabelingが行われるので、起動に少し時間がかかります。
○sestatus実行例
# sestatus
SELinux status:                 enabled
SElinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file           permissive
Policy version:                 21
Policy from config file:        targeted
○setenforce 実行例
# setenforce 1
# sestatus
SELinux status:                 enabled
SElinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file           permissive
Policy version:                 21
Policy from config file:        targeted
# setenforce 0
# getenforce
Permissive
ページトップへ