我已阅读并使用chroot在sftp中设置初始目录,并使用了一些
questions和
tutorials.我有chroot目录的正确权限和所有权.我可以让新用户登录,但是他们无法将文件传输到他们应该拥有的文件夹.
例
我想chroot sftpbackups组的成员.在我的sshd_config文件中,我有以下内容.
Subsystem sftp internal-sftp Match Group sftpbackups ChrootDirectory %h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
首先,我创建了一个未添加到sftpbackups组的用户testuser.主目录是/ home / testuser /并且我想在sftp上使用子目录/ home / testuser / backups /.我可以使用sftp将文件传输到我的备份文件夹,例如
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.
我在
blog上找到了答案.我们需要告诉SELinux我们要通过SFTP将文件上传到chroot.默认情况下它是只读的.
setsebool -P ssh_chroot_rw_homedirs on
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。