Не может правильно установить vsftpd использование MariaDB

Цель

Моя цель состоит в том, чтобы иметь FTP-сервер (vsftpd) установленный, к которому я могу добавить пользователей / пароли к моему MariaDB для проверки.

Я использовал это руководство: https://www.howtoforge.com/virtual-hosting-with-vsftpd-and-mysql-on-debian-squeeze и немногие другие, чтобы попытаться решить мои проблемы.

Проблема

В попытке соединить использование FileZilla это указывает ECONNREFUSED' Connection refused by server таким образом, кажется, что мой сервер даже не принимает соединение во-первых.

Мои пакеты, которые я установил: vsftpd, libpam-mysql, и MariaDB

Если я просто пропускаю пакет, сообщенный мне также, поскольку это может быть легкой фиксацией!

MariaDB

Мой MariaDB определенно создан правильно, поскольку я могу запросить его для других приложений. У меня действительно есть база данных названной vsftpd, таблица названный учетными записями и столбцами идентификатора, имени пользователя, пароля с двумя демонстрационными пользователями в нем.

Я действительно выполнял следующее для предоставления vsftpd полномочий:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass';
FLUSH PRIVILEGES;

Я оставил пароль как ftpdpass только, чтобы попытаться получить вещи выполнение, но возвращусь и изменю его позже, если я могу на самом деле заставить процесс устанавливать это правильно вниз.

vsftpd

Мой /etc/vsftpd.conf следующие:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
nopriv_user=vsftpd
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
guest_enable=YES
guest_username=vsftpd
local_root=/home/vsftpd/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd_user_conf

libpam-mysql

Мой /etc/pam.d/vsftpd следующие:

auth required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2

Как отмечено ниже я сохранил свой пароль как ftpdpass для прямо сейчас, пока я не получаю рабочее решение

Дополнительный

Я действительно перезапускал vsftpd после всего этого, но все еще получал отказанное соединение. Возможно, у более опытных пользователей есть способ для меня проверить что не так? Любой ценой спросите, должен ли я предоставить больше информации вообще. Вся справка значительно ценится!

Также обратите внимание, что это работает на Raspberry Pi, запускающем Raspbian / Debian 7, если это имеет какое-либо значение. Я просто сделал совершенно новую установку.

0
задан 9 August 2019 в 07:57

1 ответ

Мне удалось решить это. Одна вещь отметить любым в будущем, смотря на это. Если Вы когда-нибудь хотите видеть, бежит ли vsftpd на самом деле и слушает, управляют следующей командой:

netstat -tlpm

Вы должны видеть vsftpd в списке, слушающем под портом 21!

, Если Вы не делаете тогда, это не слушает / управление. Для меня это было то, потому что у моего /etc/vsftpd.conf было что-то не так в нем. Если у vsftpd есть неправильный параметр (т.е. напечатанный неправильно) он просто не будет бежать. Так или иначе мое новое /etc/vsftpd.conf следующие:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
nopriv_user=vsftpd
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
guest_enable=YES
guest_username=vsftpd
local_root=/home/vsftpd/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd_user_conf
pasv_enable=YES
allow_writeable_chroot=YES

ключевые строки, которые я пропускал, были:

pasv_enable=YES
allow_writeable_chroot=YES

Это решило мою проблему туда, где я мог соединиться.

Другой вопрос решил

, я хотел добавить это примечание к кому-либо еще имеющему те же проблемы. После соединения успешно я хотел, чтобы у моих пользователей была способность отредактировать их домашнюю папку. Чтобы сделать это, мой процесс для добавления, что новый пользователь:

  1. имя пользователя Вставки, пароль к моей базе данных: ВСТАВЬТЕ НА счета (имя пользователя, проход) ЦЕННОСТИ ('newuser', ПАРОЛЬ ('пароль'));

*Note важно использовать ПАРОЛЬ () вокруг пароля, или соединения не будут работать!

  1. Создают новый справочник для пользователя и гарантируют, что у vsftpd есть владение к нему

    mkdir /home/vsftpd/newuser

    chown -R vsftpd /home/vsftpd

    chmod -R u+rX /home/vsftpd

  2. Теперь соединение, поскольку новый пользователь будет работать и иметь, пишут / прочитанный доступ к корневому каталогу!

0
ответ дан 23 October 2019 в 06:33

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

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