Изменим /etc/pure-ftpd/pure-ftpd.conf и убедитесь, что ChrootEveryone, MySQLConfigFile, и CreateHomeDir строки актиироаны и выглядет следующим образом:
|
[...] ChrootEveryone yes [...] MySQLConfigFile /etc/pure-ftpd/pureftpd-mysql.conf [...] CreateHomeDir yes [...]
ChrootEveryone установка сделает PureFTPd изолированной для каждого виртуального пользователя в его домашнем каталоге, чтобы он не сможет просматривать каталоги и файлы за пределами своего домашнего каталога. CreateHomeDir строка зделает для PureFTPd пользователя этого домашнего каталога, когда пользователь войдет в систему а домашний каталог еще не создан.
Теперь мы редактируем /etc/pure-ftpd/pureftpd-mysql.conf. Он должен выглядеть следующим образом:
|
MYSQLSocket /var/lib/mysql/mysql.sock #MYSQLServer localhost #MYSQLPort 3306 MYSQLUser pureftpd MYSQLPassword ftpdpass MYSQLDatabase pureftpd #MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext MYSQLCrypt md5 MYSQLGetPW SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") MYSQLGetUID SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") MYSQLGetGID SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") MYSQLGetDir SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") MySQLGetQTASZ SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") MySQLGetQTAFS SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
Убедитесь, что Вы замените строку ftpdpass на реальный пароль для пользователя MySQL PureFTPd в строке MYSQLPassword! Пожалуйста, обратите внимание, что мы используем md5 как MYSQLCrypt метод, который означает, что мы будет хранить пользователей пароли, как строки MD5 в базу данных, которая является гораздо более безопасным, чем при использовании обычной текстового пароля!
Теперь мы создаем автозапуск связи для PureFTPd с системой и запустим его:
|
Заполнение базы данных и тестирование
Для большинства людей легче, если они имеют графический интерфейс к MySQL, поэтому Вы можете также использовать PhpMyAdmin (в данном примере под http://server1.example.com/phpMyAdmin/) для администрирования PureFTPd базы данных.
Всякий раз, когда Вы хотите создать нового пользователя, Вы должны создать запись в таблице ftpd, здесь я объясню строки этой таблицы:
- User: имя виртуального пользователя PureFTPd (например exampleuser ).
- status: 0 или 1. 0 означает, что учетная запись отключена, пользователь не может Войти.
- Password: пароль виртуального пользователя. Убедитесь, что вы используете в MySQL функция MD5, чтобы сохранить пароль зашифрован как строки MD5.
- UID: идентификатор пользователя FTP-пользователя, созданной в конце шага два (например, 2001 ).
- GID: GROUPID из FTP группы, созданной в конце шага два (например, 2001 ).
- Dir: домашний каталог виртуального пользователя PureFTPd (например, / главная / www.example.com ). Если она не существует, он будет создан, когда новый пользователь регистрируется в первый раз через FTP. Виртуального пользователя будет тюрьму в этот домашний каталог, т. е. он не может получить доступ к другим директориям за пределами его домашний каталог.
- ULBandwidth: Добавлено пропускную способность виртуального пользователя в КБ / сек. (Килобайт в секунду). 0 означает неограниченное.
- DLBandwidth: Скачать пропускную способность виртуального пользователя в КБ / сек. (Килобайт в секунду). 0 означает неограниченное.
- comment: Вы можете ввести любые комментарии здесь (например, для внутренней администрации) здесь. Обычно вы оставите это поле пустым.
- ipaccess: введите IP-адреса здесь, которым разрешено подключаться к этой учетной записи FTP. * означает любой IP-адреса допускается, чтобы связаться.
- QuotaSize: складские помещения в МБ (не КБ, как и в ULBandwidth и DLBandwidth !) виртуальный пользователь имеет право использовать на сервере FTP. 0 означает неограниченное.
- QuotaFiles: количество файлов, виртуального пользователь может сохранить на сервере FTP. 0 означает неограниченное.
Аноним FTP
Если Вы хотите создать учетную запись анонимного FTP (внимание, каждый может Войти по FTP, без использования пароля), Вам необходим пользователь и группа под названием FTP. Оба были созданы автоматически при установке pure-ftpd пакет, так что вам не нужно создавать их вручную. Однако, домашний каталог FTP является /var/ftp по умолчанию, но я хотел бы создать анонимный FTP-каталог в /home/ftp. Но, конечно, Вы можете использовать /var/ftp директория для анонимного FTP.
Если Вы хотите использовать /home/ftp, открыв /etc/passwd и измененив домашний каталог FTP пользователя /var/ftp на /home/ftp (не делайте этого, если Вы хотите использовать /var/ftp):
|
[...] #ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin ftp:x:14:50:FTP User:/home/ftp:/sbin/nologin [...]
Затем переместите /var/ftp на /home не делайте этого, если Вы хотите использовать /var/ftp):
|
Затем мы создаем каталог /home/ftp/incoming, который позволяют анонимным пользователям загружать файлы. Мы дадим каталогу /home/ftp/incoming разрешения 311, так что пользователи могут загружать, но не видеть или загружать любые файлы в этом каталоге. /home/ftp каталог будет иметь права доступа 555 , который позволяет видеть и загрузки файлы:
|
Анонимные пользователи смогут войти в систему, и им будет позволено для загрузки файлов из /home/ftp, но добавления будет ограничено /home/ftp/incoming (и как только файл будет загружен в /home/ftp/incoming, она не может быть прочитан, ни скачен оттуда, администратор сервера должен переместить его в /home/ftp первый, чтобы сделать его доступным для других).
Теперь мы должны настроить PureFTPd для анонимного FTP. Открыть /etc/pure-ftpd/pure-ftpd.conf и убедитесь, что у Вас есть следующие настройки в нем:
|
[...] NoAnonymous no [...] AntiWarez no [...] AnonymousBandwidth 8 [...] AnonymousCantUpload no [...]
(AnonymousBandwidth параметр не является обязательным - это позволяет ограничить выгрузки и загрузки полосы для анонимных пользователей. 8 означает 8 Кб/сек пропускной способности. Используйте любые значения какие вам нравятся, или закомментируйте строку, если Вы не хотите ограничивать.)
Наконец, мы перезапустить PureFTPd:
|
Теперь Вы можете испробовать, Ваш новый Виртуальный хостинг с PureFTPd и MySQL на Fedora 14.
- << Назад
- Вперёд