9.2. O que fazer para instalar/configurar o servidor de ftp proftpd?

### Versão 7.0 e posteriores ###

Instalar pacotes:

proftpd: O ProFTPD é um servidor ftp altamente configurável para sistemas operacionais unix. A documentação completa está disponível em http://www.proftpd.org, incluindo o manual de referência para as diretivas de configuração do servidor. anonftp:

Contém os arquivos necessários para permitir acesso ftp anônimo a sua máquina. Isso deixa qualquer usuário pegar arquivos de sua máquina sem ter uma conta, o que é um meio popular de tornar programas disponíveis na Internet.

Após instalar, verifique se existe a linha: =---------------------- ftp 21/tcp =---------------------- no arquivo /etc/services, pois é onde está sendo definida a porta de ftp.

E também, verificar se a linha abaixo, do arquivo /etc/inetd.conf está descomentada/habilitada. =---------------------- ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd

e não

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a =----------------------

Caso não esteja, basta descomentar e reinicializar o serviço inet:

    [root@localhost]# /etc/rc.d/init.d/inet stop


    [root@localhost]# /etc/rc.d/init.d/inet start


     
    Para maiores configurações, deve-se utilizar-se dos seguintes arquivos :
    =----------------------
    1-) /etc/proftpd.conf <-------- Configurações gerais do servidor
    (+importante)
    
    Este arquivo é configurável estilo um arquivo .html, com a sintaxe
    <opção> </opção> e comandos "dentro" deles.
       


O arquivo padrão da instalação é o seguinte :

        
    # Configuração do ProFTPD
    #
    
    ServerName                      "ProFTPD - Instalação Default"
    ServerType                      inetd
    DefaultServer                   on
    ScoreboardPath                  /var/run
    DeferWelcome                    on
    ServerAdmin                     root@localhost
    ServerName                      "Servidor FTP"
    SyslogFacility                  AUTH
    
    # Umask 022 é um bom padrão para prevenir que novos diretórios e
    # arquivos sejam graváveis pelo grupo ou outros usuários
    Umask                           022
    
    # Usuário e grupo para o servidor
    User                            nobody
    Group                           nobody
    
    <Directory /*>
      AllowOverwrite                no
    </Directory>
    
    # Configuração básica para ftp anônimo, sem diretório para recepção
    # de arquivos
    <Anonymous ~ftp>
      User                          ftp
      Group                         ftp
      DirFakeUser                   on
      DirFakeGroup                  on
    
      # ftp = anonymous
      UserAlias                     anonymous ftp
    
      # número máximo de logins anônimos
      MaxClients                    10 "Número máximo de clientes, tente mais tarde."
    
      # No máximo duas conexões por cliente
      MaxClientsPerHost             2 "Você já está com muitas conexões simultâneas."
    
      # welcome.msg mostrado na conexão e .message mostrado para cada
      # diretório acessado.
      DisplayLogin                  welcome.msg
      DisplayFirstChdir             .message
      AccessGrantMsg                "Acesso anônimo aceito para %u."
    
      # Limite gravação no chroot anônimo
      <Limit WRITE>
        DenyAll
      </Limit>
    
    </Anonymous>
       


        
    ------------- Explicação das opções mais importantes/relevantes ---------
    
    Em ordem alfabética :
    
    AccessGrantMsg
    
       Sintaxe: AccessGrantMsg mensagem
       Padrão: Depende do tipo de login
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 0.99.0pl5 and later
    
       Geralmente, uma mensagem de resposta (230) é enviada logo após a
    autenticação, com uma mensagem padrão indicando que o usuário está logado ou
    que o acesso do usuário anônimo foi efetuado com sucesso. Esta mensagem pode
    ser configurada com esta opção (AccessGrantMsg). No parâmetro mensagem pode
    ser utilizado %u que será substituído pelo nome do usuário. Exemplo:
    
       AccessGrantMsg "Acesso anônimo aceito para %u."
         _________________________________________________________________
    
    Allow
    
       Sintaxe: Allow ["from"] "all"|"none"|host|network[,host|network[,...]]
       Padrão: Allow from all
       Pode ser usado: <Limit>
       Compatibilidade: 0.99.0pl6 and later
    
       É utilizada sempre entre <Limit> e </Limit> para as excessões que
    houverem sobre as condições do limit.
    
       host e network podem ser passados por nome ou número. Por motivos de
    segurança recomenda-se utilizar sempre números. Para especificar uma rede
    inteira, com números utiliza-se 10.0.0 (por exemplo) e com nomes
    .proftpd.net (por exemplo).
    
       Exemplo:
    
       <Limit LOGIN>
          Order Allow,Deny
          Allow from 128.44.26.,128.44.26.,myhost.mydomain.edu,.trusted-domain.org
          Deny from all
       </Limit>
         _________________________________________________________________
    
    AllowAll
    
       Sintaxe: AllowAll
       Padrão: Não muito utilizado por permitir acesso a todos
       Pode ser usado: <Director>, <Anonymous>, <Limit>, .ftpaccess
       Compatibilidade: 0.99.0 and later
    
       A opção permite acesso a aos blocos <Directory>, <Anonymous> ou <Limit> a
       todos os usuários.
    
         _________________________________________________________________
    
    AllowFilter
    
       Sintaxe: AllowFilter regular-expression
       Padrão: Nenhum (não utilizado)
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 1.2.0pre7 and later
    
       Utiliza filtros para quais caracteres podem ser mandados ao servidor. Os
    filtros utilizam-se de expressões regulares.
    
       Se há espaços em branco, deve-se utilizar aspas.
       Exemplo:
    
       # Somente permite caracteres alfa-numéricos e espaços em branco
       AllowFilter ".*/[a-zA-Z0-9 ]+$"
    
       Veja mais em: DenyFilter
         _________________________________________________________________
    
    AllowGroup
    
       Sintaxe: AllowGroup group-expression
       Padrão: Nenhum
       Pode ser usado: <Limit>
       Compatibilidade: 1.1.1 and later
    
      Utiliza-se para permitir o acesso de determinado(s) grupo(s).
    
       Exemplo:
    
       AllowGroup users,nobody,ftp
    
       Veja mais em: DenyGroup, DenyUser, AllowUser
         _________________________________________________________________
    
    AllowUser
    
       Sintaxe: AllowUser user-expression
       Padrão: Nenhum
       Pode ser usado: <Limit>
       Compatibilidade: 1.1.7 and later
    
       Basicamente igual ao AllowGroup, só que para permitir o acesso de
       usuários.
       Exemplo:
    
       AllowUser ftp,nobody
    
       Veja mais em: DenyUser, DenyGroup, AllowGroup
         _________________________________________________________________
    
    AllowOverwrite
    
       Sintaxe: AllowOverwrite on|off
       Padrão: AllowOverwrite off
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,
       <Global>, .ftpaccess
       Compatibilidade: 0.99.0 and later
    
      Permite ou não sobrescrever arquivos localizados no servidor. Utilizado
    normalmente para diretórios de upload, onde deve ser possível a sobrescrita
    de arquivos.
         _________________________________________________________________
    
    AnonRequirePassword
    
       Sintaxe: AnonRequirePassword on|off
       Padrão: AnonRequirePassword off
       Pode ser usado: <Anonymous>
       Compatibilidade: 0.99.0 and later
    
       Com esta opção, para acessar como anônimo é necessário utilizar-se da
    senha do usuário que o serviço de usuário anônimo utiliza (definido com a
    opção User).
       Exemplo:
       


        
       <Anonymous ~roger>
          User roger
          AnonRequirePassword on
       </Anonymous>
        
        
       Então, para acessar como anônimo só será possível se for digitada a senha
    do usuário roger.
         _________________________________________________________________
    
    AllowRetrieveRestart
    
       Sintaxe: AllowRetrieveRestart on|off
       Padrão: AllowRetrieveRestart on
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,
       <Global>, .ftpaccess
       Compatibilidade: 0.99.0 and later
    
       Permite que os usuários possam baixar os arquivos de "pedaço a pedaço" ao
    invés de o arquivo inteiro de uma vez.
         _________________________________________________________________
    
    AllowStoreRestart
    
       Sintaxe: AllowStoreRestart on|off
       Padrão: AllowStoreRestart off
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,
       <Global>, .ftpaccess
       Compatibilidade: 0.99.0 and later
    
       Permite que o usuário envie arquivos ao servidor de "pedaço a pedaço" ao
    invés do arquivo inteiro. Pode ser útil para diretórios de upload, mas não é
    recomendável utilizar devido ao fato de que podem ocorrer problemas em uma
    das transmissões e perder-se o arquivo inteiro.
         _________________________________________________________________
       


