用户拥有的SFTP目录

用户拥有的SFTP目录

我希望能够通过 SFTP 将文件从一台 Linux 服务器传输到 AWS EC2 上的 Red Hat 8 服务器。

我创建了一个名为 的用户sftpuser,并希望通过 SFTP 发送给该用户的所有文件都登陆到/testdata/sftp/incoming/.

/testdata仅当我使 root 成为和的所有者时,我才设法使其工作/testdata/sftp,但我需要/testdata由另一个 Linux 用户拥有,并且授予任何组/其他权限会阻止 SFTP 工作。

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

是否可以将文件通过 sftp 传输到该传入文件夹,但允许其他用户拥有/testdata

谢谢

答案1

你为什么想要/testdata目录由另一个用户拥有?作为sftp internal-sftp使用 ChrootDirectory 要求,所有指定的路径必须属于仅限用户。

一种好方法是更改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/

相关内容