Я прочитал и подписался на несколько вопросы и учебные пособия по использованию 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.
Я нашел ответ на блог. Нам нужно сообщить SELinux, что мы хотим загружать файлы через SFTP в chroot. По умолчанию он доступен только для чтения.
setsebool -P ssh_chroot_rw_homedirs on