chroot 和 sftp:目录所有权意外更改

chroot 和 sftp:目录所有权意外更改

我读过并关注过一些问题教程使用 在chroot中设置初始目录sftp。我拥有正确的权限和目录所有权chroot。我可以让新用户登录,但他们无法将文件传输到他们应该拥有的文件夹中。


例子

我想要chroot该组的成员sftpbackups。在我的sshd_config文件中,我有以下内容。

Subsystem sftp internal-sftp
Match Group sftpbackups
        ChrootDirectory %h
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp

首先,我创建了一个testuser未添加到sftpbackups组的用户。主目录是/home/testuser/,并且有一个/home/testuser/backups/我想通过 sftp 使用的子目录。我可以使用 sftp 将文件传输到我的backups文件夹,例如

sftp> ls -l
drwxrwxrwx    2 testuser testuser     4096 Sep 25 00:09 backups
sftp> put a.txt backups
Uploading a.txt to /home/testuser/backups/a.txt
a.txt

testuser当我加入该sftpbackups组时,问题就出现了。

sftp> ls -l
drwxrwxrwx    2 1290     1291         4096 Sep 30 14:58 backups
sftp> put a.txt backups
Uploading a.txt to /backups/a.txt
remote open("/backups/a.txt"): Permission denied

我不确定为什么只有在我添加到组之后目录所有权才会改变sftpbackups,我认为这与我无法传输文件的原因有关。


有什么想法可以继续前进吗?谢谢。服务器是 CentOS 6.8。

答案1

我在博客。我们需要告诉 SELinux 我们想要通过 SFTP 将文件上传到 chroot。默认情况下它是只读的。

setsebool -P ssh_chroot_rw_homedirs on

相关内容