RHEL / CENTOS 7 LinuxサーバーでSambaフォルダ共有を正しく設定する方法については、次の手順を使用できますか?selinux 施行。
SELinuxでは、ファイルにファイルタイプを定義する拡張属性が必要です。ポリシーは、これらのファイルへのデーモンアクセスを制御します。ホームディレクトリ外でファイルを共有するには、これらのファイルをsamba_share_tとしてマークする必要があります。したがって、特別なディレクトリ/ var / engを作成する場合は、chconツールを使用してディレクトリを表示する必要があります。
この変更を永続的にするには(ラベルを再指定した後でもまだ有効です)、semanageコマンドを使用してファイルコンテキスト設定に変更を追加します。
chcon -t samba_share_t /data
semanage fcontext -a -t samba_share_t /data
or
semanage fcontext -a -t samba_share_t /data*
chcon -t samba_share_t /folder
うまくいくにはいつもそうする必要がありますか、それともそれを行うことができますかsemanage
?chcon -t samba_share_t
一覧表示したいフォルダだけを一覧表示できますか/etc/samba/smb.conf
、またはSamba共有フォルダの下のすべてのサブフォルダとファイルを表示する必要がありますか?- 同様に
semanage fcontext -a -t samba_share_t
、共有として指定された単一のフォルダにのみ適用する必要がありますか/etc/samba/smb.conf
、またはSamba共有フォルダの下のすべてのファイルとサブフォルダに適用する必要がありますか?それではどうなりますか?
答え1
semanage fcontext
ファイルコンテキストデータベースを変更します。ファイルシステムのラベルが再割り当てされ、.restoreファイルコンテキストが使用されると、データベースが照会されますrestorecon
。エントリを追加しても新しいコンテキストは適用されません。を使用して行った変更はchcon
直接適用されますが、ファイルコンテキストデータベースに追加されず、restorecon
ファイルシステムが保存されたりラベルが再割り当てされたりしません。
semanage fcontext
新しいコンテキストを適用する最も簡単な方法は、を使用してファイルコンテキストデータベースに新しいパスを追加することですrestorecon
。/data(/.*)?
同じルールを使用して、ファイルやサブディレクトリも含めるなどのパターンを使用できます。restorecon
その後、再帰オプションと一緒に使用して既存のファイルを再表示できます。
デフォルトでは、新しいファイルは、カスタムコンテキストを使用して新しいファイルを生成するポリシーに特定の規則がない限り、親フォルダのファイルコンテキストを継承します。
/data
別のパーティションの場合は、次のようにファイルコンテキストを設定することもできます。コンテキストマウント。マウントオプションを使用してファイルコンテキストを設定すると、ファイルコンテキストを変更することはできず、ファイルコンテキストは1つしかありませんが、ファイルシステムの変更(restorecon / relatel)は必要なく、ファイルコンテキストをファイルシステムに設定できます。拡張属性はサポートされていません。
詳細と例については、以下を確認してください。RHELドキュメント。