web-dev-qa-db-ja.com

NFS共有を使用したSELinuxコンテキスト

2つのCentOSサーバー(filesrvとwebsrv)の間にNFSプロセスを設定して、Apacheプロセスで読み取りと書き込みができるフォルダーを作成しようとしています。 SELinux構成に絞り込んだ、この書き込み可能な部分に問題があります。NFSクライアントで_setenforce 0_を使用すると、Apacheが共有に書き込むことができます。

NFSサーバーのエクスポートファイルの関連する行は次のとおりです。

/data/files/sitefiles websrv(rw,sync,no_root_squash)


NFSサーバー上の共有フォルダーのSELinuxコンテキストは次のとおりです。

_system_u:object_r:httpd_sys_rw_content_t:s0_


NFSクライアントのfstabのエントリは次のとおりです。

_filesrv:/data/files/sitefiles /var/www/html/webroot/files nfs context="system_u:object_r:httpd_sys_rw_content_t:s0" 0 0_


私が知る限り、これは_httpd_sys_rw_content_t_コンテキストでNFS共有をマウントする必要がありますが、確認すると実際には次のようになります。

_system_u:object_r:httpd_sys_content_t:s0_


より厳密なコンテキストを共有に適用する原因は何ですか?

6
lyserge

簡単な解決策は、SELinuxブールhttpd_use_nfsを使用して、WebサーバーがNFS共有に保存されているコンテンツを表示および書き込みできるようにすることです。

setsebool -P httpd_use_nfs=1 
7
HBruijn

この問題は、同じサーバーからすべてのNFS共有をマウントしていたために発生していました。

複数のNFSマウントに関するRedHatのドキュメント のように、マウントのfstab行にnosharecacheを追加する必要がありました。次に、正しいSELinuxコンテキストがマウントごとに適用されます。

私のfstabの作業行は次のとおりです。

filesrv:/data/files/sitefiles /var/www/html/webroot/files nfs nosharecache,context="system_u:object_r:httpd_sys_rw_content_t:s0" 0 0
2
lyserge