1 台の Linux サーバーに複数の経験の浅いユーザーがいます。意図しない損害から保護するためにコンテナーを最も効果的に使用するにはどうすればよいでしょうか。

1 台の Linux サーバーに複数の経験の浅いユーザーがいます。意図しない損害から保護するためにコンテナーを最も効果的に使用するにはどうすればよいでしょうか。

私は研究室の研究者向けに多数の GPU サーバーを管理する研究者です。Linux の経験はかなりありますが、ユーザーの中には Linux を使ったことがない人もいます。

他の研究者と私にはルートアクセス権があります。残念ながら、プロジェクトの要件や依存関係などを設定しているときに、意図せずサーバーを損傷したり、誤った構成にしたりすることがあり、その修正方法がわからないこともあります。

そのため、意図しない損害を制限するために、chroot、LXC、またはその他のオーバーヘッドの少ない仮想化を使用したいと考えています。たとえば、ユーザーが誤って実行した場合、sudo rm -rf --no-preserve-root /自分のコンテナーのみが損傷するはずです。意図的な悪意のある損害やリソースの枯渇から保護するつもりはありません (ただし、これが「無料」で提供される場合は便利です)。

さらに重要なのは、この変更がユーザーにとって透過的であること、つまり、全員がサーバーに SSH で接続して自分のコンテナーにすぐに接続でき、rsync なども使用できることです。コンテナーを理解する必要があるのは私だけです。理想的には、全員が共有フォルダー/ディスク (重複させたくない大規模なデータセット、モデルなどを保存するため) にもアクセスできる必要があります。具体的には、Ubuntu 18.04 サーバーを使用しています。

要約すると、私は SSH アクセスを持つ複数のユーザー向けに Linux サーバーを実行しています。私の目標は、大きなオーバーヘッドをかけずに、またユーザーにワークフローの変更を要求することなく、ユーザーを独自のコンテナー/VM に区分して、意図しない損害から保護することです。どうすればこれを実現できるでしょうか?

関連情報