selinux samba samba_share_t と chcon と semanage fcontext

selinux samba samba_share_t と chcon と semanage fcontext

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*
  1. chcon -t samba_share_t /folderうまくいくにはいつもそうする必要がありますか、それともそれを行うことができますかsemanage
  2. chcon -t samba_share_t一覧表示したいフォルダだけを一覧表示できますか/etc/samba/smb.conf、またはSamba共有フォルダの下のすべてのサブフォルダとファイルを表示する必要がありますか?
  3. 同様に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ドキュメント

関連情報