<Anonymous>

Sintaxe: <Anonymous diretório-raiz> Padrão: None Pode ser usado: server config,<VirtualHost>, <Global> Compatibilidade: 0.99.0 and later O bloco de configuração <Anonymous> é utilizado para criar uma sessão de acesso para um usuário anônimo no servidor ftp. O parâmetro diretório-raiz é qual será o diretório raiz do usuário ao acessar o servidor.

Exemplo de configuração básica de acesso para ftp anônimo:

    
         <Anonymous /home/ftp> 
    
         User ftp # Após o acesso anônimo, o serviço roda com o usuário ftp.
    
         Group ftp # Após o acesso anônimo, o serviço roda com o grupo ftp.
    
         UserAlias anonymous ftp # Cliente loga como anônimo e recebe apelido de ftp.
         
         # Não permite escrita em nenhum dos diretórios abaixo o raiz.
         # O padrão é permitir a leitura, portanto não é necessário usar um.
         <Limit> #para permitir.
         <Directory *> 
         <Limit WRITE> 
         DenyAll
         </Limit> 
         </Directory> 
         <Directory incoming>
         <Limit READ WRITE> 
         DenyAll 
         </Limit> 
         <Limit STOR>
         AllowAll
         </Limit> 
         </Directory>
         </Anonymous>


