BSDファイルサーバーの発信ファイル階層を計画する方法[閉じる]

BSDファイルサーバーの発信ファイル階層を計画する方法[閉じる]

私は、非公式のホームサーバーからSambaを実行している新しいFreeNAS(FreeBSD 10)ベースのファイルサーバーにデータを移行しています。私は経験豊富なシステム管理者がUnix特権、ACL、Unixの組み合わせを使用する方法に慣れていないので、BSDの世界(私が慣れているWindowsの世界とは対照的)でこの問題を解決する方法についての指示が必要だと思います。ホームディレクトリ、ソフトウェア/ハードシンボリックリンク、ユーザー/グループ、およびSambaには、目的の結果を得るためのパラメータが含まれていません。

約8人のユーザーにはかなり多くのデータディレクトリがありますが、似たようなクエリを使用している他の人にとってはより一般的にするために多くの抽象化を行いました。

論理データ構造は次のとおりです(必ずしもディスクに配置する方法ではありません)。

メディア
  - - 映画
  - - テレビ
  - - 音楽
  ---書籍
ソフトウェア
  ---運転手
  ---インストールプログラム
ディスクイメージのバックアップ
開発する
  - - ツール
  ---プロジェクト
ユーザーのプライベートデータ
  --- user1のプライベートデータ
  --- user2のプライベートデータ
ESXi仮想マシンストレージ

上記の実際のトップレベルディレクトリは、ZFSを使用してデータを別のデータセットに格納してZFS + Sambaプロパティをよりよく調整できるため、物理的に異なるマウントポイント/ファイルシステムに分割されています。例えば、すべてのビデオ+オーディオファイル全体が非常に大きいですが、重複排除がうまくいかない可能性があるため、データセットに保存されます(RAMだけを無駄にするだけです)。ドライバ、ソフトウェア、ディスクイメージテストの結果、重複排除率が非常に高く、省スペース重複排除の利点が重要であるため、別々のデータセットに保存します。個人データとプライベートデータを分離する異なるデータセットを配置すると、セキュリティ(?)が簡素化される可能性があります。いくつかの小さなディレクトリ追加の複数のコピーまたは他のスナップショット設定が必要です。

つまり、各ユーザーが物理構造ではなく統合された論理構造(自分に合ったもの)を表示できることを願っています。つまり、物理的に常駐していても、2つの別々の共有ではなく、同じルート共有にある2つの最上位ディレクトリとして見ることがmediaできます。software他のファイルシステムから。したがって、ユーザーがアクセスするルート共有には、これを行うためのソフトシンボリックリンクまたは同様のもの(nullfs?)がほぼ確実に含まれます。

最上位ディレクトリが設定されている場合、子ディレクトリについてあまり考える必要はありません。私が計画している唯一の制御は最上位ディレクトリにあり、場合によっては2番目のレベルディレクトリ(たとえば、個々のユーザーの個人データサブディレクトリ)にあります。そのレベルの下では、常に「親と同じ」権限を継承し、データが同じボリュームにあるため、ほとんど無視されます。

一度設定された権限は簡単でなければなりません。原則として、共通ファイルシステム/ユーザー/グループを設定するときに追加の作業を実行する前に、少数の最上位ディレクトリ(および最上位ディレクトリへのシンボリックリンク)に必要な権限を手動で設定します。サブディレクトリとコンテンツの設定はこれらの権限を強制的に継承するため、ユーザーは権限を設定する知識や能力がなくなります。ほとんどのユーザーはシェル アクセス権を持っていないため、SMB 共有以外の唯一のアクセスは、Authorized_keys を使用して事前設定されたバックアップ コマンドを定義する SSH による事前設定された rsync バックアップです。すべてのデータディレクトリは、WindowsスタイルのACLを有効にします。

現実的には、ユーザーリストは各ユーザーが見て変更できる項目を選択したいほど短く、個別にそうすることが実用的です。私はシンボリックリンク、ユーザー/グループ関係、Unix権限とACL、シンボリックリンクを完全に自由に設定できます。しかし、それをエレガントに実行すると、管理しやすく、私に多くを必要としないシステムと絶えず痛みを伴うシステムの間に違いがあります。

ユーザーがどのフォルダを表示したいのか、読み取り/書き込み、読み取り専用アクセス、または巡回/非巡回アクセスが必要かどうかを知っています。私が望むのは、実際には各ユーザーが必要とするすべてを実装し、データファイルシステムで表示できるフォルダとそのフォルダの中で読み取り/書き込み、読み取り専用などを設定することです。これにはいくつかの方法があります(さまざまなユーザーとグループの設定、権限+ ACL、Samba拒否ディレクトリ、Symlink、Samba、およびこれらのシンボリックリンクが機能しない場合はUnionマウントまたはmount_nullfs?)。私はUNIX Experienceを使用していません。これは世界で計画されたことですが、私は閉じ込められています。

以前に試したことのないファイルシステムを計画し、アクセスを制御するために必要なものを特定すること)の間)、今詰まっています。

権限とファイルシステムの使用方法に関する多数のリソースがあります。機能的に働くしかし、方法に関する情報が見つかりません。計画と設定基本的なマルチユーザーファイルサーバーのデータレイアウトと「同じ/同じ結果を達成するためのさまざまな方法」を実行した結果。

経験豊富なシステム管理者はこれをどのように処理しますか?

ベストアンサー1

おすすめ記事