20コンピューティングノードから98,000コンピューティングノードまで、サイズが約40のクラスター上で数千人のユーザーがアプリケーションを実行している環境があります。これらのシステムのユーザーは、従来のUNIXアクセス許可によって制御される大容量ファイル(1PBを超える場合もあります)を生成します(ファイルシステムの特殊な性質のため、ACLは通常、利用できないか、実用的ではありません)。
現在、「give」と呼ばれるプログラムがあります。これは、グループの権限が不十分な場合に、ユーザーが別のユーザーにファイルを「与える」ことができるsuid-rootプログラムです。したがって、ユーザーは次のように入力してファイルを別のユーザーに提供します。
> give username-to-give-to filename-to-give ...
受信側のユーザーは、「take」(giveプログラムの一部)と呼ばれるコマンドを使用してファイルを受信できます。
> take filename-to-receive
次に、ファイルの権限が受信ユーザーに効果的に転送されます。
このプログラムは何年も前から存在しており、セキュリティと機能の観点から再検討したいと思います。
私たちの現在の行動計画は、「ギブ」の現在の実装のビット腐敗を取り除き、それを本番環境に再デプロイする前にオープンソースアプリとしてパッケージ化することです。
従来のUNIXアクセス許可しか利用できない場合に、ユーザー間で非常に大きなファイルを転送するために使用する別の方法はありますか?
chown
なら、それを行うべきです。関係する両方の当事者が同意したら、ファイルもコピーしたいようです。