FTP Server · 4 min read · Dec 16, 2025

Como Instalar o Pure-FTPd com TLS e usuários virtuais no OpenSUSE Leap 42.1

Pure-FTPd é um servidor FTP gratuito e leve baseado no Troll-FTPd, cujo desenvolvimento começou em 2001 e roda em muitos sistemas operacionais semelhantes ao Unix, incluindo Linux, *BSD, Solaris e HP-UX. O Pure-FTPd possui muitos recursos, como domínios virtuais, diretório home chroot, usuários virtuais, suporte a TLS/SSL, cota virtual e muito mais.

Neste tutorial, eu vou mostrar como instalar e configurar o pure-ftpd no OpenSUSE Leap 42.1. Vou mostrar como configurar o pure-ftpd com TLS/SSL e, em seguida, configurar usuários virtuais.

Pré-requisitos

  • OpenSUSE Leap 42.1
  • Privilégios de root
  • Conhecimento em OpenSUSE, Zypper

Passo 1 - Instalar e Configurar o SuSEfirewall2

O SuSEfirewall2 é um script para gerar a configuração do firewall no arquivo ‘/etc/sysconfig/SuSEfirewall2’. Vamos instalar o SuSEfirewall2 e, em seguida, abrir as portas para SSH e o serviço FTP.

Instale o SuSEfirewall2 com zypper:

zypper in SuSEfirewall2

Em seguida, edite o arquivo de configuração ‘/etc/sysconfig/SuSEfirewall2’ com o vim:

vim /etc/sysconfig/SuSEfirewall2

Adicione os novos serviços ssh e FTP na linha 253:

FW_SERVICES_EXT_TCP="ssh ftp"

Salve e saia.

Agora inicie o SuSEfirewall2 com o comando systemctl:

systemctl start SuSEfirewall2

Passo 2 - Instalar e Configurar o Pure-FTPd

Neste passo, vamos instalar o pure-ftpd com OpenSSL para a configuração TLS/SSL e configurar o usuário e grupo do pure-ftpd.

Instale os aplicativos com zypper conforme mostrado abaixo:

zypper in pure-ftpd openssl

Agora adicione o novo grupo ‘ftpgroup‘ e o novo usuário para o mestre ‘usuário FTP’ chamado ‘ftpuser‘ ao grupo.

groupadd ftpgroup  
useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Vá para o diretório do pure-ftpd e edite o arquivo de configuração ‘pure-ftpd.conf’ com o editor vim:

cd /etc/pure-ftpd/  
vim pure-ftpd.conf

Altere o valor na linha 81 para ‘yes’ para desabilitar o usuário anônimo.

NoAnonymous                 yes

Descomente a linha 131 para configurar o backend. O Pure-ftpd tem suporte para MySQL, PostgreSQL e LDAP como backend, mas neste tutorial, usaremos ‘PureDB’ como o backend.

PureDB                        /etc/pure-ftpd/pureftpd.pdb

Comente a linha PAMAuthentication para desabilitar a autenticação PAM na linha 141, pois usaremos o PureDB como fonte de autenticação.

#PAMAuthentication             yes

Salve e saia.

Passo 3 - Configurar TLS/SSL para o Pure-FTPd

Gere um novo arquivo de certificado autoassinado no diretório ‘/etc/ssl/private’ com o comando openssl:

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365

Altere as permissões do arquivo de certificado para 0600:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Em seguida, volte para o diretório do pure-ftpd e edite o arquivo de configuração para habilitar o suporte a TLS/SSL para a conexão do cliente.

cd /etc/pure-ftpd/  
vim pure-ftpd.conf

Descomente a linha 439 para habilitar o TLS.

TLS                      1

Descomente a linha 449 e adicione uma nova opção para torná-la mais segura.

TLSCipherSuite           HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3

Descomente a linha 445 para definir o arquivo de certificado.

CertFile                 /etc/ssl/private/pure-ftpd.pem

Salve e saia.

Agora inicie o pure-ftpd com o comando systemctl:

systemctl start pure-ftpd

Passo 4 - Configurar Usuários Virtuais

O Pure-FTPd fornece recursos para criar e usar usuários virtuais em vez de usuários reais do sistema (Linux). O Pure-FTPd fornece vários backends de autenticação e a configuração do usuário virtual depende do backend que é usado pelo servidor. No passo 2, configuramos ‘PureDB’ como o backend.

Podemos criar um novo usuário virtual com o comando ‘pure-pw’ fornecido pelo pure-ftpd. Neste passo, criaremos um novo usuário virtual chamado ‘shiro’ com o diretório ‘/srv/ftp/shiro’ como o diretório home do ftp e o usuário é chrooted para esse diretório, de modo que ele não possa acessar os outros diretórios do sistema.

Crie o novo usuário virtual com pure-pw:

pure-pw useradd shiro -u ftpuser -d /srv/ftp/shiro

Crie o diretório para o usuário virtual e altere o proprietário desse diretório para o mestre ‘usuário FTP’.

mkdir -p /srv/ftp/shiro  
chown -R ftpuser.ftpgroup /srv/ftp/shiro

Em seguida, devemos salvar as alterações com o comando abaixo:

pure-pw mkdb

Agora o usuário shiro está pronto para ser usado, podemos usar FTP a partir da linha de comando ou FileZilla para a interface GUI para conectar ao servidor.

Nota:

pure-pw tem mais opções de comando, você pode usar ‘pure-pw help‘ para ver todos os comandos úteis.

Passo 5 - Testando

Eu vou usar o comando FTP no terminal para o teste. Abra seu terminal e digite “ftp”:

ftp

Em seguida, insira o IP do servidor pure-ftpd:

open 192.168.43.69

Faça login com o usuário ‘shiro’ e a senha e pressione ‘Enter’.

Tente fazer upload de um arquivo com o comando ‘put’:

put picture.png mypict.png

Agora você verá o arquivo mypict.png no servidor com o comando ls abaixo:

ls

Conexão FTP

Referência

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.