GNU/Linux >> Linux の 問題 >  >> Linux

SELinuxポリシードキュメントへのアクセス

[Red Hat Enterprise Linuxを試してみませんか?今すぐ無料でダウンロードしてください。]

SELinuxポリシーに含まれる制限付きドメインの優れたマニュアルページが多数あります。これらのマニュアルページでは、各ドメインのブール値とコンテキストタイプについて説明しています。サンプルのsemanageも含まれています コンテキストマッピングの追加、ブール値の変更などのコマンド。

残念ながら、システム管理者がSELinux構成を開始するために、これらのマニュアルページはデフォルトでインストールされないことがよくあります。 SELinuxポリシーのマニュアルページは、2つの場所から入手できます。上流の参照ポリシーリポジトリには、いくつかの作成済みのマニュアルページがあります。残りは、policycoreutils-develにあるツールを使用してポリシーコンテンツから生成できます。 パッケージ。

配布パッケージからインストール

一部のディストリビューションでは、マニュアルページを事前に生成してパッケージ化し、ドキュメントをシステムに簡単に追加できるようにしています。 Fedora、CentOS、およびRed Hat Enterprise Linux 8にはすべて、selinux-policy-doc.noarchが含まれています。 基本リポジトリにパッケージ化します。このパッケージはデフォルトではインストールされませんが、yumで簡単に追加できます またはdnf コマンド:

$ sudo yum install selinux-policy-doc.noarch

Red Hat Enterprise Linux 7にもこのパッケージがありますが、これは「オプション」リポジトリにあり、デフォルトでは有効になっていません。 subscription-managerを使用してリポジトリを永続的に有効にする :

$ sudo subscription-manager repo --enable=rhel-7-server-optional-rpms

または、インストール中に一時的にリポジトリを追加します:

$ sudo yum --enablerepo=rhel-7-server-optional-rpms install selinux-policy-doc.noarch

SELinuxドメインのドキュメントが利用可能になったので、次のコマンドで関連ページを検索します。

$ man -k _selinux

注: docsパッケージをインストールした後、検索結果を表示する前に、マニュアルページのインデックスキャッシュを更新する必要がある場合もあります。

$ sudo mandb
ポリシーからマニュアルページを生成

docsパッケージが利用できない場合、または特定のドメインのマニュアルページのみを生成する場合は、ポリシーからマニュアルページを作成することもできます。まず、develをインストールします パッケージとその依存関係:

$ sudo yum install policycoreutils-devel 

次に、sepolicyを使用します ドメインタイプ(含まれている実行中のプロセスに関連付けられたSELinuxコンテキストタイプ)を指定して特定のマニュアルページを生成するコマンド。例:

$ sepolicy manpage -d httpd_t

結果のマニュアルページは/tmpに生成されます ディレクトリであり、名前で表示できます:

$ man /tmp/httpd_selinux.8

sepolicy manpageにはオプションがあります 出力場所を上書きするコマンド(--path )、htmlバージョンを生成します(--web )、またはすべてを生成します(--all )ページ。これらおよびその他のオプションを表示するには、次を使用します:

$ man sepolicy-manpage

ユーザーが出力パスへの書き込み権限を持っている限り、manページを生成して表示できます。

これらのマニュアルページの魔法をプレビューする

ドメインタイプのSELinuxマニュアルページはすべて共通のレイアウトを持っています。他のマニュアルページのセットと同様に、読むマニュアルページが多いほど、次のページをスキャンしたり速読したりするのが簡単になります。

各manページは、任意のmanページの予想されるNAMEフィールドとDESCRIPTIONフィールドで始まります。 SELinuxドメインのマニュアルページには、ENTRYPOINTSセクションとPROCESSTYPESセクションが含まれています。 (エントリポイントは実行可能ファイルに割り当てられたタイプであり、デーモンとして起動されると、制限されたプロセスタイプに移行します。)

ただし、すべてのプロセスタイプがデーモンであるとは限りませんが、一部はインタラクティブな実行可能ファイルである場合があります。たとえば、sshd_exec_t sshd_tに移行するエントリポイントです。 プロセスタイプ。さらに、sshd_tssh_t 、およびssh_keygen_t プロセスタイプの例でもあります。

プロセスタイプはドメインタイプとも呼ばれ、semanageを使用してパーミッシブモードにすることができるタイプです。 コマンド。

エントリポイントとプロセスタイプのセクションの後に、SELinuxドメインのマニュアルページには、そのドメインに適用されるブール値、ポートタイプ、管理対象ファイル、およびファイルコンテキストのセクションがあります。これらのセクションでは、キーワードを定義し、semanageで実行できる変更のサンプルを提供します。 指図。ブール値を有効にすると、ユースケースごとに異なるルールセットが許可されます。ファイルとポートのコンテキストを変更することで、デフォルト以外の場所にデータを保持したり、デフォルト以外のポートで実行したりするようにシステムを構成できます。

各manページは、manページで参照されているコマンドのリストと従来のmanページのAUTHORおよびSEEALSOセクションで終わります。

探索を開始

targetedを使用 ポリシー、httpd ドメインページは、説明するブール値とファイルタイプが最も多いため、おそらく最も長くなります。また、SELinuxのtargetedの歴史に閉じ込められた最初のドメインの1つでもありました。 ポリシー。

sshdなどの使い慣れたドメインから始めます 、httpd 、またはntpd 。次に、ご使用の環境に関連するドメインを検索します。 selinux-docsをインストールした後 パッケージ、システムで探索する850以上のマニュアルページがあります!

そして覚えておいてください、SELinuxを強制し続けてください! (方法は次のとおりです。)


Linux
  1. Ubuntu16.04LTSのマニュアルページへのアクセス

  2. コマンドの使用方法を学ぶためにマニュアルページを使用する方法?

  3. ロングマンページを読んで検索しますか?

  1. マニュアルページで大文字と小文字を区別しない検索?

  2. 8 UNIX / Linux man コマンドで man ページを表示する例

  3. Linux の man ページの読み方は?

  1. SELinux 初心者向けガイド

  2. 利用可能なすべての man ページのリスト

  3. C ライブラリの man ページを書く必要はありますか?