Меню

Vsftpd настройка mysql ubuntu

Vovanys Server

Настройка vsftpd с хранением учеток в MySQL

Для «производственных» нужд стало необходимо заливать на сайты по FTP файлы.

В качестве FTP сервера было решено поставить vsftpd, а хранить учетные записи в mysql для удобства добавления учеток.

В данном примере имя логина равно названию папки где хранится ваш сайт, папка и т.д.

apt-get install vsftpd libpam-mysql

Если mysql не установлен его необходимо поставить (apt-get install mysql-server).

Создаем базу и учетную запись в mysql для vsftpd:

Выбираем базу и создаем таблицу:

Если длина логина в 30 символов вас не устраивает можете поменять этот параметр.

Создаем в системе пользователя vsftpd и делаем ему домашнуюю директорию /var/www:

Делаем резервную копию файла настроек:

cp /etc/vsftpd.conf /etc/vsftpd.conf_back

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
guest_enable=YES
guest_username=vsftpd
local_root=/var/www/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd_user_conf

Если необходимо «перевесить» порт ftp добавляем:

Создаем папку в которую можно складывать персональные настройки для каждой учетной записи:

Редактируем PAM модуль который отвечает за авторизацию пользователей через mysql, предварительно сделав backup :

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_back

auth required pam_mysql.so user=vsftpd passwd=пароль_для_vsftpd host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=пароль_для_vsftpd host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2

Сервер готов к работе достаточно создать виртуальных пользователей и можно работать.

Для добавления пользователя используем команды:

Логин будет равен папке которая лежит в папке /var/www т.е. если вы создали учетку test.com то папка в /var/www будет тоже test.com.

Заводить учетки можно не только таким образом, можно используя любую администрировалку mysql, либо через php скрипт и т.д.

Создаем эту самую папку в /var/www и меняем права:

mkdir /var/www/логин
chown vsftpd:nogroup /var/www/логин

Источник

Vsftpd настройка mysql ubuntu

Всех рад видеть снова на страницах своего блога, продолжаем с вами изучать операционную систему Debian, ранее мы ее с вами поставили, и сегодняшней темой дискуссии будет как установить VSFTPD + MYSQL в Debian, Ubuntu. Думаю, для начинающих пользователей это будет очень полезно.

Читайте также:  Самсунг gt 5660 сброс к заводским настройкам

1)Установка vsftpd, MySQL и phpMyAdmin

Vsftpd собран без поддержки MySQL, по этой причине необходимо установить пакет libpam-mysql для PAM аутентификацию в MySQL базе данных. таким образом мы должны установить следующие пакеты libpam-mysql совместно с vsftpd, MySQL, и пакет phpMyAdmin:

Далее необходимо назначить пароль для пользователя root для управления MySQL(замените слово пароль на ваш настоящий пароль) :

проверим все ли получилось?

Это если у вас имя хоста только локальное localhost.localdomain, в противном случае вы увидите что-то типа:

Для смены пароля вашей базы данных MySQL под ваш hostname, примените следующую комманду:

2) Создаем в терминале суперпользователя MySQL базу данных под vsftpd

в появившемся окне выполняем следующие команды (т.е. находясь в командной оболочке MySQL создадим базу):
Их можно скопировать выделить и затем вставить, нажав среднюю кновку мыши.

Далее таблицу для этой базы:

Открыв в браузере ссылку- http://localhost/phpmyadmin/ (или ваш-сервер например: http://server1.example.com/phpmyadmin/, или можно вставить IP адрес вашего сервера) вы попадете в утилиту phpmyadmin.
С помощью этой утилиты вы можете создать или изменить эту же базу данных (vsftpd), и тут же просмотреть её.
Позже с помощью неё вы сможете управлять вашим vsftpd сервером.

3)Конфигурируем vsftpd

В начале создаем непривилегированного пользователя vsftpd (с домашней директорией: /home/vsftpd) входящего в группу: nogroup. Домашние директории виртуальных пользователей, в дальнейшем будут расположены в этой /home/vsftpdдиректории (например: /home/vsftpd/user1, /home/vsftpd/user2, и т.д.).

Сохраняем оригинальный /etc/vsftpd.conf файл и создаем другой:

Вставляем в открывшееся окно следующий текст:

сохраняем созданный файл.
Посмотреть примеры можно по адресу: http://vsftpd.beasts.org/vsftpd_conf.html (объяснение многих строк я делал вот в этой статье: )

