Установка и настройка FTP-сервера ProFTPD
09.09.2010 - 08:11
после установки идем настраивать конфигурационный файл:
Необходимо было настроить FTP-сервер с авторизацией по user:passwd.
Первым делом обновляем порты и идем устанавливать:
[root@router /]# cd /usr/ports/ftp/proftpd
[root@router /usr/ports/ftp/proftpd]# make install clean
[root@router /usr/ports/ftp/proftpd]# make install clean
после установки идем настраивать конфигурационный файл:
[root@router /]#cat /usr/local/etc/proftpd.conf
#имя сервера
ServerName "Home FTP:"
ServerAdmin "vlymar@lymar.no-ip.org"
#обычный запуск демоном, не через inetd
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
ScoreboardFile /var/run/proftpd.scoreboard
CommandBufferSize 512
ListOptions "-l"
#пользователь и группа, под которой работает демон proftpd
User nobody
Group nogroup
#порт по дефолту
Port 21
#по каким портам осуществляется пассивное соединение
PassivePorts 30000 35000
#маска ограничения создания директорий и файлов
Umask 022
MaxInstances 30
#меседж при входе
DisplayConnect /etc/ftp.msg
DefaultRoot /home/ftp
UseReverseDNS off
IdentLookups off
DenyFilter \*.*/
PathDenyFilter "(^|/)[-.]"
#установим ограничения по времени
TimeoutIdle 180
TimeoutLogin 120
TimeoutNoTransfer 360
TimeoutStalled 640
#где находятся логи
TransferLog /var/log/proftpd-tranfer.log
SystemLog /var/log/proftpd-error.log
#<Anonymous /home/ftp>
User ftp
Group ftp
UserAlias anonymous ftp
UserAlias guest ftp
MaxClients 50
DisplayChdir /etc/ftp_message.msg
DisplayLogin /etc/ftp_login.msg
AccessDenyMsg AHTUNG!!!
AccessGrantMsg Now apload/download files?
DisplayGoAway Go Away
#разрешаем запись в incoming
<Directory /home/ftp/incoming>
Umask 022 022
<Limit READ WRITE STOR>
AllowAll
</Limit>
</Directory>
#public только для чтения
<Directory /home/ftp/public>
<Limit READ>
AllowAll
</Limit>
<Limit WRITE STOR>
DenyAll
</Limit>
</Directory>
#</Anonymous>
ServerName "Home FTP:"
ServerAdmin "vlymar@lymar.no-ip.org"
#обычный запуск демоном, не через inetd
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
ScoreboardFile /var/run/proftpd.scoreboard
CommandBufferSize 512
ListOptions "-l"
#пользователь и группа, под которой работает демон proftpd
User nobody
Group nogroup
#порт по дефолту
Port 21
#по каким портам осуществляется пассивное соединение
PassivePorts 30000 35000
#маска ограничения создания директорий и файлов
Umask 022
MaxInstances 30
#меседж при входе
DisplayConnect /etc/ftp.msg
DefaultRoot /home/ftp
UseReverseDNS off
IdentLookups off
DenyFilter \*.*/
PathDenyFilter "(^|/)[-.]"
#установим ограничения по времени
TimeoutIdle 180
TimeoutLogin 120
TimeoutNoTransfer 360
TimeoutStalled 640
#где находятся логи
TransferLog /var/log/proftpd-tranfer.log
SystemLog /var/log/proftpd-error.log
#<Anonymous /home/ftp>
User ftp
Group ftp
UserAlias anonymous ftp
UserAlias guest ftp
MaxClients 50
DisplayChdir /etc/ftp_message.msg
DisplayLogin /etc/ftp_login.msg
AccessDenyMsg AHTUNG!!!
AccessGrantMsg Now apload/download files?
DisplayGoAway Go Away
#разрешаем запись в incoming
<Directory /home/ftp/incoming>
Umask 022 022
<Limit READ WRITE STOR>
AllowAll
</Limit>
</Directory>
#public только для чтения
<Directory /home/ftp/public>
<Limit READ>
AllowAll
</Limit>
<Limit WRITE STOR>
DenyAll
</Limit>
</Directory>
#</Anonymous>
Для автозагрузки добавляем его в rc.conf:
proftpd_enable="YES"
Создаем пользователя ftp если его нет и назначаем ему пароль:
[root@router /]#pw adduser ftp -m -d /home/ftp -c "FTP user"
[root@router /]# passwd ftp
Changing local password for ftp
New Password:
Retype New Password:
[root@router /]#
[root@router /]# passwd ftp
Changing local password for ftp
New Password:
Retype New Password:
[root@router /]#
Cоздаем необходимые директории и назначаем права:
[root@router /]# chmod 555 /home/ftp
[root@router /]# mkdir -p /home/ftp/incoming
[root@router /]# chmod 777 /home/ftp/incoming
[root@router /]# mkdir -p /home/ftp/public
[root@router /]# chmod 555 /home/ftp/public
[root@router /]# chown -R ftp:ftp /home/ftp/
[root@router /]# mkdir -p /home/ftp/incoming
[root@router /]# chmod 777 /home/ftp/incoming
[root@router /]# mkdir -p /home/ftp/public
[root@router /]# chmod 555 /home/ftp/public
[root@router /]# chown -R ftp:ftp /home/ftp/
Путь к логам:
[root@router /]#touch /var/log/proftpd-tranfer.log
[root@router /]#touch /var/log/proftpd-error.log
[root@router /]#touch /var/log/proftpd-error.log
Если необходимо анонимный FTP-сервер, уберите комментарии с
<Anonymous /home/ftp> </Anonymous>
Запускаем:
[root@router /usr/local/etc/rc.d]# /usr/local/etc/rc.d/proftpd start
Starting proftpd.
[root@router /usr/local/etc/rc.d]# /usr/local/etc/rc.d/proftpd status
proftpd is running as pid 79814.
[root@router /usr/local/etc/rc.d]#
Starting proftpd.
[root@router /usr/local/etc/rc.d]# /usr/local/etc/rc.d/proftpd status
proftpd is running as pid 79814.
[root@router /usr/local/etc/rc.d]#
Смотрим поднялся ли наш FTP-сервер:
[root@router /usr/local/etc/rc.d]# sockstat | grep ftp
nobody proftpd 79814 0 tcp4 *:21 *:*
[root@router /usr/local/etc/rc.d]#
nobody proftpd 79814 0 tcp4 *:21 *:*
[root@router /usr/local/etc/rc.d]#
- Войдите на сайт для отправки комментариев
- Версия для печати
Все работает Спасибо !!
Все сделал по инструкции , но при запуске ругается :
root@sk:/usr/ports/ftp/proftpd # /usr/local/etc/rc.d/proftpd restart
Stopping proftpd.
Waiting for PIDS: 18368.
Starting proftpd.
sk.sergey67.ru proftpd[18421]: The DisplayGoAway directive has been deprecated; use the MaxClientsPerClass optional message parameter instead
root@sk:/usr/ports/ftp/proftpd # /usr/local/etc/rc.d/proftpd status
proftpd is running as pid 18422.
root@sk:/usr/ports/ftp/proftpd # sockstat | grep ftp
nobody proftpd 18422 0 tcp4 *:21 *:*
nobody proftpd 18422 3 stream /var/run/proftpd.sock
root@sk:/usr/ports/ftp/proftpd #
Гугл транслейт? Опция DisplayGoAway устарела, используейте MaxClientsPerClass. Закомментируйте DisplayGoAway и перезапустите.