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 SuSEfirewall2Em seguida, edite o arquivo de configuração ‘/etc/sysconfig/SuSEfirewall2’ com o vim:
vim /etc/sysconfig/SuSEfirewall2Adicione 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 SuSEfirewall2Passo 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 opensslAgora 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 ftpuserVá 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.confAltere o valor na linha 81 para ‘yes’ para desabilitar o usuário anônimo.
NoAnonymous yesDescomente 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.pdbComente a linha PAMAuthentication para desabilitar a autenticação PAM na linha 141, pois usaremos o PureDB como fonte de autenticação.
#PAMAuthentication yesSalve 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 365Altere as permissões do arquivo de certificado para 0600:
chmod 600 /etc/ssl/private/pure-ftpd.pemEm 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.confDescomente a linha 439 para habilitar o TLS.
TLS 1Descomente a linha 449 e adicione uma nova opção para torná-la mais segura.
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3Descomente a linha 445 para definir o arquivo de certificado.
CertFile /etc/ssl/private/pure-ftpd.pemSalve e saia.
Agora inicie o pure-ftpd com o comando systemctl:
systemctl start pure-ftpdPasso 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/shiroCrie 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/shiroEm seguida, devemos salvar as alterações com o comando abaixo:
pure-pw mkdbAgora 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”:
ftpEm seguida, insira o IP do servidor pure-ftpd:
open 192.168.43.69Faç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.pngAgora você verá o arquivo mypict.png no servidor com o comando ls abaixo:
ls
Referência
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.