Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Установка и настройка proftpd с хранением пользователей в БД 
:(
    Опции темы
Wowa
Дата 11.11.2004, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 2
Всего: 290



Установка и настройка proftpd с хранением пользователей в БД MySQL на FreeBSD 
устанавливаем из портов: 
Код

#cd /usr/ports/ftp/proftpd/ 
#make install WITH_MYSQL=yes 
#make clean 

proftpd установлен, приступим к его настроки. Для начала посмотрим, подключился ли модуль для работы с MySQL. 

Код

#cd /usr/local/libexec/ 
#./proftpd -l | grep 
mod_sql.c 
mod_sql_mysql.c 


Всё нормально, можно продолжать. Конфигурационный файл находится в /usr/local/etc/proftpd.conf 

Код

ServerName "My FTP Server" 
ServerType standalone 
DefaultServer on 
Port 21 
Umask 022 
MaxInstances 30 
# Под кем будет запускаться FTP демон 
User nobody 
Group nogroup 
# Разршим доступ, только группе ftp 

AllowGroupftp 
DenyALL 

# настройки для авторизации через mysql. (пароли используются в открытом виде: PlainText) 

SQLConnectInfo proftpd@localhost:3306 proftpd myftpserver 
SQLAuthTypes PlainText 
SQLUserInfo users userid passwd uid gid homedir shell 
DefaultRoot ~ 
RequireValidShell off 
SQLGroupInfo groups groupname gid members 
SQLAuthenticate users groups 
SQLLogFile/var/log/proftpd.log 

----------------------------------------- 
Создание БД для FTP. Для начала создадим пользователя, который будет владельцем данной базы данных, пусть это будет proftpd: 

Код

mysql -u root -p 
Enter password: 
mysql>grant select,insert,update,delete,create,drop 
->on proftpd.* 
->to proftpd@localhost 
->identified by 'myftpserver'; 
Query OK, 0 rows affected (0.16 sec) 
mysql>exit; 
Зайдём теперь под только что созданным пользователем, и собственно создадим саму БД: 
mysql -u proftpd -p 
Enter password: 
mysql>create database proftpd; 
Далее создадим две табилци users и groups: 
mysql>use proftpd; 
Database changed 
mysql> CREATE TABLE users ( 
-> userid VARCHAR(30) NOT NULL UNIQUE, 
-> passwd VARCHAR(80) NOT NULL, 
-> uid INTEGER UNIQUE, 
-> gid INTEGER, 
-> homedir VARCHAR(255), 
-> shell VARCHAR(255) 
-> ); 
Query OK, 0 rows affected (0.03 sec) 

mysql> CREATE TABLE groups ( 
-> groupname VARCHAR(30) NOT NULL, 
-> gid INTEGER NOT NULL, 
-> members VARCHAR(255) 
-> ); 
Query OK, 0 rows affected (0.01 sec) 
mysql> 
mysql> use proftpd 
Database changed 
mysql> CREATE TABLE users ( 
-> userid VARCHAR(30) NOT NULL UNIQUE, 
-> passwd VARCHAR(80) NOT NULL, 
-> uid INTEGER UNIQUE, 
-> gid INTEGER, 
-> homedir VARCHAR(255), 
-> shell VARCHAR(255) 
-> ); 
Query OK, 0 rows affected (0.03 sec) 



Добавим тестового пользователя: 

Код

mysql>insert into groups values('ftp','5001',''); 
mysql>insert into users values('test','testftp','5001','5001','/home/ftp/test','/sbin/nologin'); 
mysql>exit; 
mkdir /home/ftp/test 
chown 5001.5001 /home/ftp/test 

создаём лог-файл: 
Код

touch /var/log/proftpd.log 

Запуск демона: 
Код

cd /usr/local/etc/rc.d 
cp proftpd.sh.sample proftpd.sh 
chmod +x proftpd.sh 
sh proftpd start 
ps ax | grep proftpd 
10544 ?? Is 0:00,01 proftpd: (accepting connections) (proftpd) 


Proftpd ждёт ваших коннектов smile 

PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.0963 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.