chrooted sftpを使用してホームユーザーに書き込む方法

chrooted sftpを使用してホームユーザーに書き込む方法

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はセキュリティのために設計されていません。

おすすめ記事