web-dev-qa-db-ja.com

OpenSSH、chrootユーザー:rootはユーザーディレクトリを所有する必要がありますが、何か影響はありますか?

コンピューターで友達のアカウントを作成したいのですが、友達にすべてのファイルを表示させたくありません。 OpenSSHには、そのためのオプションがあることがわかりました。

SSHD構成ファイル内:

/etc/ssh/sshd_config

行で:

ChrootDirectory /home/%u

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

私はこれらすべてを使用しているので、この質問に2つのディストリビューションとFreeBSDのタグを付けました。ユーザーのホームディレクトリを所有するrootの要件は、ディストリビューションやOSによって異なるのではないかと思います。

2
user1115057

特定の質問に答えるには、SSHDが提供するrootが正しく機能するために、chrootがユーザーのホームディレクトリを所有している必要があります。ホームディレクトリがrootによって所有されていない場合、ユーザーはsftpを介して接続するときにディレクトリを終了できます。

ユーザーがrootとのみ接続している場合、ユーザーディレクトリを所有するsftpにマイナス面はありません。ただし、ユーザーが別の方法(sshなど)に接続していてシェルが付与されている場合は、 別のソリューション を使用する必要があります、 制限付きシェルrssh のように。

1
George M

あなたはchrootをいくらか誤解しています。それは単にものを隠すだけではなく、そのディレクトリは実際にはセッションの/になります。その下に適度に完全なシステムイメージ(/etc/bin/libなど)を提供する必要があります。そうしないと、何も機能しません(特に、ユーザーはシェルを持っていません)。走る)。 root新しい/を所有する必要があるのは、この結果です。ファイルシステムルートを所有している他の人は、明らかにセキュリティの問題になります。

4
geekosaur