![SFTP Chroot 書き込み chrooted /](https://rvso.com/image/760619/SFTP%20Chroot%20%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%20chrooted%20%2F.png)
おい、
chroot されたユーザーで / に書き込みたいのですが、できません。
例: /home/sftponly/
ChrootDirectoryとして
内部にはこのユーザーに対する権限を持つ別のディレクトリが必要です。そうでないと接続できません。
接続するユーザーにはサブディレクトリが表示されませんが、書き込み可能にしたいです。何が間違っているのか、何かアドバイスはありますか?
私のsshd_config
Match User sftponly
ChrootDirectory /home/sftponly
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
答え1
私の理解が正しければ、ユーザーが chroot されている間にホーム ディレクトリに書き込めるようにしたいということですね。
chroot を有効にして sftp を使用して接続すると、次のようになります。
- ユーザーはメインの「chroot」ディレクトリにchrootされます(ここでは、
/home/sftponly
)- メイン chroot は root が所有し、ユーザーに対して読み取り専用である必要があります。
- ユーザーはchrootされるまた
/etc/passwd
メイン chroot から開始する場合の説明に従って、ホーム ディレクトリに移動します。これホームディレクトリはユーザーが書き込み可能です。
したがって、/etc/passwd に次のような行がある場合:
sftponly:x:1002:1002:,,,:/home/sftponly:/bin/bash
sshd はユーザーを に chroot しようとします/home/sftponly/home/sftponly
。
だからもしあなたが絶対に必要この正確なパスに chroot するには、/home/sftponly
メインの chroot をsshd_config
次のように設定する必要があります/home
。
ChrootDirectory /home
次にホームディレクトリを設定しますsftpのみ/etc/passwd
の中へ/sftponly
:
sftponly:x:1002:1002::/sftponly:/bin/bash
その後、/home/sftponly
sftponly ユーザーが書き込み可能になります。問題ありません。