ユーザーが所有するSFTPディレクトリ

ユーザーが所有するSFTPディレクトリ

SFTPを介してLinuxサーバーからAWS EC2のRed Hat 8サーバーにファイルを転送できるようにしたいです。

というユーザーを作成しsftpuserました。SFTPを介してこのユーザーに送信されたすべてのファイルにログインする必要があります/testdata/sftp/incoming/

/testdatarootをandの所有者として作成した場合にのみ機能させることができましたが、他のLinuxユーザーが所有する必要があり、/testdata/sftpグループ/testdata/その他の権限を付与するとSFTPは機能しません。

Match User sftpuser
        ChrootDirectory /testdata/sftp/incoming
        AllowTcpForwarding no
        X11Forwarding no
        ForceCommand internal-sftp

着信フォルダにsftpファイルを転送することは可能ですが、他のユーザーがそのファイルを所有できるようにすることはできますか/testdata

ありがとう

ベストアンサー1

/testdataなぜ他のユーザーにディレクトリを所有させようとするのですか? 〜のようにSFTP internal-sftpChrootDirectoryを使用するには、指定されたすべてのパスが次のものである必要があります。ユーザー専用。

良い方法は、sftpuserユーザー設定を変更することです。たとえば、次のようになります。

Match User sftpuser
        ChrootDirectory /testdata/sftp/
        AllowTcpForwarding no
        X11Forwarding no
        ForceCommand internal-sftp

incomingディレクトリを削除しました。;その後、構成を再ロードします。

sudo systemctl reload sshd.service
### sudo service ssh reload      ## use this command if not a systemd 

これで、incoming特定のsftpuserユーザー/グループ権限を使用して個別にディレクトリを作成します。たとえば、次のようになります。

sudo mkdir /testdata/sftp/incoming
sudo chown sftpuser /testdata/sftp/incoming
sudo chmod 755 /testdata/sftp/incoming

これで、パスにsftpuser読み取り/書き込みアクセス権があります。/testdata/sftp/incoming/

おすすめ記事