Документация по ОС FreeBSD Пятница, 03.05.2024, 16:55
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » FTP

Хранение учетных записей proftpd в MySQL
Установка и настройка 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 ждёт ваших коннектов :)
Категория: FTP | Добавил: oleg (29.10.2007)
Просмотров: 1423 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024