
私はマルチユーザーファイルサーバーに適した権限スキームを見つけようとしてきました。現在約5人のユーザーがいて、各ユーザーは自分のホームディレクトリにファイルを保存しています。これらのファイルには、ownCloudを実行しているWebサーバーやBitTorrent Syncアプリケーションなど、コンピュータ上のさまざまなアプリケーションを介してアクセスすることもできます。これらのアプリケーションはそれぞれ独自のユーザーアカウントで実行されます。次の目標を達成するために権限スキームを探しています。
- どのユーザーも他のユーザーのホームディレクトリにアクセスできません(管理者である本人を除く)。
- アプリケーションユーザーアカウントには、すべてのユーザーアカウントへのフルアクセス権が必要です(ユーザーアクセス分離がアプリケーション自体内で正しく実装されていると仮定します。そうしないと、ルール1に違反します)。
- アプリケーションユーザーアカウントで作成されたファイルは、ホームディレクトリに作成されたユーザーが引き続きアクセスできる必要があります。
私が現在考えている最善の方法は、すべてのアプリケーションをwwwグループに追加してから、ユーザーのホームディレクトリをwww 770にすることです。しかし、これは実際には良い解決策ではないようです。私が持っているもう一つのアイデアは、ユーザー固有のグループ(たとえば、ユーザーと同じ名前のグループ)を使用してから、ホームディレクトリを:770にし、各ユーザーグループに個別にアプリケーションのユーザー名を追加することでした。あるいは、粘着性のあるビットを使用することもできますが、どのように機能するのかわかりません。私はスティッキーなビットがLinuxとBSDでわずかに異なる動作をしていることを知っているので、おそらくこれはFreeNASサーバーと指定する必要があります。
どんなアイデアがありますか?ローカルWindowsユーザーとして、これはACLを使用して5分以内に実行できることの1つですが、これが人生です。
答え1
たとえば、Webサーバー(または外部からアクセス可能なサーバー)を提供するいっぱいユーザーファイルへのアクセス(読み取り、書き込み、実行)はいいえこれはセキュリティの観点から良い考えです。原則として、ファイルへの読み取りアクセスを制限し、ディレクトリへの読み取り/実行を制限する必要があります。実際、FreeBSDのデフォルト値は次のとおりです。others
読むユーザーファイルにアクセスします。これはあなたの人生をより簡単にしますが、最初のポイントを崩します。
より良い解決策がありますjail
たとえば、ネットワーク経由でユーザーがアクセスできるファイルを刑務所のディレクトリにミラーリングするcron
タスク(ルートとして実行)を作成します。rsync
bittorrentと同じ場合、bittorrentクライアントがコンテンツを読み書きできるディレクトリも作成します。ディレクトリをtorrents
読み取り/書き込みアクセス権を持つグループに設定し、すべてのユーザーをグループのメンバーにします。
編集する:
刑務所にインストールし、ディレクトリのグループ権限を読み取り/書き込みに設定した場合、nullfs
これは良いオプションのように聞こえます。刑務所は分離を提供する必要があります。
私は一つを使ったnullfs
との組み合わせunionfs
ファイルを使用可能にし、変更を他の場所に置きます。したがって、uploads
そのディレクトリのコンテンツに触れることなく、急流からの着信コンテンツをそのディレクトリに配置できますfiles
。