SELinux(Cent-OSなど)を使用しているシステムにecryptfsをマウントしようとしており、すべての個々の基本ファイルのセキュリティラベルを保存したいと思います。コマンドを使用すると、mount -o
すべてのファイルのセキュリティラベルを設定できます。
mount -t ecryptfs /var/lib/mysql /var/lib/mysql -o context="system_u:object_r:mysqld_db_t:s0"
これは私が望むものではありません。私が知る限り、ecryptfsは拡張属性とecryptfsカーネルモジュールのファイルで定義されてecryptfs_setxattr
いる機能をサポートしています。また、optionsを見てみると、これが私が望むものです。ecryptfs_getxattr
inode.c
man mount
fscontext
fscontext =オプションは、xattrのサポートに関係なく、すべてのファイルシステムに適用されます。 fscontext オプションは、ファイルシステム全体のラベルを特定のセキュリティコンテキストに設定します。このファイルシステムラベルは、ファイルの個々のラベルとは別のものです。インストールやファイルの作成など、ファイルシステム全体に代わって特定の種類の権限チェックを実行します。個々のファイルタグはまだファイル自体のxattrから取得されます。個々のファイルに同じラベルを提供することに加えて、 context オプションは実際に fscontext によって提供される集約コンテキストを設定します。
または次のコマンド
mount -t ecryptfs /var/lib/mysql /var/lib/mysql -o fscontext="system_u:object_r:mysqld_db_t:s0"
system_u:object_r:mysqld_db_t:s0
元のラベルを含むファイルを含むすべてのファイルのSELinuxラベルをに変更します。/var/lib/mysql/mysql.sock
system_u:object_r:mysqld_var_run_t:so
私の質問:
1)ecryptfsをディレクトリにマウントし、各ファイルのセキュリティラベル(SELinuxラベルなど)を保存する方法は?
mount -o fscontext
2)ecryptfsが期待どおりに機能しないのはなぜですか?
ノート:mysqlディレクトリを例として使用し、SELinuxにポリシーモジュールを追加し、その上にインストールされたecryptfsとmysqldが機能するようにすることができました。ここでは、ecryptfsをSELinuxに透過的にする一般的なソリューションを要求します。