Для использования в дальнейшем опций: user_config_dir, создадим вновь специальную директорию:

Читайте также:  Acer aspire 3830tg восстановление заводских настроек

Источник

Установка и настройка vsFTPd на Ubuntu

vsFTPd и proFTPd — одни из самых простых способов поднять сервер FTP на Linux. В данной инструкции пойдет речь о vsFTPd и Ubuntu (на примере версий 14 и 16).

Установка и настройка

Обновляем списки портов в репозиториях:

apt-get install vsftpd

Открываем конфигурационный файл:

И снимаем комментарий со следующих строк:

* write_enable — разрешить копировать файлы на сервер; chroot_local_user — использовать для пользователей изолированное окружение.

И дописываем следующее:

allow_writeable_chroot=YES
pasv_enable=YES
pasv_max_port=60000
pasv_min_port=65535

* где allow_writeable_chroot разрешаем использовать домашние каталоги с правом на запись; pasv_enable включает пассивный режим работы FTP-сервера; pasv_max_port и pasv_min_port определяют диапазон портов для пассивного режима.

Если используется брандмауэр, необходимо добавить правила и разрешить следующие порты:

Разрешаем и перезапускаем сервис:

systemctl enable vsftpd

systemctl restart vsftpd

Добавление пользователя

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

* где ftpuser — имя учетной записи; /ftp — домашний каталог (в него будем попадать при подключении); /bin/false — запрет пользователю на локальный вход в систему.

Открываем на редактирование следующий файл:

И добавляем следующее:

* мы добавили /bin/false в список разрешенных оболочек. В противном случае, может вернуться ошибка 530 Login incorrect.

Проверка

Для проверки подключения можно воспользоваться FTP-клиентом на другом компьютере (например, FileZilla или Total Commander).

Также можно установить FTP-клиент на сервер:

apt-get install ftp

И для подключения используем следующую команду:

Система запросит логин и пароль.

Настройка SSL/TLS

TLS позволяет настроить безопасный FTP, передача данных через который осуществляется по шифрованному каналу.

Для данной цели можно использовать самоподписанный сертификат. Чтобы его создать, вводим команду:

Читайте также:  Настройка nat virtualbox windows

* в данном примере мы создаем самоподписанный сертификат на 4 года для URL ftp.dmosk.local или ftp. Открытый ключ будет сохранен в файле /etc/ssl/certs/vsftpd.pem, закрытый — /etc/ssl/private/vsftpd.key. При желании, мы можем использовать купленный сертификат или получить его бесплатно у Let’s Encrypt.

Открываем на редактирование конфигурационный файл vsFTPd:

rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key
ssl_enable=YES

* где ssl_enable разрешает использование шифрования; rsa_cert_file — путь к открытому ключу; rsa_private_key_file — путь к закрытому ключу.

И дописываем следующие:

allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
ssl_ciphers=HIGH

systemctl restart vsftpd

Виртуальные пользователи

Устанавливаем pam-модуль, позволяющий аутентифицировать пользователей с помощью passwd-like файлов:

apt install libpam-pwdfile

Открываем конфигурационный файл vsftpd и добавляем следующее:

user_config_dir=/etc/vsftpd_virtuser_conf
guest_enable=YES
virtual_use_local_privs=YES
pam_service_name=vsftpd
nopriv_user=vsftpd
guest_username=vsftpd

Для возможности использовать утилиту htpasswd ставим следующий пакет:

apt install apache2-utils

Создаем каталог для хранения файла виртуальных пользователей и двух пользователей:

* обратите внимание, опция -c команды htpasswd используется только при создании файла (при первом вводе команды). Мы создаем два пользователя — virt1 и virt2.

Архивируем имеющийся pam-сервис для vsftpd:

mv /etc/pam.d/vsftpd /etc/pam.d/back_vsftpd

Создаем новый со следующим содержимым:

auth required pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd
account required pam_permit.so

В самой системе создаем пользователя, которого используем как гостевого:

* с домашней директорией /home/vsftpd, основной группой nogroup и без возможности входа в систему (-s /bin/false).

Создаем каталог хранения настроек виртуальных пользователей:

и создаем настройку для первого:

* local_root — домашняя директория для FTP пользователя virt1.

Создаем домашний каталог для нашего пользователя virt1 и задаем правильные права:

chown vsftpd:nogroup /var/www/virt1

systemctl restart vsftpd || service vsftpd restart

Источник

Adblock
detector