Instalação do ProFTPD
Por motivos de segurança, você deveria instalar o "ProFTPD" usando um(a) usuário(a) e grupo sem
privilégios. Como o(a) usuário(a) "root
":
groupadd -g 46 proftpd &&
useradd -c proftpd -d /srv/ftp -g proftpd \
-s /usr/bin/proftpdshell -u 46 proftpd &&
install -v -d -m775 -o proftpd -g proftpd /srv/ftp &&
ln -v -s /usr/bin/false /usr/bin/proftpdshell &&
echo /usr/bin/proftpdshell >> /etc/shells
Instale o "ProFTPD" como um(a)
usuário(a) sem privilégios executando os seguintes comandos:
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/run &&
make
Esses pacotes não vem com uma suíte de teste usável.
Agora, como o(a) usuário(a) root
:
make install &&
install -d -m755 /usr/share/doc/proftpd-1.3.8b &&
cp -Rv doc/* /usr/share/doc/proftpd-1.3.8b
Explicações do Comando
install -v -d -m775 -o proftpd -g
proftpd /srv/ftp: Crie o diretório lar para o
"ProFTPD".
ln -v -s /usr/bin/false
/usr/bin/proftpdshell: Configure o "shell" padrão
como um link para um "shell" inválido.
echo /usr/bin/proftpdshell >>
/etc/shells: Falsifique um "shell" válido para fins
de compatibilidade.
Nota
Os dois comandos acima podem ser omitidos se a seguinte diretiva
for colocada no arquivo de configuração:
RequireValidShell off
Por padrão, o "proftpd" exigirá que os(as) usuários(as) se
logando tenham "shells" válidos. A diretiva "RequireValidShell"
desliga esse requisito. Isso é recomendado somente se você
estiver configurando o teu servidor "FTP" exclusivamente para
transferências anônimas.
Nota
O suporte para a maioria dos pacotes de dependências exige usar
opções passadas para o conjunto de comandos sequenciais
configure. Veja-se
a saída gerada a partir de ./configure --help para
informações completas relativas a habilitar pacotes de
dependências.
Configurando o ProFTPD
Arquivos de
Configuração
/etc/proftpd.conf
Informação de Configuração
Esta é uma configuração de amostra simples, somente para baixar.
Veja-se a documentação do "ProFTPD" em "/usr/share/doc/proftpd
" e consulte o sítio da
"web" em http://www.proftpd.org/ para
configurações de exemplo.
cat > /etc/proftpd.conf << "EOF"
# Este é um arquivo básico de configuração do "ProFTPD".
# Ele estabelece um servidor e um login anônimo.
ServerName "Instalação Padrão do ProFTPD"
ServerType standalone
DefaultServer on
# A porta 21 é a porta padrão do "FTP".
Port 21
# "Umask" 022 é um bom padrão de "umask" para evitar que novos
# diretórios e arquivos sejam escrevíveis por grupo e mundialmente.
Umask 022
# Para evitar ataques "DoS", configure o número máximo de processos descendentes
# como trinta (30). Se precisar permitir mais que trinta (30) conexões simultâneas,
# [então] simplesmente aumente esse valor. Observe que isso funciona SOMENTE no modo
# autônomo; no modo "inetd", você deveria usar um servidor "inetd" que te permita
# limitar o número máximo de processos por serviço.
MaxInstances 30
# Configure o(a) usuário(a) e o grupo em que o servidor normalmente executa.
User proftpd
Group proftpd
# Para fazer com que cada usuário(a) "FTP" esteja "enjaulado(a)" (em "chroot") no
# diretório inicial dele(a), descomente esta linha.
#DefaultRoot ~
# Normalmente, os arquivos deveriam ser sobrescrevíveis.
<Directory /*>
AllowOverwrite on
</Directory>
# Uma configuração básica anônima, sem diretórios de "upload".
<Anonymous ~proftpd>
User proftpd
Group proftpd
# Os clientes deveriam estar aptos a se logarem com "anonymous" bem como com "proftpd"
UserAlias anonymous proftpd
# Limite o número máximo de "logins" anônimos
MaxClients 10
# 'welcome.msg' deveria ser exibida ao "login", e '.message' exibida
# a cada novo diretório acessado.
DisplayLogin welcome.msg
DisplayChdir .message
# Limite o "WRITE" em todos os lugares no "chroot" anônimo.
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
EOF