_________________________________________________________________

        
    AnonymousGroup
    
       Sintaxe: AnonymousGroup group-expression
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Global>
       Compatibilidade: 1.1.3 and later
    
       É utilizado para definir os grupos de usuários que quando acessarem o
    servidor serão considerados como usuários anônimos.
    
       Caso acesse com um usuário que esteja neste grupo, o raiz do mesmo será
    passado para o home do usuário.
    
       Veja mais em: DefaultRoot
         _________________________________________________________________
    
    AuthGroupFile
    
       Sintaxe: AuthGroupFile path
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Global>
       Compatibilidade: 1.0.3/1.1.1 and later
    
       Especifica um arquivo alternativo para o arquivo de grupos. Tem o mesmo
    formato que o arquivo /etc/groups.
    
       Pode ser utilizado na configuração de domínios virtuais, para que possa
    utilizar grupos diferentes ou iguais e não haver confusão.
         _________________________________________________________________
    
    AuthUserFile
    
       Sintaxe: AuthUserFile path
       Padrão: None
       Pode ser usado: server config,<VirtualHost>, <Global>
       Compatibilidade: 1.0.3/1.1.1 and later
    
       Especifica um arquivo alternativo para o arquivo de usuários. Utiliza o
    mesmo formato que o /etc/passwd.
    
       Também pode ser utilizado para domínios virtuais.   
         _________________________________________________________________
    
    CDPath
    
       Sintaxe: CDPath diretório
       Padrão: nenhum
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 1.2.0pre2 and later
    
       Adiciona diretórios como na variável PATH do usuário no sistema.
         _________________________________________________________________
    
    CommandBufferSize
    
       Sintaxe: CommandBufferSize tamanho
       Padrão: Nenhum
       Pode ser usado: server config, <VirtualHost>, <Global>
       Compatibilidade: 1.2.0pre7 and later
    
       Controla o tamanho do comando que é passado ao servidor. Permite que seja
    controlado efetivamente o "maior" comando que o servidor irá aceitar, e pode
    ajudar a proteger o servidor de vários ataques (Denial of Service ou
    resource-consumption).
         _________________________________________________________________
    
    DefaultChdir
    
       Sintaxe: DefaultChdir directory [group-expression]
       Padrão: ~
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 1.2.0pre2 and later
    
       Determina o diretório padrão que o usuário irá acessar (equivalente ao
    home do usuário). Caso não seja determinado, é utilizado, por padrão, o home
    do usuário.
    
       NOTE: Caso seja especificado um diretório não existente, o usuário não
    conseguirá acessar.
         _________________________________________________________________
    
    DefaultRoot
    
       Sintaxe: DefaultRoot directory [group-expression]
       Padrão: DefaultRoot /
       Pode ser usado: server config, <VirtualHost>, <Global>
       Compatibilidade: 0.99.0pl7 and later
    
       Especifica qual será o diretório raiz utilizado pelo usuário que está
    acessando o servidor e para quais grupos isto é válido ou não (colocando "!"
    antes do nome do grupo).
    
       Pode ser utilizado "~" para definir o home de um usuário.
         _________________________________________________________________
    
    DefaultServer
    
       Sintaxe: DefaultServer on|off
       Padrão: DefaultServer off
       Pode ser usado: server config,<VirtualHost>
       Compatibilidade: 0.99.0pl6 and later
    
       Controla qual servidor será utilizado por padrão quando uma conexão é
    destinada para um IP que não seja o do IP primário ou nenhum dos definidos
    em um bloco <VirtualHost>.
    
         _________________________________________________________________
    
    DefaultTransferMode
    
       Sintaxe: DefaultTransferMode ascii|binary
       Padrão: DefaultTransferMode ascii
       Pode ser usado: server config, <VirtualHost>, <Global>
       Compatibilidade: 1.2.0pre9 and later
    
       Configura o padrão de transmissão dos arquivos binário ou ascii, o padrão
    é ascii.
         _________________________________________________________________
    
    Deny
    
       Sintaxe: Deny ["from"] "all"|"none"|host|network[,host|network[,...]]
       Padrão: None
       Pode ser usado: <Limit>
       Compatibilidade: 0.99.0pl6 and later
    
       Ao contrário do Allow, usa-se o Deny para não permitir acesso de certas
    redes/máquinas.
    
       Veja mais em: Allow and Order.
         _________________________________________________________________
    
    DenyAll
    
       Sintaxe: DenyAll
       Padrão: Nenhum
       Pode ser usado: <Directory>, <A   Sintaxe: DenyAll
       Padrão: Nenhum
       Pode ser usado: <Directory>, <Anonymous>, <Limit>, .ftpaccess
       Compatibilidade: 0.99.0 and later
    
       Utilizado para desabilitar o acesso a um bloco Limit, Anonymous ou
    Directory por qualquer usuário. O DenyAll pode ser "sobrescrito" pelo
    AllowAll.
         _________________________________________________________________
       


        
    
    DenyFilter
    
       Sintaxe: DenyFilter regular-expression
       Padrão: Nenhum
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 1.2.0pre7 and later
    
       Semelhante ao AllowFilter. Não permite que certos comandos que se
    pareçam com a expressão regular definida não sejam aceitos pelo servidor.
    Caso o comando não seja aceito, o servidor mostrará a mensagem de erro
    "Forbidden command" ao cliente.
    
       Exemplo:
    
       # Nenhum comando pode conter o caracter %
       DenyFilter "%"
    
       Veja mais em: AllowFilter
         _________________________________________________________________
    
    DenyGroup
    
       Sintaxe: DenyGroup group-expression
       Padrão: Nenhum
       Pode ser usado: <Limit>
       Compatibilidade: 1.1.1 and later
    
       Utilizado para barrar o acesso de determinados grupos de usuários. Caso
    utilize-se o ! este grupo poderá acessar.
    
       Exemplo:
    
       DenyGroup users,nobody,ftp,!admin
    
       Veja mais em: AllowGroup, AllowUser, DenyUser
         _________________________________________________________________
    
    DenyUser
    
       Sintaxe: DenyUser user-expression
       Padrão: Nenhum
       Pode ser usado: <Limit>
       Compatibilidade: 1.1.7 and later
    
       Utilizado para barrar o acesso de determinados usuários. Caso utilize-se
    o ! este usuário poderá acessar.
    
       Exemplo:
    
       DenyUser root,!nobody,!ftp
    
       Veja mais em: AllowUser, DenyGroup, AllowGroup
         _________________________________________________________________
       


        
    <Directory>
    
       Sintaxe: <Directory pathname>
       Padrão: Nenhum
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
      Compatibilidade: 0.99.0 and later
    
       Utilizado para criar um bloco de configuração de um diretório e seus
    respectivos sub-diretórios. O bloco inicia com
    <Directory /caminho/do/diretório> e termina com </Directory>
    
         Exemplo:
         <Directory /home/*>
         HideNoAccess
         </Directory>
    
         Caso se utilize uma máscara, o diretório atual não sofrerá as
    configurações (em nosso caso, o diretório /home), apenas os sub-diretórios.
    Note que deve ser utilizado o caminho absoluto dos diretórios, a não ser se
    localizado em um bloco <Anonymous>, e também não podem ser utilizados
    "links" simbólicos para o bloco <Directory>.
         _________________________________________________________________
    
    DirFakeGroup
    
       Sintaxe: DirFakeGroup On|Off [groupname]
       Padrão: DirFakeGroup Off
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 1.1.5
    
       DirFakeGroup e seu companheiro, DirFakeUser, podem ser usados para
    esconder o grupo e usuário propietários de certo arquivo na listagem do
    diretório. Caso não seja especificado nenhum grupo, será mostrado o ftp por
    padrão. Pode-se utilizar de grupos e usuários não existentes no sistema.
         _________________________________________________________________
    
    DirFakeMode
    
       Sintaxe: DirFakeMode octal-mode
       Padrão: Nenhum
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,
       <Global>
       Compatibilidade: 1.1.6
    
       Configura o modo (ou permissões) que será mostrado _todos_ os diretórios
    e arquivos na listagem. É utilizado da mesma forma que o DirFakeUser e
    DirFakeGroup: "apenas cosméticos".
    
       Por exemplo:
    
       DirFakeMode 0640
    
       Resultará em:
    
       -rw-r----- ... arquivo
       drwxr-x--- ... diretório
         _________________________________________________________________
    
    DirFakeUser
    
       Sintaxe: DirFakeUser On|Off [username]
       Padrão: DirFakeUser Off
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 1.1.5
    
       Veja DirFakeGroup
         _________________________________________________________________
    
    DisplayConnect
    
       Sintaxe: DisplayConnect filename
       Padrão: Nenhum
       Pode ser usado: server config, <VirtualHost>, <Global>
       Compatibilidade: 1.2.0pre2 and later
    
       Configura um arquivo ascii que será mostrado antes de o usuário efetuar o
    acesso ao servidor.
       Pode-se utilizar de um conjunto de "magic cookies" para facilitar na
    configuração do arquivo, que também é utilizado pelas opções DisplayLogin e
    DisplayFirstChdir: %T, %F, %R, %L e %u (detalhes na documentação de
    DisplayFirstChdir).
         _________________________________________________________________
       


        
    DisplayFirstChdir
    
       Sintaxe: DisplayFirstChdir filename
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,
       <Global>
       Compatibilidade: 0.99.0 and later, magic cookies only in 0.99.0pl10 and
       later
    
       The DisplayFirstChdir directive configures an ASCII text filename
       which will be displayed to the user the first time they change into a
       directory (via CWD) per a given session.
    
       Para cada acesso no servidor, após o usuário entrar em um certo
    diretório, será mostrado o conteúdo do arquivo definido.
    
       Para o caso de um acesso anônimo, o arquivo deverá estar em algum
    diretório a partir da raiz definida no bloco <Anonymous>.
    
       DisplayFirstChdir, DisplayConnect, DisplayLogin, DisplayQuit, tem suporte
    para as seguintes "magic cookies" (somente a partir da versão 0.99.0pl10),
    que são substituídas por seus respectivos valores :
    
       %T   hora corrente
       %F   espaço disponível
       %C   diretório corrente
       %R   nome do servidor
       %L   nome do cliente
       %u   Usuário
       %U   Usuário usado para acessar o servidor
       %M   Número máximo de conexões
       %N   Número de conexões ativas
       %E   Email do administrador
         _________________________________________________________________
    
    DisplayGoAway
    
       Sintaxe: DisplayGoAway filename
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 1.2.0pre8 and later
    
       Especifica um arquivo que será mostrado toda vez que o usuário de uma
    classe tentar acessar o servidor e esta classe já possuir o número máximo de
    clientes acessando o servidor.
    
       Também pode-se utilizar as "magic cookies".
    
       Veja mais em: DisplayFirstChdir
         _________________________________________________________________
    
    DisplayLogin
    
       Sintaxe: DisplayLogin filename
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 0.99.0 and later
    
       Especifica um arquivo texto que será mostrado ao usuário no início do
    acesso. O nome do arquivo pode ser absoluto ou relativo, caso seja relativo,
    o arquivo será procurado a partir do diretório inicial que o usuário
    acessou (home do usuário ou home anônimo). Note que será necessário o
    arquivo estar localizado abaixo da raiz do usuário anônimo.
    
       DisplayLogin também suporta as "magic cookies"
         _________________________________________________________________
    
    DisplayQuit
    
       Sintaxe: DisplayQuit filename
       Padrão: Nenhum
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 1.2.0pre8 and later
    
       Especifica um arquivo texto que será mostrado ao usuário quando o mesmo
    terminar sua sessão. Quanto a localização do arquivo, vale o mesmo que a do
    item anterior.
    
       DisplayQuit também suporta as "magic cookies"
         _________________________________________________________________
       


        
    DisplayReadme
    
       Sintaxe: DisplayReadme filename
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 1.2.0pre8 and later
       Module: mod_readme
    
       Notifica o usuário da data da última alteração do arquivo especificado.
    
       Exemplo:
    
       DisplayReadme README
    
       Resultará em:
    
       Please read the file README it was last modified on Sun Feb 17
       10:36:14 2000 - 30 days ago
         _________________________________________________________________
    
    ExtendedLog
    
       Sintaxe: filename [[command-classes] format-nickname]
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Anonymous> <Global>
       Compatibilidade: 1.1.6pl1 and later
    
       Utilizado para definir quais comandos serão guardados pelos logs e se em
    mais de um arquivo ou não.
    
        Classes válidas:
         * NONE
           Nenhum comando
         * AUTH
           Comandos de autenticação (USER, PASS)
         * INFO
           Comandos de informação (PWD, SYST, etc)
         * DIRS
           Comandos de diretório (LIST, CWD, MKD, etc)
         * READ
           Leitura de arquivos (RETR)
         * WRITE
           Gravação de arquivos ou diretórios
         * MISC
           Comandos variados (SITE, etc)
         * ALL
           Todos os comandos (padrão)
    
       Se o argumento format-nickname for fornecido, ExtendedLog usará o formato
    de log prédefinido (criado por LogFormat). Senão, o formato padrão: "%h %l
    %u %t \"%r\" %s %b" é utilizado.
    
       Por exemplo, para registrar todas as operações de escrita e leitura para
    o arquivo /var/log/ftp.log (usando o formato padrão):
    
       ExtendedLog /var/log/ftp.log read,write
    
       Veja mais em: LogFormat, TransferLog
         _________________________________________________________________
       


        
    <Global>
    
       Sintaxe: <Global>
       Padrão: None
       Pode ser usado: server config, <VirtualHost>
       Compatibilidade: 1.1.6 and later
    
       Este bloco é usado para criar um conjunto de opções que serão aplicadas
    para toda a configuração do servidor e para todas as configurações de
    virtualhosts. A maioria das opções podem ser utilizadas por este bloco, mas
    não todas.
    
       Vários blocos <Global> podem ser criados. Em tempo de execução, todos os
    blocos são fundidos e finalmente passados para a configuração do servidor. O
    bloco é terminado com </Global>
         _________________________________________________________________
    
    Group
    
       Sintaxe: Group groupid
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 0.99.0 and later
    
       Configura qual grupo o serviço irá ser executado. Veja mais em User para
    maiores detalhes.
         _________________________________________________________________
    
    GroupOwner
    
       Sintaxe: GroupOwner groupid
       Padrão: None
       Pode ser usado: <Anonymous>, <Directory>, .ftpaccess
       Compatibilidade: 0.99.0 and later
    
       Especifica o grupo que será dono de todos os novos diretórios e arquivos
    que serão criados.
         _________________________________________________________________
    
    GroupPassword
    
       Sintaxe: GroupPassword groupid hashed-password
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 0.99.0pl5 and later
    
       Cria uma senha que permite que um certo grupo de usuários utilize-se
    apenas da mesma. O parâmetro hashed-password é a senha (em modo texto)
    passada pela função crypt().
    
       Veja mais em: UserPassword
         _________________________________________________________________
    
    HiddenStor
    
       Sintaxe: HiddenStor on|off
       Padrão: HiddenStor off
       Pode ser usado: <Directory>, <Anonymous>, <VirtualHost>, <Global>
       Compatibilidade: 1.2.0pre5 and later
    
       Ao mandar arquivos ao servidor, os arquivos serão renomeados para
    .in.arquivo e após o upload se completar, renomeado para arquivo.
         _________________________________________________________________
       


        
    HideGroup
    
       Sintaxe: HideGroup groupid
       Padrão: None
       Pode ser usado: <Directory>, <Anonymous>
       Compatibilidade: 0.99.0 and later
    
       Configura um bloco directory ou anonymous para esconder os diretórios e
    arquivos possuídos pelo grupo especificado, a não ser que o usuário que
    esteja acessando seja do grupo. Os arquivos e diretórios apenas não são
    listados pelo comando ls, mas caso queira-se entrar no diretório, apagar ou
    qualquer outro procedimento, é possível.
    
       Veja mais em: HideUser, HideNoAccess, IgnoreHidden
         _________________________________________________________________
    
    HideNoAccess
    
       Sintaxe: HideNoAccess
       Padrão: None
       Pode ser usado: <Directory>, <Anonymous>
       Compatibilidade: 0.99.0 and later
    
       Configura os blocos para que sejam escondidas todas as entradas de
    diretório quando for listar o seu conteúdo para o usuário que estiver
    acessando o servidor e o mesmo não ter acesso para o diretório.
         _________________________________________________________________
    
    HideUser
    
       Sintaxe: HideUser userid
       Padrão: None
       Pode ser usado: <Directory>, <Anonymous>
       Compatibilidade: 0.99.0 and later
    
       Configura um bloco anonymous ou directory para esconder todas as entradas
    de diretório possuídas pelo usuário definido, a não ser que o usuário que
    esteja acessando seja o dono do diretório. Os arquivos/diretórios só não são
    listados, mas caso queira-se apagá-los, entrar no diretório, ou qualquer
    outro procedimento, é possível.
    
       Veja mais em: HideGroup, HideNoAccess, IgnoreHidden
         _________________________________________________________________
    
    IdentLookups
    
       Sintaxe: IdentLookups on|off
       Padrão: IdentLookups on
       Pode ser usado: server config, <VirtualHost>, <Global>
       Compatibilidade: 1.1.5 and later
    
       Normally, when a client initially connects to proftpd, the ident
       protocol (RFC1413) is used to attempt to identify the remote username.
       This can be controlled via the IdentLookups directive.
         _________________________________________________________________
    
    IgnoreHidden
    
       Sintaxe: IgnoreHidden on|off
       Padrão: IgnoreHidden off
       Pode ser usado: <Limit>
       Compatibilidade: 0.99.0 and later
    
       Normalmente, arquivos/diretórios que são escondidos com as opções
    HideNoAccess, HideUser ou HideGroup aceitam/são utilizados por qualquer
    outro comando que não os de listagem de diretórios. Caso seja utilizado o
    IgnoreHidden, será retornada a mensagem de "No such file or directory", como
    se realmente, o diretório/arquivo não existisse.
         _________________________________________________________________
       


        
    <Limit>
    
       Sintaxe: <Limit command|command-group [command2 ..]>
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Directory>, <Anonymous>,
       <Global>, .ftpaccess
       Compatibilidade: 0.99.0 and later
    
       Este bloco de configuração é utilizado para definir regras de acesso para
    o servidor. Pode-se usar dos seguintes comandos para permitir ou não a
    utilização dos mesmos:
    
         * CWD (troca de diretório de trabalho)
           Utilizado pelo cliente para acessar outros diretórios. Note que as
    limitações para este comando só podem ser feitas caso se queira subir na
    árvore de diretórios existente.
         * MKD (criação de diretório)
           Utilizado pelo cliente para a criação de diretórios.
         * RNFR (renomear de), RNTO (renomear para)
           É mandado para o servidor como um par de comandos para renomear um
    arquivo/diretório.
         * DELE (remover)
           Mandado pelo cliente para apagar um arquivo.
         * RMD (remover diretório)
           Mandado pelo cliente para remover um diretório.
         * RETR (recuperar)
           Transferir um arquivo do servidor para o cliente.
         * STOR (armazenar)
           Transferir um arquivo do cliente para o servidor.
    
       Além desses, os próximos grupos de comandos são aceitávies :
    
         * READ
         * WRITE
         * DIRS
           Permissão para a "verificação de existência" de arquivos no diretório
    (comandos, ls, nlst)
         * ALL
           O mesmo que os três acima juntos.
    
       Finally, a special command is allowed which can be used to control
       login access:
    
       Finalmente, para controlar o acesso dos usuários :
    
         * LOGIN
           Define se é possível ou não a conexão ao servidor.
    
       As restrições determinadas no bloco <Limit> não devem ser confudidas com
    acesso a diretórios/arquivos.
    
       Veja mais em: IgnoreHidden
         _________________________________________________________________
    
       Sintaxe: LDAPDoAuth on|off "auth-base-prefix"
       Padrão: LDAPDoAuth off
       Pode ser usado: server config, <VirtualHost>, <Global>
       Compatibilidade: 1.2.0pre10 and later
    
       Ativa a autenticação LDAP. O segundo parâmetro é o prefixo LDAP a ser
    usado para a autenticação.
         _________________________________________________________________
    
       Sintaxe: LDAPHomedirOnDemand on|off
       Padrão: LDAPHomedirOnDemand off
       Pode ser usado: server config, <VirtualHost>, <Global>
       Compatibilidade: 1.2.0pre10 and later
    
       Ativa a criação de diretórios home para o usuário, caso não exista um
    diretório existente para a utilização deste. O grupo e o usuário
    proprietários do arquivo serão os mesmos com que o proftpd está sendo
    executado (verifique User e Group).
         _________________________________________________________________
    
       Sintaxe: LDAPServer "hostname"
       Padrão: LDAPServer "localhost"
       Pode ser usado: server config, <VirtualHost>, <Global>
       Compatibilidade: 1.2.0pre9 and later
    
       Permite que seja definido o nome da máquina que será o servidor LDAP.
         _________________________________________________________________
    
    LogFormat
    
       Sintaxe: LogFormat nickname "format-string"
       Padrão: LogFormat default "%h %l %u %t \"%r\" %s %b"
       Pode ser usado: server config
       Compatibilidade: 1.1.6pl1 and later
    
       Define o formato do arquivo de registro de acessos.
    
               %b   Bytes enviados por pedido
               %f   Nome do arquivo enviado ou recebido
       %{FOOBAR}e   Conteúdo da variável de ambiente FOOBAR
               %h   Nome da máquina remota
               %a   Endereço ip da máquina remota
               %l   Usuário remoto
               %p   Número da porta do servidor
               %v   Nome do servidor
               %P   PID do processo
               %r   Linha inteira de comando recebida pelo cliente
               %t   Hora/date corrente
       %{format}t   Hora/date corrente formatada (no formato strftime(3))
               %T   Tempo, em segundos, para receber/enviar o arquivo
               %s   código de status do servidor
               %u   id do usuário local
    
       Veja mais em: ExtendedLog, TransferLog
         _________________________________________________________________
       


        
    LsDefaultOptions
    
       Sintaxe: LsDefaultOptions "options string"
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 1.1.6 and later
    
       Opções do comando ls que serão utilizadas por padrão.
    
       LsDefaultOptions "-a"
         _________________________________________________________________
    
    MaxClients
    
       Sintaxe: MaxClients number|none message
       Padrão: MaxClients none
       Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Global>
       Compatibilidade: 0.99.0 and later
    
       Define o número máximo de clientes que podem acessar o servidor ao mesmo
    tempo. Pode especificar-se uma mensagem, por exemplo:
    
    MaxClients 5 "Desculpe, mas já foi atingido o número máximo de clientes
    conectados (%m)"
         _________________________________________________________________
    
    MaxClientsPerHost
    
       Sintaxe: MaxClientsPerHost number|none message
       Padrão: MaxClientsPerHost none
       Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Global>
       Compatibilidade: 1.1.7 and later
    
       Define o número máximo de usuários por cliente/máquina. Funciona como o
    MaxClients.
         _________________________________________________________________
    
    Order
    
       Sintaxe: Order allow,deny|deny,allow
       Padrão: Order allow,deny
       Pode ser usado: <Limit>
       Compatibilidade: 0.99.0pl6 and later
    
       Configura a ordem em que as opções Allow e Deny serão checadas em um
    bloco <Limit>. Pelo fato de a opção Allow ser utilizada para permitir e a
    Deny para restringir, a ordem em que essas opções são examinadas podem alter
    significativamente as formas de segurança.
    
       Se a configuração padrão (allow,deny) está sendo utilizada, então os
    acessos "permitidos" são primeiramente verificados.
    
       Quando a opção Order é utilizada com o parâmetro "deny,allow", os acessos
    "restringidos" são verificados antes.
    
       Para maior esclarecimento, caso seja utilizado :
    
         Order allow,deny
    
        1. Verifica as opções Allow. Se uma ou mais se aplicam ao caso, o
    resultado será :
           ALLOW (ok, tem permissão de acesso)
        2. Verifica as opções Deny. Se uma ou mais se aplicam ao caso, o
    resultado será :
           DENY (não tem acesso)
        3.O resultado final será ALLOW (acesso permitido)
    
         Order deny,allow
    
        1. Verifica as opções Deny. Se uma ou mais se aplicam ao caso, o
    resultado será :
           DENY (não tem acesso)
        2. Verifica as opções Allow. Se uma ou mais se aplicam ao caso, o
    resultado será :
           ALLOW (ok, tem permissão de acesso)
        3.O resultado final será DENY (acesso negado)
         _________________________________________________________________
       


        
    PersistentPasswd
    
       Sintaxe: PersistentPasswd on|off
       Padrão: Platform dependent
       Pode ser usado: server config
       Compatibilidade: 1.1.5 and later
    
       Esta opção é utilizada para permitir o acesso apenas para usuários que
    possuam seu nome e senha no arquivo /etc/passwd. No caso da utilização de
    NIS ou NIS+, deve ser desabilitada esta opção. Note que não é utilizado o
    arquivo /etc/shadow por motivos de segurança.
         _________________________________________________________________
       


        
    Port
    
       Sintaxe: Port port-number
       Padrão: Port 21
       Pode ser usado: server config, <VirtualHost>
       Compatibilidade: 0.99.0 and later
    
       Define a porta que será utilizada pelo servidor, podendo ser definida uma
    porta diferente para cada servidor virtual.
         _________________________________________________________________
       


        
    RateReadBPS
    
       Sintaxe: RateReadBPS byte_per_sec-number
       Padrão: 0
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,
       <Global>
       Compatibilidade: 1.2.0 and later
    
       Define a largura da banda a ser utilizada para fazer downloads. Zero
    deixa a banda sem limite.
         _________________________________________________________________
       


        
    RateReadFreeBytes
    
       Sintaxe: RateReadFreeBytes number of bytes
       Padrão: 0
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,
       <Global>
       Compatibilidade: 1.2.0 and later
    
       Define uma certa quantidade de bytes que podem ser transferidos sem
    limite de banda, somente após ultrapassar certa quantidade que será
    estipular um limite.
         _________________________________________________________________
       


        
    RateReadHardBPS
    
       Sintaxe: RateReadHardBPS on/off
       Padrão: off
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,
       <Global>
       Compatibilidade: 1.2.0 and later
    
       RateReadHardBPS força o limite de RateReadBPS depois que a quantidade de
    RateReadFreeBytes for transferida. Isto significa que se o usuário tiver a
    banda enorme e tenha baixado a quantidade "livre" rapidamente, HardBPS
    parará a transferência até que a média vá para baixo do limite dado.  Se a
    quantidade de FreeBytes for elevada e o ReadBPS é baixo então o usuário pode
    esperar períodos de tempo prolongados até que transferência continue.
         _________________________________________________________________
       


        
    RateWriteBPS
    
       Sintaxe: RateWriteBPS byte_per_sec-number
       Padrão: 0
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,
       <Global>
       Compatibilidade: 1.2.0 and later
    
    RateWriteBPS configura a largura da banda permitida para upload. Zero não
    significa nenhum limite de banda. (veja RateWriteFreeBytes para limitar a
    banda somente após alguma quantidade de bytes uploaded). O lugar usual para
    esta diretriz orientadora está no bloco <VirtualHost> ou <Directory>.
         _________________________________________________________________
       


       
    RateWriteFreeBytes
    
       Sintaxe: RateWriteFreeBytes number of bytes
       Padrão: 0
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,
       <Global>
       Compatibilidade: 1.2.0 and later
    
       RateWriteFreeBytes é a quantidade de bytes a ser transferidos sem nenhum
    limite de banda, assim com essa opção você pode definir a banda cheia para
    arquivos pequenos ao limitar grandes.
         _________________________________________________________________
       


        
    RateWriteHardBPS
    
       Sintaxe: RateWriteHardBPS on/off
       Padrão: off
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,
       <Global>
       Compatibilidade: 1.2.0 and later
    
       RateWriteHardBPS força a banda ao valor dado de RateWriteBPS depois que a
    quantidade de RateWriteFreeBytes de arquivos foi transferida. Isto significa
    que se o usuário tiver a banda enorme e mandou a quantidade "livre" de
    arquivos rapidamente, HardBPS parará transferência até que a média vá para
    baixo ao limite dado. Se a quantidade de FreeBytes for elevada e o WriteBPS
    é baixo então o usuário pode esperar períodos de tempo prolongados até que
    transferência continue.
         _________________________________________________________________
       


        
    RequireValidShell
    
       Sintaxe: RequireValidShell on|off
       Padrão: RequireValidShell on
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 0.99.0 and later
    
       Configura o acesso ao servidor "principal", virtual ou anônimo para
    permitir ou negar o acesso de usuários que não têm listado no arquivo
    /etc/shells um "tipo de login" (shell) binário. Por padrão, o proftpd
    desabilita o acesso de usuários que não tem seu shell em /etc/shells. Se o
    arquivo não for encontrado, todos são considerados válidos.
         _________________________________________________________________
       


        
    RootLogin
    
       Sintaxe: RootLoginl on|off
       Padrão: RootLogin off
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 1.1.5 and later
    
       Normalmente, o acesso do super usuário é desabilitado. Quando o cliente
    tenta conectar-se com o root com a senha correta, uma mensagem especial é
    enviada para o syslog. Quando RootLogin está habilitado, o usuário pode
    acessar o sevidor sem restrição alguma.
         _________________________________________________________________
       


        
    ServerAdmin
    
       Sintaxe: ServerAdmin "admin-email-address"
       Padrão: ServerAdmin root@[ServerName]
       Pode ser usado: server config, <VirtualHost>
       Compatibilidade: 0.99.0pl10 and later
    
       Define o email do administrador do servidor "principal"ou virtual.
         _________________________________________________________________
       


        
    ServerIdent
    
       Sintaxe: ServerIdent On|Off [identification string]
       Padrão: ServerIdent ProFTPD [version] Server (server name) [hostname]
       Pode ser usado: server config, <VirtualHost>, <Global>
       Compatibilidade: 1.2.0pre2 and later
    
       Configura a mensagem que é mostrada quando um cliente conecta-se ao
    servidor. A mensagem padrão é "[nome_da_máquina] FTP server ready".
         _________________________________________________________________
       


        
    ServerName
    
       Sintaxe: ServerName "name"
       Padrão: ServerName "ProFTPD Server [version]"
       Pode ser usado: server config, <VirtualHost>
       Compatibilidade: 0.99.0 and later
    
       Define o nome do servidor que será mostrado quando o cliente se conectar
    ao servidor (ou no virtual, caso seja definido no bloco <VirtualHost>)
         _________________________________________________________________
       


        
    ServerType
    
       Sintaxe: ServerType type-identifier
       Padrão: ServerType standalone
       Pode ser usado: server config
       Compatibilidade: 0.99.0 and later
    
       Configura o modo de funcionamento do serviço proftpd. Pode-se assumir os
    valores :
       * inetd :
         o serviço espera para ser utilizado. Primeiramente o pedido é passado
    pelo inetd e então depois para o proftpd.
       * standalone :
         o serviço inicializa e fica "escutando" a porta aguardando por
    conexões. As novas conexões resultarão em processos filhos que serão
    dedicados para todas os pedidos do novo cliente.
         _________________________________________________________________
       


        
    ShowDotFiles
    
       Sintaxe: ShowDotFiles on|off
       Padrão:ShowDotFiles Off
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 0.99.0pl6 and later -- Deprecated
    
       Se habilitado esta configuração, arquivos iniciados por ponto "." irão
    ser listados ao digitar-se comandos para mostrar o conteúdo de diretórios.
         _________________________________________________________________
       


        
    ShowSymlinks
    
       Sintaxe: ShowSymlinks on|off
       Padrão: (versions previous to 1.1.5) Off for anonymous logins, On for
       normal logins
       Padrão: (versions 1.1.5 and beyond) ShowSymlinks On
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 0.99.0pl6 and later
    
       Define se as ligações simbólicas serão ou não mostradas ao ser feita a
    listagem de diretórios.
         _________________________________________________________________
       


        
    SystemLog
    
       Sintaxe: SystemLog filename|NONE
       Padrão: None
       Pode ser usado: server config
       Compatibilidade: 1.1.6pl1 and later
    
       Define um arquivo para os registros das transmissões de ftp realizadas no
    servidor. Pode-se usar NONE para desabilitar qualquer maneira de registrar
    as transmissões de toda a configuração do servidor.
         _________________________________________________________________
       


        
    TimeoutIdle
    
       Sintaxe: TimeoutIdle seconds
       Padrão: TimeoutIdle 600
       Pode ser usado: server config
       Compatibilidade: 0.99.0 and later
    
       Configura o número máximo de segundos que o proftpd permite que os
    usuários fiquem conectado sem receber nenhum dado no controle quanto na
    conexão de dados. Se algum dado é recebido em qualquer conexão, o
    temporizador é zerado. Configurando o TimeoutIdle para 0, ele é
    desabilitado.
    
       Veja mais em: TimeoutLogin, TimeoutNoTransfer
         _________________________________________________________________
       


        
    TimeoutLogin
    
       Sintaxe: TimeoutLogin seconds
       Padrão: TimeoutLogin 300
       Pode ser usado: server config
       Compatibilidade: 0.99.0 and later
    
       Tempo máximo, em segundos, que o cliente deve fornecer seu usuário e
    senha.
    
       Veja mais em: TimeoutIdle, TimeoutNoTransfer
         _________________________________________________________________
       


        
    TimeoutNoTransfer
    
       Sintaxe: TimeoutNoTransfer seconds
       Padrão: TimeoutNoTransfer 600
       Pode ser usado: server config
       Compatibilidade: 0.99.0 and later
    
       Configura o tempo máximo, em segundos, que o cliente não utiliza-se de
    nenhum comando que resulte e uma conexão passiva ou de dados
    (mandando/recebendo um arquivo ou executando um ls, por exemplo) mas
    continua conectado.
    
       Veja mais em: TimeoutIdle, TimeoutLogin
         _________________________________________________________________
       


        
    TimeoutStalled
    
       Sintaxe: TimeoutStalled seconds
       Padrão: TimeoutStalled 0
       Pode ser usado: server config
       Compatibilidade: 1.1.6 and later
    
       Configura o tempo máximo, em segundos, que a conexão fica paralisada (não
    se digita nada) mas continua ativa. Se definido para 0, não há limitação.
         _________________________________________________________________
       


        
    TransferLog
    
       Sintaxe: TransferLog filename|NONE
       Padrão: TransferLog /var/log/xferlog
       Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Global>
       Compatiblity: 1.1.4 and later
    
       Configura o arquivo a ser utilizado para registro de acessos/comandos do
    mesmo modo que para o wu-ftpd.
    
       Veja mais em: ExtendedLog, LogFormat
         _________________________________________________________________
       


        
    Umask
    
       Sintaxe: Umask file octal-mask [directory octal-mask]
       Padrão: None
       Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Directory>,
       <Global>, .ftpaccess
       Compatibilidade: 0.99.0 and later
    
       Especifica a permissão que será definida para qualquer novo arquivo ou
    diretório. Devem ser utilizados números octais no formato 0xxx.
         _________________________________________________________________
       


        
    UseFtpUsers
    
       Sintaxe: UseFtpUsers on|off
       Padrão: UseFtpUsers on
       Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Global>
       Compatibilidade: 0.99.0 and later
    
       Servidores FTP legados, geralmente verificam um arquivo de autorização
    (/etc/ftpusers) quando um cliente tenta se autenticar no servidor. Se o nome
    desse usuário estiver no arquivo /etc/ftpusers, o acesso via ftp para o
    mesmo será negado.
         _________________________________________________________________
       


        
    UseReverseDNS
    
       Sintaxe: UseReverseDNS on|off
       Padrão: UseReverseDNS on
       Pode ser usado: server config
       Compatibilidade: 1.1.7 and later
    
       Devido ao fato de não ser possível, para os usuários anônimos e alguns
    convidados, a verificação do arquivo /etc/hosts então é utilizado o DNS.
    Caso ocorram problemas com o DNS, a conexão pode ficar paralisada (stall)
    até que seja retornado "timeout". Desabilitando esta opção impede-se a
    tentativa de conexão de dados com endereços IP reversos.
         _________________________________________________________________
       


        
    User
    
       Sintaxe: User userid
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 0.99.0 and later
    
       Especifica o usuário que o serviço proftpd irá ser executado. Por padrão,
    o proftpd é executado como root que é considerado indesejável em todos mas o
    mais confiante em configuração de redes.  
         _________________________________________________________________
       


        
    UserDirRoot
    
       Sintaxe: UserDirRoot on|off
       Padrão: off
       Pode ser usado: <Anonymous>
       Compatibilidade: 1.2.0pre2 and later
    
       Quando habilitado, caso o usuário teste efetuar conexão, seu diretório
    raiz será o sub-diretório com nome do usuário
    
       When set to true, the chroot base directory becomes a subdirectory of
       the anonymous ftp directory, based on the username of the current
       user. For example, assuming user "foo" is aliased to "ftp", logging in
       as "foo" causes proftpd to run as real user ftp, but to chroot into
       ~ftp/foo instead of just ~ftp.
         _________________________________________________________________
       


        
    UserAlias
    
       Sintaxe: UserAlias login-user userid
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 0.99.0 and later
    
       Habilita que certos usuários remotos, quando acessarem o servidor, sejam
    automaticamente definidos como usuários reais. Note que caso seja utilizado
    como apelido um usuário real do sistema, o mesmo não poderá efetuar acesso,
    pois apenas terá direitos iguais ao usuário que estará definido.
         _________________________________________________________________
       


        
    UserPassword
    
       Sintaxe: UserPassword userid hashed-password
       Padrão: None
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 0.99.0pl5 and later
    
       Cria uma senha particular, diferente da existente no(s) arquivo(s)
       /etc/passwd e/ou /etc/shadow. A senha deve ser texto passado pela função
       crypt(). Ao invés de utilizar-se de grupos para acesso, através do
       UserAlias.
       


Veja mais em: GroupPassword

_________________________________________________________________

          
    <VirtualHost>
    
       Sintaxe: <VirtualHost address>
       Padrão: None
       Pode ser usado: server config
       Compatibilidade: 0.99.0 and later
       


Este bloco é utilizado para realizar uma configuração independente do servidor padrão aplicadas a um servidor particular ou a um endereço IP. Frequentemente é utilizado em conjunto com IP aliasing e dummy network a nível de sistema afim de estabelecer um ou mais servidores virtuais que rodam na mesma máquina. O bloco termina com </VirtualHost>. É possível utilizar-se de portas diferentes para cada servidor, mas não é válido para quando o servidor é do tipo inetd (ServerType inetd).

          
         Quando inicializa-se o proftpd, as conexões virtuais são feitas de duas
    formas, dependendo da configuração de ServerType:
       * inetd: O serviço verifica o endereço de destino e a porta da conexão
          requerida pelo inetd. Caso seja referente a algum dos servidores
          virtuais a conexão será baseada nesta configuração. Caso não
          seja referente a nenhum dos servidores virtuais e nem ao principal é
          informado ao cliente de que não há nenhum servidor disponível.
       * standalone: Após analisar o arquivo de configuração, o serviço fica à
         "escuta" de todas as portas configuradas, executando a quantidade
          necessária de processos filhos para prover conexões seguras para o
          servidor principal e para cada servidor virtual.
         _________________________________________________________________
       


=---------------------- WtmpLog =----------------------

          
       Sintaxe: WtmpLog on|off|NONE
       Padrão: WtmpLog on
       Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>
       Compatibilidade: 1.1.7 and later
       


        
       Caso seja desejado que o registro de acesso de usuários seja feito no
    arquivo de sistema wtmp (/var/log/wtmp), pois alguns comandos utilizam este
    arquivo (exemplo, last).
    =----------------------
       


Esta documentação foi retirada de /usr/doc/proftpd-***/Configuration.html