Pular para o conteúdo

Proftpd (proftpd.conf)

Introdução

PROFTPD é um servidor de FTP (file transfer protocol) onde sua utilização veio crescendo muito nos últimos anos, tanto pela sua facilidade de configuração/instalação quanto pela sua confiabilidade, sendo muito apreciado para uso juntamente com Apache web server.

Antes do projeto PROFTPD começar haviam disponíveis no mercado servidores como wu-ftpd, Win32-ftp entre outros, o que fez com que o projeto fosse criado para inovar esse campo de trabalho com FTP, assim o mesmo criado sem base em outros servidores de arquivos, é feito de um código independente.

Veremos agora como instalar este fantástico servidor de arquivos.
Instalando o proftpd no Debian
O jeito mais simples e rápido de se instalar o proftpd é com a utilização do comando apt-get install, mas é necessário que o endereço do servidor de download do programa proftpd esteja na lista sources.list, que fica dentro de “/etc/apt/”.

Acesse o terminal como root e digite:

# apt-get update

# apt-get install proftpd

Caso no final da instalação seja mostrado uma tela como na imagem abaixo, encolha a opção autônomo.

Após concluir a instalação, iremos configurar o servidor PROFTPD.

1º Passo: criar um backup do proftpd.conf para proftpd.conf-bkp, com o comando abaixo:

# cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf-bkp

2º Passo: Criar um diretório “FTP” onde achar melhor no meu caso achei melhor criar em “/home/ftp” com o seguinte comando:

# mkdir /home/ftp

3º Passo: Mudar as configurações do proftpd.conf com as linhas abaixo e salvar e sair.
__________________________________________________________________________________________________
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes, reload proftpd after modifications, if
# it runs in daemon mode. It is not required in inetd/xinetd mode.

# Includes DSO modules
Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6                off
# If set on you can experience a longer connection delay in many cases.
IdentLookups               off

ServerName               "FTP-USUARIO"
ServerType               standalone
DeferWelcome               off

MultilineRFC2228           on
DefaultServer               on
ShowSymlinks               on

TimeoutNoTransfer          600
TimeoutStalled               600
TimeoutIdle               1200

DisplayLogin                    welcome.msg
DisplayChdir                   .message true
ListOptions                    "-l"

DenyFilter            \*.*/

# Use this to jail all users in their homes
DefaultRoot               ~

# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell           off

# Port 21 is the standard FTP port.
Port                       21

# In some cases you have to specify passive ports range to by-pass
# firewall limitations. Ephemeral ports can be used for that, but
# feel free to use a more narrow range.
# PassivePorts                  49152 65534

# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.
# MasqueradeAddress        1.2.3.4

# This is useful for masquerading address with dynamic IPs:
# refresh any configured MasqueradeAddress directives every 8 hours
<IfModule mod_dynmasq.c>
# DynMasqRefresh 28800
</IfModule>

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances               30

# Set the user and group that the server normally runs at.
User                      proftpd
Group                      nogroup

# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask                      022  022
# Normally, we want files to be overwriteable.
AllowOverwrite               on

# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:
# PersistentPasswd        off

# This is required to use both PAM-based authentication and local passwords
# AuthOrder            mod_auth_pam.c* mod_auth_unix.c

# Be warned: use of this directive impacts CPU average load!
# Uncomment this if you like to see progress and transfer rate with ftpwho
# in downloads. That is not needed for uploads rates.
#
# UseSendFile            off

TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

# Logging onto /var/log/lastlog is enabled but set to off by default
# UseLastlog on

# In order to keep log file dates consistent after chroot, use timezone info
# from /etc/localtime.  If this is not set, and proftpd is configured to
# chroot (e.g. DefaultRoot or <Anonymous>), it will use the non-daylight
# savings timezone regardless of whether DST is in effect.
# SetEnv TZ :/etc/localtime

<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>

<IfModule mod_ratio.c>
Ratios off
</IfModule>

<IfModule mod_delay.c>
DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine           off
ControlsMaxClients       2
ControlsLog              /var/log/proftpd/controls.log
ControlsInterval         5
ControlsSocket           /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>

# Alternative authentication frameworks
#Include /etc/proftpd/ldap.conf
#Include /etc/proftpd/sql.conf

# This is used for FTPS connections
#Include /etc/proftpd/tls.conf

# Useful to keep VirtualHost/VirtualRoot directives separated
#Include /etc/proftpd/virtuals.conf

# A basic anonymous configuration, no upload directories.

<Anonymous /home/ftp/>
   User         ftp
   Group      nogroup
#   # We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias                      anonymous ftp
#   # Cosmetic changes, all files belongs to ftp user
DirFakeUser                   on ftp
DirFakeGroup                on ftp
#
RequireValidShell           off
#
#   # Limit the maximum number of anonymous logins
MaxClients               10
#
#   # We want 'welcome.msg' displayed at login, and '.message' displayed
#   # in each newly chdired directory.
DisplayLogin               welcome.msg
DisplayChdir          .message
#
#   # Limit WRITE everywhere in the anonymous chroot
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
#
#   # Uncomment this if you're brave.
#   # <Directory incoming>
#   #   # Umask 022 is a good standard umask to prevent new files and dirs
#   #   # (second parm) from being group and world writable.
#   #   Umask                022  022
#   #            <Limit READ WRITE>
#   #            DenyAll
#   #            </Limit>
#   #            <Limit STOR>
#   #            AllowAll
#   #            </Limit>
#   # </Directory>
#
</Anonymous /home/ftp/>

# Include other custom configuration files
Include /etc/proftpd/conf.d/
__________________________________________________________________________________________________

4º Passo: Após terminar toda modificação restart o serviço com o comando abaixo:

