フォルダの下のすべてのアイテムにsamba_share_tを適用する方法

フォルダの下のすべてのアイテムにsamba_share_tを適用する方法

/data新しいLinux RHEL 7.7サーバーに5TBのデータをインストールしました。

私はselinuxを試行として使用しており、/dataSambaを共有しましたが、ほとんどうまくいきます。しかし、いくつかのフォルダに深く入ると、/data/アクセスは拒否されます。その特定のサブフォルダで操作を実行すると、chcon -t samba_share_tSambaはそのサブフォルダに移動します。もう少し深く入ってみると同じ問題です。

/data/私のフォルダの下にあるすべてのアイテムを正しく作成し、samba_share_tSambaでのみ機能するようにするにはどうすればよいですか?

selinuxに疲れました。

ベストアンサー1

Sambaでのみ使用している場合は、/dataコンテキストマウントオプションを使用してファイルコンテキストをすべてのファイルsamba_share_tに設定できます/data context="system_u:object_r:samba_share_t:s0"fstabから。コンテキストオプションは、マウント時に既存のファイルラベルを上書きしますが、ディスクの内容は変更しません。コンテキストマウント時にファイルラベルを変更することはできません。すべてのファイルは同じラベルを持ちます。

インストールオプションがオプションでない場合は、ファイルコンテキストを設定する一般的な方法は、.semanage fcontextを使用してsemanage fcontext -a -t samba_share_t '/data(/.*)?'データベースにコンテキストを追加し、を使用して新しいファイルコンテキストを(再帰的に)適用することですrestorecon -r /data

(Sambaに加えて)データにアクセスする他のユーザー/サーバーがある場合は、いくつかのオプションがあります。

  • 有効にsamba_export_all_roするsamba_export_all_rw ブール値非常に広範な読み取り専用アクセスまたは読み取り/書き込みアクセスが可能です(Sambaが最初にファイルを読み取ることができると仮定すると、SELinuxルールは標準の権限確認後に適用されます)。 2 つのブール値のいずれかを有効にすると、セキュリティ ポリシーがより許容的に適用されます。

  • 上記のようにマウントオプションを使用し、他のプロセスがsamba_share_tその他実行中のプロセス許可モード(プロセス/サービスを再起動する必要があります)ログエントリを生成します。その後、使用audit2allow必要なポリシーを策定します。ポリシーを挿入して他のポリシーをリセットしてください。実装するモデル。 AVCエラーがさらに発生した場合は、このプロセスを繰り返してカスタムポリシーを関連付けることができます。

    これは他の方法でも適用できます(Sambaは異なるコンテキストを持つファイルにアクセスすることを許可しますが、/data間違ったコンテキストを持つファイルと同じ問題に直面する可能性があります)。

  • 新しいファイルコンテキストと追加ドメインに必要なアクセス権を定義するカスタムポリシーを作成します。

おすすめ記事