私はsftpをdebianサーバーで設定しようとしています。sshd_config:
Subsystem sftp internal-sftp
UsePAM no
Match User sftpUser
ChrootDirectory /users/sftp/sftpUser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
ディレクトリ:
drwxr-xr-x 3 root root 4096 Oct 20 10:59 users
drwxr-xr-x 3 root root 4096 Oct 20 11:00 sftp
drwxr-xr-x 2 root root 4096 Oct 20 11:00 sftpUser
cat /var/log/auth.log
Oct 20 10:58:22 w1 sshd[24634]: Accepted password for sftpUser from 201.156.103.213 port 34106 ssh2
Oct 20 10:58:22 w1 sshd[24636]: fatal: bad ownership or modes for chroot directory component "/"
sftpUser no home、bin/false
およびユーザーグループのメンバー。
クライアント側では有名なWrite failed: Broken pipe
その後、接続がドロップされます。 sshd_configのChrootDirectory
commandにコメントを付けると、接続が確立されますが、ユーザーはゆるくなります。
何が悪いのですか?
_sshd_config
_でChrootDirectory
オプションを使用するには、書かれたテキストの基本的な理解が必要です。
これは、sshd_config(5)
のマニュアルページのスナップショットです。
ChrootDirectory
認証後の
chroot(2)
へのディレクトリのパス名を指定します。 パス名のすべてのコンポーネントは、他のユーザーまたはグループが書き込みできないルート所有のディレクトリである必要があります。 chrootの後、sshd(8)
は作業ディレクトリをユーザーのホームディレクトリに変更します。
これはあなたのエラーログです:
_fatal: bad ownership or modes for chroot directory component "/"
_
これは、引用の強調部分を確実に満たす必要があることを意味します。あなたの_/
_はrootが所有する必要があり、w
aclは所有者のみが持つことができます。