# /etc/init.d/proftpd restart

Cadastrando Usuários no Linux

Os usuários, podem ser cadastrados no linux de duas formas, e estas são:
1 – Com acesso shell
2 – Sem acesso shell

Vamos pela forma simples? Cadastrando com acesso ao shell, assim o seu usuário pode também acessar via SSH o servidor (esta é minha necessidade no momento).
No meu caso, eu também precisei mudar o diretório HOME do usuário, para isso acrescentei o parâmetro -d após o comando useradd, veja:

# mkdir /home/ftp/Pasta_Usuario
# useradd usuario -d /home/ftp/Pasta_Usuario/

E atrelei o usuário junto ao Diretório que criei para o usuário com o comando:

# chown -R usuario:usuario /home/ftp/Pasta_Usuario/

E criei a senha para o usuário com o comando:

# passwd usuario

Feito isso, vá no navegador de sua preferência e digite ftp://SEU-IP-AQUI. Ex: ftp://192.168.0.1

É isso pessoal, se tiver dificuldade em qualquer coisa, deixe suas dúvidas nos comentários que tentarei responder o mais breve possível.

Viva o Mundo Linux!
Kevin Silva Kevin_Stone
Hits: 10 Categoria: Ftp
  • Download
  • Indicar
  • Denunciar
Download proftpd.conf

Esconder código-fonte

# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes, reload proftpd after modifications, if
# it runs in daemon mode. It is not required in inetd/xinetd mode.

# Includes DSO modules
Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6                off
# If set on you can experience a longer connection delay in many cases.
IdentLookups               off

ServerName               "FTP-USUARIO"
ServerType               standalone
DeferWelcome               off

MultilineRFC2228           on
DefaultServer               on
ShowSymlinks               on

TimeoutNoTransfer          600
TimeoutStalled               600
TimeoutIdle               1200

DisplayLogin                    welcome.msg
DisplayChdir                   .message true
ListOptions                    "-l"

DenyFilter            \*.*/

# Use this to jail all users in their homes 
DefaultRoot               ~

# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell           off

# Port 21 is the standard FTP port.
Port                       21

# In some cases you have to specify passive ports range to by-pass
# firewall limitations. Ephemeral ports can be used for that, but
# feel free to use a more narrow range.
# PassivePorts                  49152 65534

# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.
# MasqueradeAddress        1.2.3.4

# This is useful for masquerading address with dynamic IPs:
# refresh any configured MasqueradeAddress directives every 8 hours
<IfModule mod_dynmasq.c>
# DynMasqRefresh 28800
</IfModule>

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances               30

# Set the user and group that the server normally runs at.
User                      proftpd
Group                      nogroup

# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask                      022  022
# Normally, we want files to be overwriteable.
AllowOverwrite               on

# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:
# PersistentPasswd        off

# This is required to use both PAM-based authentication and local passwords
# AuthOrder            mod_auth_pam.c* mod_auth_unix.c

# Be warned: use of this directive impacts CPU average load!
# Uncomment this if you like to see progress and transfer rate with ftpwho
# in downloads. That is not needed for uploads rates.
#
# UseSendFile            off

TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

# Logging onto /var/log/lastlog is enabled but set to off by default
# UseLastlog on

# In order to keep log file dates consistent after chroot, use timezone info
# from /etc/localtime.  If this is not set, and proftpd is configured to
# chroot (e.g. DefaultRoot or <Anonymous>), it will use the non-daylight
# savings timezone regardless of whether DST is in effect.
# SetEnv TZ :/etc/localtime

<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>

<IfModule mod_ratio.c>
Ratios off
</IfModule>


# Delay engine reduces impact of the so-called Timing Attack described in
# http://www.securityfocus.com/bid/11430/discuss
# It is on by default. 
<IfModule mod_delay.c>
DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine           off
ControlsMaxClients       2
ControlsLog              /var/log/proftpd/controls.log
ControlsInterval         5
ControlsSocket           /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>

# Alternative authentication frameworks
#Include /etc/proftpd/ldap.conf
#Include /etc/proftpd/sql.conf

# This is used for FTPS connections
#Include /etc/proftpd/tls.conf

# Useful to keep VirtualHost/VirtualRoot directives separated
#Include /etc/proftpd/virtuals.conf

# A basic anonymous configuration, no upload directories.

<Anonymous /home/ftp/>
   User         ftp
   Group      nogroup
#   # We want clients to be able to login with "anonymous" as well as "ftp"
   UserAlias               anonymous ftp
#   # Cosmetic changes, all files belongs to ftp user
   DirFakeUser    on ftp
   DirFakeGroup on ftp
# 
RequireValidShell           off
# 
#   # Limit the maximum number of anonymous logins
MaxClients               10
# 
#   # We want 'welcome.msg' displayed at login, and '.message' displayed
#   # in each newly chdired directory.
DisplayLogin               welcome.msg
DisplayChdir          .message
# 
#   # Limit WRITE everywhere in the anonymous chroot
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
# 
#   # Uncomment this if you're brave.
#   # <Directory incoming>
#   #   # Umask 022 is a good standard umask to prevent new files and dirs
#   #   # (second parm) from being group and world writable.
#   #   Umask                022  022
#   #            <Limit READ WRITE>
#   #            DenyAll
#   #            </Limit>
#   #            <Limit STOR>
#   #            AllowAll
#   #            </Limit>
#   # </Directory>
# 
</Anonymous /home/ftp/>

# Include other custom configuration files
Include /etc/proftpd/conf.d/
Nenhuma configuração encontrada.

FTP (proftpd.conf)

Ftp (Proftp)

FTP (vsftp.conf)

ProFtpd (proftpd.conf)

Proftpd (proftpd.conf)

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.