Как я настраиваю пользователя FTP с доступом к веб-корню с помощью vsftpd?

Как я настраиваю пользователя FTP с доступом к веб-корню с помощью vsftpd?

Я в настоящее время настраиваю веб-сайт, и я пытаюсь узнать больше о веб-серверах на пути. Я использовал совместно использованных поставщиков услуг хостинга прежде, но на этот раз я хотел бы настроить сервер с нуля с VPS. Я уже установил стек LAMP и установил Wordpress. Все работает до сих пор за исключением обновления Wordpress автоматически, так как это просит доступ FTP.

Поэтому я установил vsftpd следующим это учебное руководство. Это также работает соответственно.

Проблема состоит в том, что в учебном руководстве, которое имеет пользователь FTP, это выделило каталог файлов (/home/ftp_user/ftp/files), но я должен предоставить пользовательский доступ к веб-корню (/var/www/html/site) для Wordpress, выполняющего обновление.

Я пытался иметь local_root точка к /var/www/html

и я пытался настроить символьную ссылку как это

ln -s /var/www/html /home/ftp_user/ftp/files

но оба пути не работают. Когда я пытаюсь соединиться, говорит это

vsftpd: refusing to run with writable root inside chroot()

Что надлежащий путь состоит в том, чтобы достигнуть этого? Или было бы лучше не использовать /var/www/html местоположение вообще?

0
задан 27 February 2019 в 16:13

2 ответа

FTP не следует за символьными ссылками на серьезных основаниях. Вместо этого необходимо использовать связывание - монтируются.

# Create mount directory below ftp/files
mkdir /home/ftp_user/ftp/files/www

# Mount
mount -o bind /var/www/html /home/ftp_user/ftp/files/www

Попробуйте, если это работает.

Для создания этого постоянным добавляют это к /etc/fstab:

/var/www/html /home/ftp_user/ftp/files/www none defaults,bind 0 0

Знайте, что в отличие от символьной ссылки, если Вы удаляете www- папка Вы удалите все файлы в /var/www/html также.

0
ответ дан 26 October 2019 в 03:53

Метод, описанный RoVo, работает на меня. Но я думаю, что у меня было 2 проблемы вначале (chroot и символьные ссылки).

Путем добавления allow_writeable_chroot=YES к vsftpd.conf файл, это теперь также работает для указания local_root кому: /var/www/html

Я не уверен, безопасно ли это для добавления allow_writeable_chroot=YES при установке, но это было упомянуто на нескольких сайтах, например, 1 2

Сделать local_root работа, я добавил эту строку к /ect/vsftpd.conf:

user_config_dir=/etc/vsftpd/vsftpd-user-conf

и созданный файл с именем пользователя FTP в папке /etc/vsftpd/vsftpd-user-conf/ с этим содержанием:

local_root=/var/www/html
0
ответ дан 26 October 2019 в 03:53

Другие вопросы по тегам:

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