Bom, na minha opinião, o que conta para um software ser bom é ele fazer o que se propõe. Gratuito ou não, se funciona e atende ao que se precisa, ta valendo. E no meu caso, e para quem usa sistemas abertos como o linux, solaris entre outros, uma solução em FTP é sem duvida o ProFTPD.
Bom, quem leu o profile do blog percebeu que ultimamente eu tenho usado o ubuntu linux, então vou focar os procedimentos que se faz necessario para instala-lo e colocar tudo funcionando no Ubuntu Linux.
Então vamos la:
Primeiramente, vamos ao passo mais complexo deste post :) , abra seu terminal e digite o comando:
#apt-get install proftpd
Depois deste procedimento, vamos a configuração do ftp. Eu como editor uso o nano, mas pode ser com o vim, mcedit entre outros. Então vamos editar o arquivo conf do proftpd.
nano /etc/proftpd/proftpd.conf
Algumas configurações neste arquivo devem ser editadas, outras inseridas. Bom, mas como isso vai de cada um, coloquei abaixo algumas das minhas opções:
------------------- Arquivo proftpd.conf --------------------
# proftpd.conf
# Arquivo exibido no momento da conexao (Pode se editado para uma mensagem personalizada)
DisplayConnect /usr/local/etc/proftpd.banner
# Nao exibe informacoes sobre que tipo de servidor esta rodando (Dica de seguranca)
ServerIdent off
# Modo no qual o servidor ira rodar (standalone ou inetd) (Não mexi nessa configuração)
ServerType standalone
# Como nao temos VirtualHosts, este servidor (principal) sera o padrao
DefaultServer on
# Porta padrao do FTP
Port 21
# Umask padrao para arquivos uploaded
Umask 022
# Maximo de processos filho (cada conexao utiliza um processo)
MaxInstances 30
# Maximo de usuarios autenticados (incluindo anonimos) e mensagem
MaxClients 20
# Maximo de usuarios autenticados (incluindo anonimos) por IP
MaxClientsPerHost 4
# Usuario sob o qual o servidor ira rodar
User ftp
# Grupo sob o qual o servidor ira rodar
Group ftp
# Os usuarios nao poderao sair de seu diretorio home (chrooted)
DefaultRoot ~
# Nao permite o login do usuario root
RootLogin off
# Nao requer que os usuarios tenham um shell valido (definido
# em /etc/shells)
RequireValidShell off
# Nao bloqueia usuarios baseando-se no arquivo /etc/ftpusers
UseFtpUsers off
# Tempo maximo em segundos para login
TimeoutLogin 120
# Tempo maximo em segundos conectado mas sem qualquer comando ou
# troca de dados
TimeoutIdle 600
# Tempo maximo em segundos sem transferencia de dados (arquivos,
# listagens de diretorios)
TimeoutNoTransfer 900
# Tempo maximo em segundos com uma transferencia parada, travada
TimeoutStalled 900
# Numero maximo de tentativas de login
MaxLoginAttempts 3
# Nao tenta descobrir o hostname do cliente
UseReverseDNS off
# Nao tenta efetuar consulta do username remoto (ident - RFC1413)
IdentLookups off
# Arquivo de log geral
SystemLog /var/log/proftpd/system.log
# Arquivo de log das transferencias
TransferLog /var/log/proftpd/transfer.log
# Especifica o modo de transferencia padrao (ascii ou binary)
DefaultTransferMode binary
# Permite que arquivos sejam sobrescritos (caso seja feito upload
# de um arquivo ja existente)
AllowOverwrite on
# Abre o contexto de usuarios anonimos, especificando a raiz do
# FTP anonimo
Depois de feita as configurações, vamos criar os acessos dos usuarios.
Primeiro criamos a pasta que irá apontar para os usuarios que irão acessar o ftp:
mkdir /home/(nome_do_usuario)
Vamos criar o acesso do usuario com senha e setar a pasta que irá visualizar:
sudo useradd (nome_do_usuario) -p your_password -d /home/(nome_do_usuario) -s /bin/false
sudo passwd (nome_do_usuario)
Vamos configurar as permissões nessa pasta
cd /home
sudo chmod 755 (nome_da_pasta_usuario)
Depois de feito isso, iniciar o software:
sudo /etc/init.d/proftpd start
Pronto, o sistema deve estar funcionando, só testar.
Bom, qualquer duvida ou sugestão, comente o post.
Espero que tenha ajudado nas duvidas.
2 comentários:
Karls, quero atribuir direito de postar arquivos para um usuário para a pasta /var/www/html. qual o comando que devo usar?
é o seguinte, na hora de criar a pasta aonde o usuario será direcionado vc faz assim:
adduser -s /bin/false -d /pasta/destino/ usuario
chown usuario.grupo /pasta/destino -Rf
chmod 700 /pasta/destino
Traduzindo, cria-se o usuario com a pasta que você quer q ele acesse, em seguinda dê permissão na pasta para o usuario e grupo q ele pertence, dai dá permissão de escrita pra ele, pronto, ta feito.
Postar um comentário