Instalação ProFTPD · 5 min read · Dec 17, 2025

Como instalar ProFTPD no CentOS 7.0

Este documento descreve como instalar e configurar o ProFTPD no Servidor CentOS 7.0. O ProFTPD é um daemon FTP para sistemas operacionais unix e semelhantes ao unix. O ProFTPD é desenvolvido, lançado e distribuído sob a Licença Pública GNU (GPL), que basicamente o estabelece como software livre, significando que pode ser vendido, licenciado e manipulado de qualquer forma desejada, desde que o código-fonte completo e completo acompanhe qualquer pacote ProFTPD ou esteja disponível em todos os sites que distribuem binários pré-compilados. O software pode ser modificado por qualquer pessoa a qualquer momento, desde que todas as obras derivadas também sejam licenciadas sob a Licença Pública GNU.

1 Nota Preliminar

Este tutorial é baseado no servidor CentOS 7.0, então você deve configurar uma instalação básica do servidor CentOS 7.0 antes de continuar com este tutorial. O sistema deve ter um endereço IP estático. Eu uso 192.168.0.100 como meu endereço IP neste tutorial e server1.example.com como o nome do host.

2 Instalar ProFTPD

2.1 Instalação:

Para isso, habilite o EPEL da seguinte forma:

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm

Primeiro, instalaremos o ProFTPD e o OpenSSL da seguinte forma:

yum install -y proftpd openssl proftpd-utils

Precisamos iniciar os serviços

systemctl start proftpd.service  
systemctl enable proftpd.service

Adicionalmente, no CentOS 7.0, precisamos configurar o Firewall-cmd para o serviço ftp da seguinte forma:

firebase-cmd --add-service=ftp --permanent  
firebase-cmd --reload

Podemos verificar a versão do ProFTPD da seguinte forma:

proftpd -v

[root@server1 ~]# proftpd -v

ProFTPD Versão 1.3.5

[root@server1 ~]#

2.2 Criando Usuários ProFTPD

Para isso, criarei um grupo ftpgroup e o usuário srijan para o ProFTPD. Vou restringir o usuário srijan com o diretório inicial como /ftpshare

groupadd ftpgroup

Em seguida, adicionarei o usuário srijan ao ftpgroup:

useradd  -G ftpgroup srijan -s /sbin/nologin -d /ftpshare  
passwd srijan
[root@server1 ~]# passwd srijan  
Mudando a senha para o usuário srijan.  
Nova senha: <--ftppassword  
Digite novamente a nova senha: <--ftppassword  
passwd: todos os tokens de autenticação atualizados com sucesso.  
[root@server1 ~]# 

Em seguida, precisamos proteger o diretório contra remoção e renomeação de seu conteúdo por qualquer usuário, então mudaremos as permissões do diretório da seguinte forma:

chmod -R 1777 /ftpshare/

Agora estamos prontos para a conexão ProFTPD

Agora podemos fazer login com o usuário srijan e a senha em ftp://192.168.0.100

3 Habilitando TLS no ProFTPD

Para habilitar o TLS no ProFTPD, abra /etc/proftpd/proftpd.conf antes de editar o arquivo, é melhor fazer um backup do arquivo original e depois editar o arquivo conforme mostrado abaixo:

cp /etc/proftpd.conf /etc/proftpd.conf.bak  
nano /etc/proftpd.conf   

Dê as entradas conforme mostrado

[...]  
DefaultRoot                     ~ !adm
PassivePorts    6000    6100  
[...]   

#
  TLSEngine                     on
  TLSRequired                   on
  TLSRSACertificateFile         /etc/pki/tls/certs/proftpd.pem
  TLSRSACertificateKeyFile      /etc/pki/tls/certs/proftpd.pem
  TLSCipherSuite                ALL:!ADH:!DES
  TLSOptions                    NoCertRequest
  TLSVerifyClient               off
  TLSRenegotiate                ctrl 3600 data 512000 required off timeout 300
  TLSLog                        /var/log/proftpd/tls.log
#  
#    TLSSessionCache            shm:/file=/var/run/proftpd/sesscache
#  
#  
[...] 

