Установка и настройка VSFTPD + MYSQL (Ubuntu & Debian) | ||
Сети > Для новичка Vsftpd считается одним из самых быстрых и хорошо защищенных FTP серверов под Linux. Обычно он устанавливается и конфигурируется под пользователей зарегистрированных в системе. В этом руководстве предполагается установка vsftpd под виртуальных пользователей, зарегистрированных в базе данных MySQL.Такое решение позволяет открыть и управлять до тысячи ftp пользователей на одном сервере.
Управлять MySQL базой вы можете с помощью пакета phpMyAdmin. 1 Введение Использовался дистрибутив Ubuntu 7.10. Все пакеты взяты из штатных репозитариев. 2 Установка vsftpd, MySQL и phpMyAdmin sudo aptitude install vsftpd libpam-mysql mysql-server mysql-client phpmyadmin Далее необходимо назначить пароль для пользователя root для управления MySQL (замените слово yourrootsqlpassword на ваш настоящий пароль) : mysqladmin -u root password yourrootsqlpassword проверим все ли получилось? netstat -tap | grep mysql должно написать: tcp 0 0 localhost.localdo:mysql *:* LISTEN 2713/mysqld Это если у вас имя хоста только локальное localhost.localdomain, в противном случае вы увидите что-то типа: tcp 0 0 *:mysql *:* LISTEN 2713/mysqld Для смены пароля вашей базы данных MySQL под ваш hostname, примените следующую комманду: 3 Создаем в терминале суперпользователя MySQL базу данных под vsftpd mysql -u root -p CREATE DATABASE vsftpd; Далее таблицу для этой базы: USE vsftpd; CREATE TABLE `accounts` ( Запустив в браузере ссылку- http://localhost/phpmyadmin/ (или ваш- например: server1.example.com, или можно вставить IP адрес вашего сервера) вы попадете в утилиту phpmyadmin. 4 Конфигурируем vsftpd В начале создаем непривилегированного пользователя vsftpd (с домашней директорией: /home/vsftpd) входящего в группу: nogroup. Домашние директории виртуальных пользователей, в дальнешем будут расположены в этой /home/vsftpd директории (например: /home/vsftpd/user1, /home/vsftpd/user2, и т.д.). useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd Сохраняем оригинальный /etc/vsftpd.conf файл и создаем другой: cp /etc/vsftpd.conf /etc/vsftpd.conf_orig Вставляем в открывшееся окно следующий текст: listen=YES Для использования в дальнейшем опций: user_config_dir, создадим вновь специальную директорию: mkdir /etc/vsftpd_user_conf Так же должны сконфигурировать PAM для ваших виртуальных FTP пользователей с аутентификацией в MySQL базе данных вместо расположения в /etc/passwd и /etc/shadow. Конфигурационный файл для PAM под vsftpd должен находится в папке /etc/pam.d/vsftpd. Сохраняем оригинальный и создаем новый: cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_orig Вставляем в открывшееся окно следующий текст: auth required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2 Сохраняем этот файл. Помните теперь что вы единственный, кто может восстановить ваш MySQL пароль ! Перезапустим наш vsftpd сервер: /etc/init.d/vsftpd restart 5 Создаем первого виртуального пользователя Заходим опять под root в оболочку MySQL : mysql -u root -p Пишем или копируем команду: USE vsftpd; Создаем пользователяпод именем: testuser и паролем secret: INSERT INTO accounts (username, pass) VALUES('testuser', PASSWORD('secret')); quit; Домашняя директория testuser’а будет здесь /home/vsftpd/testuser. mkdir /home/vsftpd/testuser Теперь через любой FTP клиент для Linux или Windows, или используя просто браузер, вы можете соединится c вновь созданным сервером, используя имя testuser и пароль secret. Для создания и администрирования пользователей вашего фтп сервера вы можете использовать скрипт любезно предоставленный Александром Астаповым, скачать его и почитать о возможностях можно в отдельном посте, http://sudouser.com/skript-dlya-upravleniya-polzovatelyami-vsftpd.html |
||
Комментарии | ||