ProFTPD-1.3.8
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
Esse pacote 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.8 &&
cp -Rv doc/* /usr/share/doc/proftpd-1.3.8
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
Conteúdo
Aplicativos Instalados:
ftpasswd, ftpcount, ftpdctl, ftpmail,
ftpquota, ftpscrub, ftpshut, ftptop, ftpwho, in.proftpd (link
simbólico para "proftpd"), proftpd e prxs
Bibliotecas Instaladas:
Nenhum(a)
Diretório Instalado:
/usr/{include,lib}/proftpd,
/usr/share/doc/proftpd-1.3.8 e /srv/ftp
Descrições Curtas
proftpd
|
é o processo de segundo plano de "FTP"
|
ftpcount
|
mostra o número atual de conexões
|
ftpdctl
|
é usado para controlar o processo de segundo plano
"proftpd" enquanto ele está em execução
|
ftpasswd
|
é um conjunto de comandos sequenciais "Perl" projetado
para criar e gerenciar "AuthUserFiles" e "AuthGroupFiles"
no formato correto para o "proftpd"
|
ftpmail
|
é um conjunto de comandos sequenciais "Perl" para envio
de mensagens eletrônicas baseado no "TransferLog" do
"proftpd"
|
ftpquota
|
é um conjunto de comandos sequenciais "Perl" projetado
para criar e gerenciar limites e arquivos de contagem
para a combinação de módulos "mod_quotatab" +
"mod_quotatab_file" para o "proftpd"
|
ftpscrub
|
fornece uma maneira de limpar o arquivo do placar sob
demanda
|
ftpshut
|
desliga todos os servidores "proftpd" em uma dada hora
|
ftptop
|
exibe a situação de execução relativa às conexões
|
ftpwho
|
mostra informações atuais do processo para cada sessão
|
prxs
|
é um conjunto de comandos sequenciais "Perl" projetado
para compilar e instalar módulos de terceiros(as), a
partir do fonte, como módulos "DSO" para o "proftpd"
instalado
|