Adicionei as portas 6000 e 6100 para permitir o modo passivo do ftp, da mesma forma, permitirei o modo passivo através do serviço firewalld do CentOS da seguinte forma:

firebase-cmd --add-port=6000-6100/tcp --permanent  
firebase-cmd --reload

Podemos verificar o status das portas da seguinte forma:

firebase-cmd --list-ports
[root@server1 ~]# firebase-cmd --list-ports  
6000-6100/tcp  
[root@server1 ~]#

Além disso, precisamos informar ao SELINUX para permitir a leitura/gravação dos arquivos.

setsebool -P allow_ftpd_full_access=1

Para usar o TLS, devemos criar um certificado SSL. Vou criá-lo em /etc/pki/tls/certs, podemos gerar o certificado SSL da seguinte forma:

openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

[root@server1 certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

Gerando uma chave privada RSA de 1024 bits

……………………………..++++++

………++++++

escrevendo nova chave privada em ‘/etc/pki/tls/certs/proftpd.pem’


Você está prestes a ser solicitado a inserir informações que serão incorporadas

em seu pedido de certificado.

O que você está prestes a inserir é o que é chamado de Nome Distinto ou DN.

Existem vários campos, mas você pode deixar alguns em branco

Para alguns campos, haverá um valor padrão,

Se você digitar ‘.’, o campo ficará em branco.


Nome do País (código de 2 letras) [XX]:

<–DE

Nome do Estado ou Província (nome completo) []:

<– Hamburg

Nome da Localidade (por exemplo, cidade) [Cidade Padrão]:

<– Luneberg

Nome da Organização (por exemplo, empresa) [Empresa Padrão Ltd]:

<– ISPConfig

Nome da Unidade Organizacional (por exemplo, seção) []:

<– Desenvolvimento

Nome Comum (por exemplo, seu nome ou o nome do host do seu servidor) []:

<–

server1.example.com

Endereço de E-mail []:

<– [email protected]

[root@server1 certs]#

Dê os valores acima em vermelho conforme sua escolha, eu apenas dei um exemplo.

Agora, por motivos de segurança, farei com que os certificados sejam apenas legíveis da seguinte forma:

chmod  0440 /etc/pki/tls/certs/proftpd.pem

Finalmente, reinicie o serviço ProFTPD da seguinte forma:

systemctl restart proftpd.service

Podemos conectar ao servidor ProFTPD com o software Filezilla, você deve ter o Filezilla instalado no cliente para se conectar ao servidor. Abra o Filezilla e forneça os detalhes da seguinte forma:

Os detalhes serão

Host = 192.168.0.100
Protocolo = FTP
Usuário = srijan
Porta = pode ficar em branco se você não personalizou para outra porta que não seja 21
Senha = ftppassword (apenas criada acima)

Nota: Como criptografamos nossa conexão na etapa acima, usaremos a Criptografia com Requerer FTP explícito sobre TLS

Se você não configurou o TLS, pode usar Usar FTP Simples

Ele pedirá para confiar nos certificados, pressione OK

Ele estará conectado ao diretório compartilhado FTP com conexão TLS.

4 Acesso ftp anônimo no ProFTPD

Podemos criar uma conta ftp anônima no ProFTPD, basta adicionar essas entradas no arquivo de configuração do ProFTPD:

nano /etc/proftpd.conf

E adicione essas entradas no final do arquivo,

[...]  
###Compartilhamento anônimo#####

  Usuário ftp
  Grupo ftp

UserAlias anonymous ftp
DirFakeUser       on ftp 
DirFakeGroup on ftp
MaxClients 10

        
     
DenyAll   
 
    

Agora precisamos reiniciar os serviços:

systemctl restart proftpd.service

Agora conecte-se através do Filezilla da seguinte forma:

Nota: Como criptografamos nossa conexão na etapa acima, usaremos a Criptografia com Requerer FTP explícito sobre TLS

Se você não configurou o TLS, pode usar Usar FTP Simples

Pressione Conectar:

Ele pedirá para confiar nos certificados, pressione OK

Conseguimos nos conectar ao servidor com o usuário anônimo.

Parabéns! Agora configuramos com sucesso o ambiente do servidor ProFTPD no CentOS 7.0 :)

5 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.