sftpとそのホームフォルダのルートに問題があります。自分の家に書きたいのですが、そうするための適切な権限がありません。
sshd_config
Match User demo
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
ユーザー
demo:x:1013:1014::/home/ftp/demo2:/bin/false
目次
root@xxx:/# ls -l /home/ftp/
drwxr-xr-x 2 root root 4096 Nov 3 13:35 demo2
エラーメッセージ
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
Write failed: Broken pipe
/home/ftp/demo2 以下のフォルダに書き込むことができることを知っていますが、書く必要があります。/ホーム/ftp/デモ2内部フォルダにはないので必須です。
変えました。デモ2権限とユーザー/グループはありますが、書き込むことはできません。
そして…他の質問もあります。家が/home/ftpの下にある3人のユーザーがいますが、家が別のパスで利用できない人もいます。Chroot ディレクトリ/home/ftp/%u, %h を使用する必要があります
これを行う方法はありますか?
ありがとうございます!
答え1
次のように、各ユーザーに異なるchrootの場所を設定できます。
Match User a
Configuration for user a
Match User b
Configuration for user b
セキュリティ上の理由から、OpenSSH の SFTP サブシステムは root が所有していないディレクトリへの chroot を拒否するため、root でないと chroot ディレクトリに新しいファイルを作成できません。ユーザーIDを0に変更すると、事実上ルートになります。悪いアイデア。ルートになると、ユーザーはchroot刑務所から離れることができるだけでなく、最小権限の原則に違反してシステムですべての操作を実行する権限を取得します。ユーザーIDを再び一般IDに変更することをお勧めします。
セキュリティを強化するためにchrooted SFTPを使用することを選択した場合、chrootはセキュリティのために設計されていません。