Instalação do ProFTPD
        
        
          Por motivos de segurança, você deveria instalar o "ProFTPD" usando um(a) usuário(a) e grupo sem
          privilégios. Como o(a) usuário(a) "root":
        
        groupadd -g 46 proftpd                            &&
useradd -c proftpd -d /srv/ftp -g proftpd \
        -s /usr/bin/proftpdshell -u 46 proftpd     &&
install -v -d -m775 -o proftpd -g proftpd /srv/ftp &&
ln -v -s /usr/bin/false /usr/bin/proftpdshell      &&
echo /usr/bin/proftpdshell >> /etc/shells
        
          Instale o "ProFTPD" como um(a)
          usuário(a) sem privilégios executando os seguintes comandos:
        
        ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/run &&
make
        
          Esses pacotes não vem com uma suíte de teste usável.
        
        
          Agora, como o(a) usuário(a) root:
        
        make install                                   &&
install -d -m755 /usr/share/doc/proftpd-1.3.9 &&
cp -Rv doc/*     /usr/share/doc/proftpd-1.3.9
       
      
        
          Explicações do Comando
        
        
          install -v -d -m775 -o proftpd -g
          proftpd /srv/ftp: Crie o diretório lar para o
          "ProFTPD".
        
        
          ln -v -s /usr/bin/false
          /usr/bin/proftpdshell: Configure o "shell" padrão
          como um link para um "shell" inválido.
        
        
          echo /usr/bin/proftpdshell >>
          /etc/shells: Falsifique um "shell" válido para fins
          de compatibilidade.
        
        
          
          
            Nota
          
          
            Os dois comandos acima podem ser omitidos se a seguinte diretiva
            for colocada no arquivo de configuração:
          
          RequireValidShell off
          
            Por padrão, o "proftpd" exigirá que os(as) usuários(as) se
            logando tenham "shells" válidos. A diretiva "RequireValidShell"
            desliga esse requisito. Isso é recomendado somente se você
            estiver configurando o teu servidor "FTP" exclusivamente para
            transferências anônimas.
          
         
        
          
          
            Nota
          
          
            O suporte para a maioria dos pacotes de dependências exige usar
            opções passadas para o conjunto de comandos sequenciais
            configure. Veja-se
            a saída gerada a partir de ./configure --help para
            informações completas relativas a habilitar pacotes de
            dependências.
          
         
       
      
        
          Configurando o ProFTPD
        
        
          
            Arquivos de
            Configuração
          
          
            /etc/proftpd.conf
          
         
        
          
            Informação de Configuração
          
          
            Esta é uma configuração de amostra simples, somente para baixar.
            Veja-se a documentação do "ProFTPD" em "/usr/share/doc/proftpd" e consulte o sítio da
            "web" em http://www.proftpd.org/ para
            configurações de exemplo.
          
          
cat > /etc/proftpd.conf << "EOF"
# Este é um arquivo básico de configuração do "ProFTPD".
# Ele estabelece um servidor e um login anônimo.
ServerName                      "Instalação Padrão do ProFTPD"
ServerType                      standalone
DefaultServer                   on
# A porta 21 é a porta padrão do "FTP".
Port                            21
# "Umask" 022 é um bom padrão de "umask" para evitar que novos 
# diretórios e arquivos sejam escrevíveis por grupo e mundialmente.
Umask                           022
# Para evitar ataques "DoS", configure o número máximo de processos descendentes
# como trinta (30). Se precisar permitir mais que trinta (30) conexões simultâneas,
# [então] simplesmente aumente esse valor. Observe que isso funciona SOMENTE no modo
# autônomo; no modo "inetd", você deveria usar um servidor "inetd" que te permita
# limitar o número máximo de processos por serviço.
MaxInstances                    30
# Configure o(a) usuário(a) e o grupo em que o servidor normalmente executa.
User                            proftpd
Group                           proftpd
# Para fazer com que cada usuário(a) "FTP" esteja "enjaulado(a)" (em "chroot") no
# diretório inicial dele(a), descomente esta linha.
#DefaultRoot ~
# Normalmente, os arquivos deveriam ser sobrescrevíveis.
<Directory /*>
  AllowOverwrite                on
</Directory>
# Uma configuração básica anônima, sem diretórios de "upload".
<Anonymous ~proftpd>
  User                          proftpd
  Group                         proftpd
  # Os clientes deveriam estar aptos a se logarem com "anonymous" bem como com "proftpd"
  UserAlias                     anonymous proftpd
  # Limite o número máximo de "logins" anônimos
  MaxClients                    10
  # 'welcome.msg' deveria ser exibida ao "login", e '.message' exibida
  # a cada novo diretório acessado.
  DisplayLogin                  welcome.msg
  DisplayChdir                  .message
  # Limite o "WRITE" em todos os lugares no "chroot" anônimo.
  <Limit WRITE>
    DenyAll
  </Limit>
</Anonymous>
EOF