Proftpd для тех кому некогда | Proftpd
Набросаю рецепт быстрой конфигурации proftpd для тех кому нужен ftp сервер за пять минут.
Добавить пользователя (просто системного, в качестве шела – /usr/sbin/nologin)
Поправить конфиг:
ServerName "ftp.server.ru"
ServerType standalone
ServerIdent off "FTP Server ready."
#DefaultServer on
AllowStoreRestart on
Port 21
Umask 002
MaxInstances 160
MaxClientsPerHost 15 "Sorry, you may not connect more then 15 time"
User nobody
Group nogroup
DefaultServer off
#SocketBindTight on
DefaultAddress 19.12.15.11
#MaxConnectionRate 16
<IfModule mod_tls.c>
TLSProtocol SSLv23.
</IfModule>
<Directory />
AllowOverwrite on
</Directory>
PersistentPasswd off
DenyFilter \*.*/
UseReverseDNS off
DeferWelcome off
TransferLog /var/log/proftpd/xferlog.legacy
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"
DefaultRoot /usr/local/ftp
<Limit LOGIN>
Order allow,deny
DenyAll
</Limit>
<Limit SITE_CHGRP SITE_CHMOD>
Order deny,allow
AllowUser zakachka
</Limit>
PathDenyFilter "(^\.ftpaccess$)"
RequireValidShell no
ServerAdmin support@mcnet.ru
<Limit WRITE>
DenyAll
</Limit>
<Global>
AllowOverwrite on
IdentLookups off
TimesGMT off
IdentLookups off
TimesGMT off
AllowForeignAddress on
AllowOverride off
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
ExtendedLog /var/log/proftpd/auth.log AUTH auth
</Global>
<VirtualHost 19.12.15.14>
ServerAdmin admin@server.ru
ServerName "ftp.server.ru"
ServerIdent on "FTP Server ready."
MaxLoginAttempts 3
RequireValidShell no
TransferLog /var/log/proftpd/xferlog.log
MaxClients 25
DefaultServer on
DefaultRoot /ftp
AllowOverwrite yes
TimeoutLogin 120
TimeoutIdle 600
TimeoutNoTransfer 900
AllowRetrieveRestart on
AllowStoreRestart on
DeferWelcome on
DirFakeGroup on ~
DirFakeUser on ~
AccessDenyMsg "Please mail to support@server.ru"
RootLogin off
#TransferRate APPE,RETR,STOR,STOU 0
#tcpNoDelay on
#TimeoutIdle 600
#UseIPv6 off
#UseSendfile on
#DelayEngine on
#SocketOptions maxseg 500 sndbuf 16384 rcvbuf 16384
<Limit LOGIN>
Order allow,deny
AllowUser your-user-name
DenyAll
</Limit>
<Limit SITE_CHGRP SITE_CHMOD>
Order deny,allow
AllowUser your-user-name
DenyAll
</Limit>
<Directory /ftp/users-dir>
<Limit WRITE>
Order allow,deny
AllowUser your-user-name
DenyAll
</Limit>
</Directory>
</VirtualHost>
Поправить права на папки к которым даем доступ – владелец и группа позволяют более менее гибко настраивать доступ.
Проверить что порты не блокируются фаерволлом.
По дефолту у нас ftp в пассвном режиме. В тотал коммандере ставим галочку – passv (поведение как у браузера).
Некоторые директивы у дефолтного и у виртуального могут перекрываться – смотрим вывод ошибок (в /var/messages) если не запустился.