7.4. MCS でのユーザーへのカテゴリーの割り当て

Linux ユーザーにカテゴリーを割り当てることで、ユーザー認証を定義できます。カテゴリーが割り当てられているユーザーは、ユーザーのカテゴリーのサブセットがあるファイルにアクセスして修正できます。また、ユーザーは自分が所有するファイルを、割り当てられたカテゴリーに割り当てることもできます。

Linux ユーザーは、関連する SELinux ユーザーに定義されたセキュリティー範囲外のカテゴリーに割り当てることはできません。

注記

カテゴリーアクセスは、ログイン時に割り当てられます。そのため、ユーザーは再度ログインするまで、新しく割り当てられたカテゴリーにアクセスできません。同様に、カテゴリーへのユーザーのアクセスを取り消した場合は、ユーザーが再度ログインしないと有効になりません。

前提条件

  • SELinux モードが Enforcing に設定されている。
  • SELinux のポリシーは targeted または mls に設定されている。
  • policycoreutils-python-utils パッケージがインストールされている。
  • Linux ユーザーが SELinux で制限されたユーザーに割り当てられている。

    • 特権のないユーザーは、user_u に割り当てられます。
    • 特権ユーザーは、staff_u に割り当てられます。

手順

  1. SELinux ユーザーのセキュリティー範囲を定義します。

    # semanage user -m -rs0:c0,c1-s0:c0.c9 <user_u>

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

  2. Linux ユーザーに MCS カテゴリーを割り当てます。指定できるのは、関連する SELinux ユーザーに定義された範囲内でのみです。

    # semanage login -m -rs0:c1 <Linux.user1>
    注記

    chcat コマンドを使用して、Linux ユーザーにカテゴリーを追加または削除できます。以下の例では、<category1> を追加し、<Linux.user1> および <Linux.user2> から <category2> を削除します。

    # chcat -l -- +<category1>,-<category2> <Linux.user1>,<Linux.user2>

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

検証

  • Linux ユーザーに割り当てられているカテゴリーのリストを表示します。

    # chcat -L -l <Linux.user1>,<Linux.user2>
    <Linux.user1>: <category1>,<category2>
    <Linux.user2>: <category1>,<category2>

関連情報

  • chcat(8) の man ページ