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
# 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/fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルのデフォルトの区分レベルを変更します。
semanage fcontext -a -r s2 /path/to/file
# semanage fcontext -a -r s2 /path/to/fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルの SELinux コンテキストのラベルを強制的につけ直します。
restorecon -F -v /path/to/file
# 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:s2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ファイルの区分レベルを確認します。
ls -lZ /path/to/file
# 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/fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: クリアランスが低いユーザーがファイルを読み込めないことを確認します。
cat /path/to/file cat: file: Permission denied
$ cat /path/to/file cat: file: Permission deniedCopy to Clipboard Copied! Toggle word wrap Toggle overflow