ChrootDirectory をプライマリディレクトリ内のサブディレクトリに変更します。

ChrootDirectory をプライマリディレクトリ内のサブディレクトリに変更します。

私のシステムでは、「/etc/ssh/sshd_config」のみを使用して、ホームディレクトリにrootを指定したユーザーを作成しています。うまくいきますが、ChrootDirectoryホームディレクトリを/home/%u/%uまたはにしたいと思います/home/%u/public

/home/%u両方の方法を試しましたが、これを実行してFlashFXPやFileZilla(機能)などのFTPクライアントを使用して接続すると、常に接続が拒否されるようです。

「ChrootDirectory /home/%u」に設定すると、サブディレクトリにアクセスできるため、権限は問題ありません。それで、私は何が間違っていましたか?

ベストアンサー1

man sshd_config:

ChrootDirectoryは、
認証後のchroot(2)のディレクトリパス名を指定します。セッションの開始時に、sshd(8)は、パス名のすべてのコンポーネントが他のユーザーまたはグループが書き込めないルートが所有するディレクトリであることを確認します。

ユーザーをSFTPに制限すると、トリックなしでホームディレクトリ(サブディレクトリを除く)を使用できます。

sshやscpの代わりにsftpを使用する特別な場合は、ChrootDirectory%hまたはChrootDirectory /some/path/%uを使用できます。このディレクトリを含むファイルシステムは、nodevおよびnosuidまたはnoexecオプションを使用してマウントする必要があります。ディレクトリの所有者はユーザーでなければなりません。パスの他のコンポーネントの所有権は一般的な条件を満たす必要があります。このディレクトリには他のファイルは必要ありません。

SFTPは次のよ​​うに制限できますForceCommand internal-sftp

おすすめ記事