6.7. MLS でのファイル機密レベルの変更
MLS SELinux ポリシーでは、ユーザーは自分の機密レベルのファイルしか変更できません。これは、クリアランスレベルが低いユーザーに極秘情報が公開されないようにすること、またクリアランスレベルの低いユーザーが機密レベルの高いドキュメントを作成できないようにすることが目的です。ただし、管理者は、ファイルをより高いレベルで処理するなど、ファイル区分を手動で増やすことができます。
前提条件
-
SELinux ポリシーが
mls
に設定されている。 - SELinux モードが Enforcing に設定されている。
セキュリティー管理者権限が割り当てられている。以下のいずれかに割り当てます。
-
secadm_r
ロール。 -
sysadm_secadm
モジュールが有効になっている場合は、sysadm_r
ロール。sysadm_secadm
モジュールはデフォルトで有効になっています。
-
-
policycoreutils-python-utils
パッケージがインストールされている。 クリアランスレベルが割り当てられているユーザー。詳細は、Establishing user clearance levels in MLS を参照してください。
この例では、
User1
のクリアランスレベルはs1
です。区分レベルが割り当てられ、アクセスできるファイル。
この例では、
/path/to/file
の区分レベルはs1
です。
手順
ファイルの区分レベルを確認します。
# ls -lZ /path/to/file -rw-r-----. 1 User1 User1 user_u:object_r:user_home_t:s1 0 12. Feb 10:43 /path/to/file
ファイルのデフォルトの区分レベルを変更します。
# semanage fcontext -a -r s2 /path/to/file
ファイルの SELinux コンテキストのラベルを強制的につけ直します。
# restorecon -F -v /path/to/file Relabeled /path/to/file from user_u:object_r:user_home_t:s1 to user_u:object_r:user_home_t:s2
検証
ファイルの区分レベルを確認します。
# ls -lZ /path/to/file -rw-r-----. 1 User1 User1 user_u:object_r:user_home_t:s2 0 12. Feb 10:53 /path/to/file
オプション: クリアランスが低いユーザーがファイルを読み込めないことを確認します。
$ cat /path/to/file cat: file: Permission denied
関連情報