私はサーバーでMinecraftを実行しています。友達に、私のワールドフォルダ(ルートフォルダ)、コマンド、およびscreen
いくつかのポートへのSSHアクセスをどのように許可できますか?
答え1
最初の2つを達成するには、ユーザーを目的のディレクトリに閉じ込める必要があります。時にはこれをサンドボックスと呼び、chroot
Linuxに関連しています。
SSHユーザーをchrootにするには、ここで良い記事を見つけることができます。ここ。
3番目のことはよくわかりませんが、一度見てください。iptablesを使用してユーザー/グループへのネットワークアクセスを制限する方法 - 所有者の一致。
しかし、彼にそのような制限/特権を与えるべきかどうかはわかりません。
答え2
FreeBSDでは、ユーザーを制限するために刑務所を使用できます。しかし、Linuxには刑務所はありません。 (存在するかもしれませんが、システムの一部ではありません。)FreeBSDのJailはオペレーティングシステムレベルの仮想化です。 Linuxでも同じ結果が得られます。この記事を実行できるプログラムもいくつか記載されているので、その記事を読んでください。パフォーマンスを向上させるために、OSレベルでの仮想化をお勧めします。
http://wiki.openvz.org/Introduction_to_virtualization
したがって、デフォルトでは、あなたは2番目のオペレーティングシステムのように動作し、友達はオペレーティングシステムとコンテンツによって制限されます。 2番目のオペレーティングシステムはフォルダ内にあるかのように実行され、友達はファイルの残りの部分を見るために終了できません。彼はこれに限定されます。 chrootによって生成されたサンドボックスは簡単にエスケープできるため、chrootよりも多くの利点があります。
問題なくMinecraftフォルダにアクセスできます。ただし、友達が画面にアクセスできるようにするには、2番目のオペレーティングシステムにも画面をインストールし、友達がアクセスできるようにする他のすべての項目もインストールする必要があります。
通常、2番目のOSには特定のIPがあり、コンピュータのポートxとyに何かが接続されるたびにそのIPにリダイレクトするように言います。したがって、SSHに使用するポートを介してユーザーがコンピュータに接続すると、2番目のオペレーティングシステムにリダイレクトされます。 Minecraftのポートと同じです。
さらに、簡単にするために、「minecraft」フォルダへのシンボリックリンクを作成して、「minecraft」フォルダにアクセスするために常に2番目のオペレーティングシステムのフォルダに移動する必要がないようにすることもできます。
これは、あなたに最適なソリューションではないかもしれませんが、設定が難しくなく、最大限のセキュリティとプライバシーを提供するので、考慮する必要がある実行可能なソリューションです。
答え3
SSHはこの目標を達成するように設計されていません。安全だと思う解決策を見つけることもできますが、実際にはどこかにバックドア(ssh -W
、ssh -o ProxyCommand
など)があるかもしれません。
私の考えに最適な解決策はMinecraftフォルダにアクセスできる仮想マシンを作成し、友達に仮想マシンのSSHアカウントを提供します。。
最良の方法は次のとおりです。オペレーティングシステムレベルの仮想化良い長沙またはオープンVZ、基本的に達成改善 chroot
パフォーマンスにほとんど影響を与えないその他のカーネルレベル分離メカニズムです。