Show Table of Contents
4.5. ブール値
ブール値を使うと、SELinux ポリシー記述の知識がなくても、ランタイム時に SELinux ポリシーの一部を変更できます。これにより、SELinux ポリシーの再読み込みや再コンパイルをせずに、NFS ボリュームへのサービスのアクセスを許可するといった変更が可能になります。
4.5.1. ブール値の一覧表示
ブール値の各項目が何であるかやそれらがオンかオフかについてなどの説明がある一覧を表示するには、Linux root ユーザーで
semanage boolean -l コマンドを実行します。以下の例では、すべてのブール値が表示されているわけではなく、出力は省略されています。
~]#semanage boolean -lSELinux boolean State Default Description smartmon_3ware (off , off) Determine whether smartmon can... mpd_enable_homedirs (off , off) Determine whether mpd can traverse...
注記
より詳細な説明を表示するには、selinux-policy-devel パッケージをインストールしてください。
SELinux boolean コラムは、ブール値の名前を表示します。Description コラムは、ブール値がオンかオフか、またそれらが何をするかを表示します。
getsebool -a コマンドはブール値を一覧表示し、オンかオフかを表示しますが、個別の説明はありません。以下の例は、すべてのブール値を表示しているわけではありません。
~]$getsebool -acvs_read_shadow --> off daemons_dump_core --> on
getsebool boolean-name コマンドを実行すると、boolean-name ブール値のステータスのみを表示します。
~]$getsebool cvs_read_shadowcvs_read_shadow --> off
複数のブール値を表示するには、空白で区切られたリストを使います。
~]$getsebool cvs_read_shadow daemons_dump_corecvs_read_shadow --> off daemons_dump_core --> on
4.5.2. ブール値の設定
ブール値を有効、無効にするには、
setsebool ユーティリティーを setsebool boolean_name on/off の形式で実行します。
以下の例では、
httpd_can_network_connect_db ブール値の設定を示しています。
手順4.5 ブール値の設定
- デフォルトでは、
httpd_can_network_connect_dbブール値はオフになっていて、Apache HTTP Server スクリプトとモジュールがデータベースサーバーに接続できないようにしています。~]$getsebool httpd_can_network_connect_dbhttpd_can_network_connect_db --> off - Apache HTTP Server スクリプトとモジュールが一時的にデータベースサーバーに接続できるようにするには、root で以下のコマンドを実行します。
~]#setsebool httpd_can_network_connect_db on - ブール値が有効になったことを確認するには、
getseboolユーティリティーを使用します。~]$getsebool httpd_can_network_connect_dbhttpd_can_network_connect_db --> onこれで Apache HTTP Server スクリプトとモジュールがデータベースサーバーに接続できます。 - この変更は再起動後には維持されません。再起動後も変更を維持するには、root で
setsebool -P boolean-name onコマンドを実行します[5]。~]#setsebool -P httpd_can_network_connect_db on
4.5.3. Shell のオートコンプリート機能
getsebool、setsebool、semanage の各ユーティリティーでは Shell のオートコンプリート機能を使用することができます。getsebool と setsebool では、コマンドラインパラメーターとブール値にオートコンプリート機能が使用可能です。コマンドラインパラメーターのみを一覧表示するには、コマンド名の後にハイフン記号 ("-") を付けて、Tab キーを押します。
~]# setsebool -[Tab]
-P
ブール値でオートコンプリート機能を使用するには、ブール値名の入力を開始したところで Tab を押します。
~]$ getsebool samba_[Tab]
samba_create_home_dirs samba_export_all_ro samba_run_unconfined
samba_domain_controller samba_export_all_rw samba_share_fusefs
samba_enable_home_dirs samba_portmapper samba_share_nfs~]# setsebool -P virt_use_[Tab]
virt_use_comm virt_use_nfs virt_use_sanlock
virt_use_execmem virt_use_rawip virt_use_usb
virt_use_fusefs virt_use_samba virt_use_xserversemanage ユーティリティーは複数のコマンドライン引数と使用され、これらはひとつずつ記入されます。semanage コマンドの最初の引数はオプションで、SELinux ポリシーのどの部分を管理するかを指定します。
~]# semanage [Tab]
boolean export import login node port
dontaudit fcontext interface module permissive user
その後にコマンドラインパラメーターが続きます。
~]# semanage fcontext -[Tab]
-a -D --equal --help -m -o
--add --delete -f -l --modify -S
-C --deleteall --ftype --list -n -t
-d -e -h --locallist --noheading --type
最後に、ブール値や SELinux ユーザー、ドメインなどの特定の SELinux エントリー名を記入します。エントリー名の最初の部分を入力したら、Tab を押します。
~]#semanage fcontext -a -t samba<tab> samba_etc_t samba_secrets_t sambagui_exec_t samba_share_t samba_initrc_exec_t samba_unconfined_script_exec_t samba_log_t samba_unit_file_t samba_net_exec_t
コマンドラインパッケージは、コマンド内でチェーンすることができます。
~]# semanage port -a -t http_port_t -p tcp 81
[5]
一時的にデフォルトの動作に戻すには、Linux root ユーザーで
setsebool httpd_can_network_connect_db off コマンドを実行します。リブート後も変更を維持するには、setsebool -P httpd_can_network_connect_db off コマンドを実行します。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.