sftp входят в проблему с chroot

Я хочу смочь создать структуру для хостинга нескольких сайтов. Я хочу, чтобы пользовательские файлы находились в /var/www/sites/domain.com и sftp доступе, который будет ограничен с chroot.

Я последовал некоторым примерам о том, как настроить это, и это - то, что я сделал до сих пор:

Добавленный новый пользователь, набор корневой каталог и группа:

useradd foobar -d /var/www/sites/foobar.com -g sftp

Внутри /etc/ssh/sshd_config Я добавил:

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

и перезапущенный сервис

Я настроил /etc/vsftpd/vsftpd.conf включать следующие изменения:

anonymous_enable=NO

local_enable=YES

chroot_local_user=YES

и перезапущенный vsftpd

Я установил владение/var/www/sites для укоренения и /var/www/sites/foobar.com к foobar

Но когда я пытаюсь соединиться через sftp, использующий filezilla, я получаю это:

Error:  Authentication failed.
Error:  Critical error: Could not connect to server

Имя пользователя и пароль, данный filezilla, корректны, конечно,

Что я пропускаю?

0
задан 7 January 2015 в 01:42
1 ответ

Internal-sftp требует, чтобы корневой пользователь проживал внутри корневого dir:

/some/path/root- belonger/user-dir1

Корневой dir должен иметь 555 разрешений, а пользовательские dir должны быть созданы корневым пользователем и принадлежать конкретному пользователю. Внутри subdirs пользователь может делать что угодно, но не может удалять или переименовывать их.

В вашем случае хорошим подходом будет следующий:

/var/www/sites/foobar.com/data
                         /logs

Домашний адрес пользователя - /var/www/sites/foobar.com/

var, www, сайты и foobar.com должны принадлежать root'у. Также foobar.com должен иметь 555 разрешений. Данные и журналы должны принадлежать пользователю, а разрешения должны быть достаточно широкими, чтобы разрешить доступ к ним httpd .

2
ответ дан 4 December 2019 в 13:53

Теги

Похожие вопросы