Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.9.4. 複数の NFS マウント

同一の NFS エクスポートから複数のマウントを行う場合、各マウントの SELinux コンテキストを異なるコンテキストで上書きしようとすると、マウントコマンドの失敗につながります。以下の例では、NFS サーバーには単一エクスポートである /export があり、これには web/database/ の 2 つのサブディレクトリーがあります。以下のコマンドで単一 NFS エクスポートから 2 つのマウントを試みて、それぞれのコンテキストを上書きしようとします。
~]# mount server:/export/web /local/web -o context="system_u:object_r:httpd_sys_content_t:s0"

~]# mount server:/export/database /local/database -o context="system_u:object_r:mysqld_db_t:s0"
2 つ目のマウントコマンドが失敗し、以下が /var/log/messages にログ記録されます。
kernel: SELinux: mount invalid.  Same superblock, different security settings for (dev 0:15, type nfs)
各マウントが異なるコンテキストを持っている複数のマウントを単一 NFS エクスポートから行うには、-o nosharecache,context オプションを使います。以下の例では、各マウントが異なるコンテキストを持っている複数のマウントを単一 NFS エクスポートから行います (各マウントへの単一サービスアクセスを許可)。
~]# mount server:/export/web /local/web -o nosharecache,context="system_u:object_r:httpd_sys_content_t:s0"

~]# mount server:/export/database /local/database -o \ nosharecache,context="system_u:object_r:mysqld_db_t:s0"
この例では、server:/export/web がローカルで /local/web/ にマウントされ、すべてのファイルが httpd_sys_content_t タイプでラベル付けされており、Apache HTTP Server のアクセス許可しています。server:/export/database はローカルで /local/database にマウントされ、すべてのファイルが mysqld_db_t タイプでラベル付けされており、MySQL アクセスを許可しています。これらのタイプ変更はディスクに書き込まれません。

重要

nosharecache オプションを使うと、あるエクスポートの同一のサブディレクトリーを異なるコンテキストで複数回マウントすることができます (例えば、/export/web を複数回マウントする)。ファイルが 2 つの異なるコンテキストでアクセス可能な場合は、エクスポートの同一のサブディレクトリーを異なるコンテキストで複数回マウントしないでください。重複するマウントを作成することになってしまいます。