7.5. MCS でのファイルへのカテゴリーの割り当て

カテゴリーをユーザーに割り当てるには、管理者特権が必要です。ユーザーはカテゴリーをファイルに割り当てることができます。ファイルのカテゴリーを変更するには、そのファイルへのアクセス権が必要です。ユーザーは、割り当てられているカテゴリーにのみファイルを割り当てることができます。

注記

このシステムは、カテゴリーアクセスルールと従来のファイルアクセス権限を組み合わせています。たとえば、bigfoot のカテゴリーを持つユーザーが DAC (Discretionary Access Control) を使用して他のユーザーによるファイルへのアクセスをブロックすると、他の bigfoot ユーザーはそのファイルにアクセスできなくなります。利用可能なすべてのカテゴリーに割り当てられたユーザーは、ファイルシステム全体にアクセスできない場合があります。

前提条件

  • SELinux モードが Enforcing に設定されている。
  • SELinux のポリシーは targeted または mls に設定されている。
  • policycoreutils-python-utils パッケージがインストールされている。
  • 以下に該当する Linux ユーザーのアクセスおよびパーミッション

    • SELinux ユーザーに割り当てられている。
    • ファイルの割り当て先となるカテゴリーに割り当てられている。詳細は、Assigning categories to users in MCS を参照してください。
  • カテゴリーに追加するファイルへのアクセスと権限。
  • 検証目的:このカテゴリーに割り当てられていない Linux ユーザーへのアクセスとパーミッション

手順

  • カテゴリーをファイルに追加します。

    $ chcat -- +<category1>,+<category2> <path/to/file1>

    setrans.conf ファイルで定義されているように、c0 から c1023 までのカテゴリー番号またはカテゴリーラベルを使用します。詳細は、Defining category labels in MCS を参照してください。

    同じ構文を使用して、ファイルからカテゴリーを削除できます。

    $ chcat -- -<category1>,-<category2> <path/to/file1>
    注記

    カテゴリーを削除する場合は、コマンドラインで -- を指定してから -<category> 構文を使用する必要があります。指定しないと、chcat コマンドは、カテゴリーの削除をコマンドオプションであると誤って解釈します。

検証

  1. ファイルのセキュリティーコンテキストを表示して、カテゴリーが正しいことを確認します。

    $ ls -lZ <path/to/file>
    -rw-r--r--  <LinuxUser1> <Group1> root:object_r:user_home_t:_<sensitivity>_:_<category>_ <path/to/file>

    ファイルの特定のセキュリティーコンテキストは異なる場合があります。

  2. オプション: ファイルと同じカテゴリーに割り当てられていない Linux ユーザーとしてログインしたときに、ファイルにアクセスしようとします。

    $ cat <path/to/file>
    cat: <path/to/file>: Permission Denied

関連情報

  • semanage(8) および chcat(8)の man ページ