Eu instalei o pure-ftpd no Debian (Raspberry Pi), encontrei o arquivo de configuração e consegui fazer a configuração básica, proibir login anônimo, criar um usuário virtual, chamar pure-pw mkdb
e reiniciar o servidor. Mas não consigo fazer login com esse usuário.
Em vez disso, consigo fazer login com um usuário Linux comum.
Gostaria de rejeitar usuários comuns e aceitar apenas usuários virtuais.
Descobri que deveria iniciar o servidor com o -l
parâmetro que especifica quais logins devem ser aceitos. Isso parece ótimo - se eu pudesse descobrir onde o servidor é iniciado. Não há nada em init.d e outros lugares conhecidos (por mim) que façam tais inicializações automáticas de daemon. Até onde eu sei, não fiz nada para ativar o daemon, isso deve ter acontecido no processo de instalação.
Se alguém pudesse me dizer onde o pure-ftpd é iniciado, talvez isso resolvesse meus dois problemas.
Eu me pergunto por que muitas coisas podem ser configuradas no arquivo de configuração, mas configurações básicas como quais usuários aceitar devem ser definidas de uma forma completamente diferente. Qual é o motivo?
O pure-ftpd não é a melhor escolha para um servidor ftp que só deve aceitar usuários dedicados sem nenhuma relação com usuários do sistema?
Por que FTP?
Quero transferir imagens do meu smartphone para o Raspberry Pi na rede interna, não acessível de fora. Então FTP parece ser uma boa escolha, especialmente porque espero que um servidor que é descrito como "projetado para segurança" forneça transferências criptografadas também.
Com a configuração original, parece estar aberto a todos os usuários Linux, o que me faz duvidar um pouco dessa segurança.
Por que este servidor FTP?
Eu tentei outros servidores FTP também, mas não gostei que eles estivessem vinculados a usuários normais. Não quero adicionar usuários do sistema e atribuir diretórios pessoais a eles. Eu simplesmente quero adicionar dois usuários FTP que podem acessar um diretório e salvar arquivos como o usuário deste diretório. Não tenho (ainda) certeza se isso funciona, estou indo passo a passo e estou pendurado nos usuários virtuais por enquanto.
A documentação não é difícil de encontrar, mas a maioria parece incompleta para mim. Neste caso, todos eles dizem como adicionar um usuário virtual, mas tive que pesquisar um pouco até descobrir que tenho que ativar isso. Mas nenhum comentário sobre onde ativar isso.
É só escrito dessa forma. Em geral, "por que o software XYZ está fazendo A e não o tecnicamente igualmente possível B?" é respondido como "por que o autor escreveu seu livro para ser A e não B": foi uma decisão consciente ou inconsciente, e ninguém conseguiu fazer B com esse software em vez disso.
Neste caso, é uma decisão de design (que eu não compartilho, mas você escolheu pure-ftpd provavelmente exatamente por suas decisões de design):
Então, é por isso que as coisas não estão consistentemente em um arquivo de configuração do lado upstream pure-ftpd .
Ter que adicionar opções de linha de comando para fazer o que você quer é (obviamente, mas apenas óbvio para pessoas que precisam empacotar o software e ajudar milhares de usuários a executá-lo, não para os próprios autores do software) uma má ideia; então, no Debian, um script PERL "wrapper" é usado, que lê seus próprios arquivos de configuração e então chama pure-ftpd conforme o usuário deseja.
Ele é iniciado em /etc/init.d/pure-ftpd, que faz parte do pacote pure-ftpd-common debian, que você deveria ter obtido se instalou o pure-ftpd corretamente (ou seja, através do gerenciador de pacotes do seu sistema operacional,
apt install pure-ftpd
). Se você não o instalou através dele, bem, você pode configurar seu próprio mecanismo de inicialização do daemon! (Não faça isso. Use o pacote distro.)O script é /usr/bin/pure-ftpd-wrapper (pode estar lendo as opções de configuração disponíveis no começo, mas não o modifique!), e ele lê todos os arquivos no diretório /etc/pure-ftpd/conf para configuração geral, e todos em /etc/pure-ftpd/auth para configuração de autenticação. Você encontrará, portanto, as configurações mencionadas em /usr/bin/pure-ftpd-wrapper como nomes de arquivo em /etc/pure-ftps/{conf,auth}.
Eu acho que isso faz com que seja um "servidor FTP fácil de usar"? Não. Mas ainda pode ser uma escolha sensata se você realmente precisa de FTP (não sou especialista em servidores FTP, para ser honesto); as pessoas geralmente preferem (pelo menos na minha experiência com base no post que vi aqui) ProFTP ou vsftp. Eu pessoalmente argumentaria que é 2024, e o único lugar em que vejo FTP sendo usado em implantações significativas é na distribuição de malware e warez, então, eu argumentaria que se você está indo tão longe a ponto de ter uma configuração complicada com usuários virtuais, talvez o FTP seja muito anos 1970 para suas necessidades, e você estaria melhor com protocolos compatíveis com SFTP / webdav / S3... que não carregam cinco décadas de compatibilidade (o FTP é literalmente mais antigo que a internet. Ele antecede o protocolo de internet em três anos). Eu argumentaria que até mesmo o SMB seria mais sensato, e pode atualmente ser criptografado e protegido adequadamente para funcionar pela internet. Ao contrário do FTP, todos esses protocolos oferecem suporte à codificação adequada, suporte para transferências interrompidas contínuas, listagens de diretórios muito melhores...