Рубрики
Linux

Настройка FTP сервера proftpd

Прочитано: 211

На примере Debian Jessie

Директория программы /etc/proftpd
В файл proftpd.conf добавляем

DefaultRoot ~
ServerIdent on "FTP Server ready."


Cпособы настройки сервера:

  1. Файл ftpd.passwd
  2. ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=tester --uid=33 --gid=33 --home=/home/tester/www/domain.ru --shell=/bin/false #создание нового ftp-пользователя и файла ftpd.passwd
    ftpasswd --passwd --name=tester --change-password #можно поменять пароль пользователя
    Настраиваем proftpd.conf
    RequireValidShell off
    AuthUserFile /etc/proftpd/ftpd.passwd

  3. База данных mysql
  4. Для работы нужен пакет proftpd-mod-mysql, если не установлен
    apt-get install proftpd-mod-mysql
    Далее (СУБД phpMyAdmin) создаём базу данных proftpd и пользователя proftpd_user с паролем proftpd_password и таблицу (sql-запрос)
    CREATE TABLE `proftpd`.`users` (
     `username` VARCHAR( 32 ) NOT NULL ,
     `password` VARCHAR( 32 ) NOT NULL ,
     `uid` INT NOT NULL ,
     `gid` INT NOT NULL ,
     `homedir` VARCHAR( 255 ) NOT NULL ,
     `shell` VARCHAR( 255 ) NOT NULL ,
     UNIQUE (`username`)
    ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
    В таблицу добавляем запись о пользователе
    INSERT INTO `proftpd`.`users` (`username`, `password`, `uid`, `gid`, `homedir`, `shell`) VALUES ('tester', 'pass', '33', '33', '/home/tester/www/domain.ru', '/bin/false');
    Настройка файла modules.conf
    LoadModule mod_sql.c
    LoadModule mod_sql_mysql.c
    Настройка файла proftpd.conf
    RequireValidShell off
    #AuthUserFile /etc/proftpd/ftpd.passwd #закоментирован
    Include /etc/proftpd/sql.conf
    AuthOrder mod_sql.c
    Настройка файла sql.conf
    <IfModule mod_sql.c>
     SQLBackend mysql
     SQLEngine on
     SQLAuthTypes Plaintext #пароли в открытом виде
     SQLConnectInfo proftpd@localhost proftpd_user proftpd_password #БД proftpd, пользователь proftpd_user и пароль proftpd_password
     SQLUserInfo users username password uid gid homedir shell #таблица users
     SQLAuthenticate users*
     SQLMinUserUID 33
     SQLMinUserGID 33
     SQLLogFile /var/log/proftpd/sql.log #записывать лог
    </IfModule>

Дополнительные настройки

сhown www-data:www-data /home/tester/www/domain.ru #смена владельца и группы для директории
chmod 775 /home/tester/www/domain.ru #права доступа к директории

Настройка файла proftpd.conf

# Дозагрузка с клиента на сервер
AllowOverwrite on
AllowStoreRestart on
# Дозагрузка с сервера на клиента
AllowRetrieveRestart on
# Нестандартный порт
Port 21
# Дополнительные порты при использовании firewall
PassivePorts 54000 55000
# Права доступа к файлам и директориям
Umask 002 002
# Время логирования
TimesGMT off
SetEnv TZ :/etc/localtime
# Настройка скорости передачи данных (upload и download)
# TransferRate [ cmds ] [ kilobytes-per-sec[:free-bytes]] [ ["user"|"group"|"class" expression]]
#TransferRate RETR,STOR,APPE,STOU 100.0:10240000 #100kbps:10Mb

Не забываем перезапустить программу proftpd

service proftpd restart



Материалы

Добавить комментарий

Ваш адрес email не будет опубликован.

два × 2 =