4.6. ブール値
ブール値を使用すると、SELinux ポリシーの記述に関する知識がなくても、SELinux ポリシーの一部をランタイム時に変更できます。これにより、SELinux ポリシーの再読み込みや再コンパイルを行わずに、サービスが NFS ボリュームにアクセスするのを許可するなどの変更が可能になります。
4.6.1. ブール値のリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ブール値のリストの場合、それぞれが何であるかの説明と、そのものがオンまたはオフであるかどうかを確認するには、Linux root ユーザーとして semanage boolean -l コマンドを実行します。以下の例は、簡潔化のために出力が短くしているので、すべてのブール値をリスト表示していません。
注記
より詳細な説明を取得するには、selinux-policy-devel パッケージをインストールします。
SELinux boolean 列には、ブール値名がリスト表示されます。Description コラムには、ブール値がオンまたはオフであるかと、その実行内容が記載されています。
getsebool -a コマンドはブール値 (on または off) をリスト表示しますが、それぞれの説明は表示されません。以下の例は、すべてのブール値をリスト表示していません。
getsebool -a cvs_read_shadow --> off daemons_dump_core --> on
~]$ getsebool -a
cvs_read_shadow --> off
daemons_dump_core --> on
getsebool boolean-name コマンドを実行して、boolean-name ブール値のステータスのみをリスト表示します。
getsebool cvs_read_shadow cvs_read_shadow --> off
~]$ getsebool cvs_read_shadow
cvs_read_shadow --> off
スペースで区切られたリストを使用して、複数のブール値をリストします。
getsebool cvs_read_shadow daemons_dump_core cvs_read_shadow --> off daemons_dump_core --> on
~]$ getsebool cvs_read_shadow daemons_dump_core
cvs_read_shadow --> off
daemons_dump_core --> on
4.6.2. ブール値の設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
setsebool boolean_name on/off 形式の
setsebool ユーティリティーを実行し、ブール値を有効または無効にします。
以下の例は、
httpd_can_network_connect_db ブール値の設定を示しています。
手順4.5 ブール値の設定
- デフォルトでは、
httpd_can_network_connect_dbブール値はオフになっています。Apache HTTP Server スクリプトおよびモジュールがデータベースサーバーに接続できません。getsebool httpd_can_network_connect_db httpd_can_network_connect_db --> off
~]$ getsebool httpd_can_network_connect_db httpd_can_network_connect_db --> offCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Apache HTTP Server スクリプトおよびモジュールがデータベースサーバーに一時的に接続できるようにするには、root で以下のコマンドを入力します。
setsebool httpd_can_network_connect_db on
~]# setsebool httpd_can_network_connect_db onCopy to Clipboard Copied! Toggle word wrap Toggle overflow getseboolユーティリティーを使用して、ブール値が有効であることを確認します。getsebool httpd_can_network_connect_db httpd_can_network_connect_db --> on
~]$ getsebool httpd_can_network_connect_db httpd_can_network_connect_db --> onCopy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、Apache HTTP Server スクリプトおよびモジュールはデータベースサーバーに接続できます。- この変更は、再起動後は維持されません。再起動後も変更を永続化するには、root で setsebool -P boolean-name on コマンドを実行します。[3]
setsebool -P httpd_can_network_connect_db on
~]# setsebool -P httpd_can_network_connect_db onCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.3. シェル自動完了 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
getsebool ユーティリティー、setsebool ユーティリティー、および semanage ユーティリティーを使用すると、シェルの自動完了を使用できます。getsebool と setsebool のオートコンプリートを使用して、コマンドラインパラメーターとブール値の両方を完了します。コマンドラインパラメーターのみをリスト表示するには、コマンド名の後にハイフン文字 ("-") を追加して、Tab キーを押します。
setsebool -[Tab] -P
~]# 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
~]$ 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_xserver
~]# 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_xserver
semanage ユーティリティーは、複数のコマンドライン引数で 1 つずつ完了したもので使用されます。semanage コマンドの最初の引数はオプションです。これは、マネージドの SELinux ポリシーの一部を指定します。
semanage [Tab] boolean export import login node port dontaudit fcontext interface module permissive user
~]# semanage [Tab]
boolean export import login node port
dontaudit fcontext interface module permissive user
次に、1 つ以上のコマンドラインパラメーターに従います。
最後に、ブール値、SELinux ユーザー、ドメインなどの特定の SELinux エントリーの名前を入力します。エントリーの入力を開始して、Tab キーを押します。
コマンドラインパラメーターは、以下のコマンドでチェーンできます。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
semanage port -a -t http_port_t -p tcp 81
~]# semanage port -a -t http_port_t -p tcp 81
[3]
一時的にデフォルトの動作に戻すには、Linux の root ユーザーとして setsebool httpd_can_network_connect_db off コマンドを実行します。再起動後も維持される変更の場合は、setsebool -P httpd_can_network_connect_db off コマンドを実行します。