Документация по ОС FreeBSD
Пятница, 28.11.2025, 14:11
Главная
Регистрация
Вход
Приветствую Вас
Гость
|
RSS
Меню сайта
Главная страница
Новости в мире Unix
NEW
Каталог файлов
NEW
Установка и настройка
Ports & Packages
cvs
Безопасность
Работа с железом
X Window
Multimedia
Man pages
Net
Apache
DNS
FTP
Mail
Samba
Squid
SSH
VPN
РРР
Shell
IPFW
Tips'n'tricks
RFC
Книги по FreeBSD
Темы экзамена BSDA
Гостевая книга
Форум на bsdportal.ru
Каталог сайтов
Самый свежий софт
Каталог ссылок
Категории каталога
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)
Просмотров:
1489
| Рейтинг:
0.0
/
0
|
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Всего комментариев:
0
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация
|
Вход
]
Форма входа
Друзья сайта
Google+
Copyright MyCorp © 2025