OpenSSH、chrootユーザー:rootにはユーザーディレクトリが必要です。結果はありますか?

OpenSSH、chrootユーザー:rootにはユーザーディレクトリが必要です。結果はありますか?

私のコンピュータで私の友人のためのアカウントを作成したいのですが、私の友人が私のすべてのファイルを見たくありません。 OpenSSHにオプションがあることを確認しました。

SSHD設定ファイルの内部:

/etc/ssh/sshd_config

ラインを含む:

ChrootDirectory /home/%u

ただし、ユーザーのホームディレクトリはに属している必要がありますroot。これは悪いですか?管理者がディレクトリを所有している場合、どのような結果や影響がありますか?

私は両方のディストリビューションとFreeBSDの両方を使用しているので、この質問にタグ付けしました。rootユーザーホームディレクトリを持つための要件が​​ディストリビューションおよび/またはオペレーティングシステムによって異なるかどうか疑問に思います。

答え1

あなたは少し誤解しましたchroot。ただ物を隠すのではなく、ディレクトリが実際に/セッションのディレクトリになります。その下にはかなり完全なシステムイメージ(/etcなど)/binを提供する必要があります/lib。それ以外の場合は何も機能しません(特にユーザーはシェルを実行できません)。 root新しいファイルシステムのルートが必要な/理由は次のとおりです。他の人のためにファイルシステムのルートを持つことは明らかなセキュリティ問題になります。

答え2

特定の質問に答えるには、rootSSHDが提供するユーザーのホームディレクトリが必要chrootです。ホームディレクトリが属していない場合、ユーザーは経由rootで接続するとそのディレクトリを終了できますsftp

rootユーザーのみが接続されているが、sftpユーザーが別の方法で接続されているssh場合(たとえば)、シェルが付与されている場合は、次のようにする必要があります。別のソリューション、絵限定シェルrssh

関連情報