Como montar um servidor FTP no Ubuntu
Sou questionado algumas vezes se a instalação/configuração de um servidor FTP em Linux é fácil. Costumo responder que fácil não é…é super fácil. Normalmente instalo como servidor de FTP o vsftpd pela flexibilidade, segurança, simplicidade e rapidez que oferece. Hoje vamos aqui aprender como montar um servidor FTP potente.
Passo 1 - Instalar o vsftpd
sudo apt-get install vsftpd |
Passo 2 – Configurações do serviço vsftpd
Por norma os ficheiros de configuração dos serviços encontram-se em /etc. No caso do vsftpd o ficheiro de configuração é /etc/vsftpd.conf
Vamos abrir o ficheiro e editar/rever algumas directivas:
sudo nano -w /etc/vsftpd.conf |
Ficheiro vsftpd.conf
Desactivar o acesso “anónimo”.
anonymous_enable=NO |
Permitir o acesso a utilizadores locais
local_enable=YES |
Passo 3 – Adicionar uma Shell “fake”
Por forma a não permitir a autenticação dos utilizadores FTP via SSH ou login local vamos adicionar uma shell fake e assim limitar o acesso a esses utilizadores. Desta forma, as credenciais de um utilizador FTP apenas servem para se autenticar via FTP.
Vamos então abrir o ficheiro /etc/shells e adicionar a linha /bin/false
# /etc/shells: valid login shells /bin/sh /bin/bash /bin/false |
Passo 4 - Criar um utilizador (conta) FTP
Como já referido anteriormente, é importante que as credenciais de uma conta FTP apenas funcionam para autenticação via FTP. Neste passo vamos proceder ao seguinte:
- Criar pasta do utilizador (ex. /home/ftp/ftpuser)
- Criar utilizador, definir qual a sua directoria e associá-lo a shell “fake” (ex. user ftpuser)
- Criar/mudar a password do utilizador (com o comando passwd)
sudo mkdir -p /home/ftp/ftpuser sudo useradd ftpuser -d /home/ftp/ftpuser/ -s /bin/false sudo passwd ftpuser |
É também importante que o utilizador tenha permissões de escrita na sua pasta uma vez que a pasta criada ficou associada ao root. Para isso podemos simplesmente mudar o owner da pasta através do comando
sudo chown ftpuser /home/ftp/ftpuser |
Passo 5 – As configurações estão feitas, teremos apenas de reiniciar o serviço vsftpd através do comando:
sudo /etc/init.d/vsftpd restart |
Coloquei entretanto 2 ficheiros na pasta /etc/vsftpd.conf para exemplificar o exemplo.
Nota: No ficheiro de configuração (/etc/vsftpd.conf) do serviço é possível especificar muitos parâmetros como por exemplo: o número de clientes, adicionar um banner, etc etc.
Como aceder ao FTP
Depois do serviço montado o acesso ao FTP pode ser realizado via um simples browser ou através de uma aplicação cliente para FTP (ex. filezzila, fireFTP). Neste exemplo vou usar o browser.
Colocamos então ftp://<IP_Servidor>
Não esquecer, que o <IP_Servidor> deve ser mudado pelo IP da máquina onde instalaram o vsftpd (No meu caso é o 192.168.193.13)
Inserimos os dados de autenticação (criados no passo 4)
E acedemos ao nosso servidor FPT. Agora basta colocar conteúdos e partilhar. É claro que as aplicações cliente FTP dão mais flexibilidade na gestão dos conteúdos, por isso basta por exemplo fazerem download do filezzila (FileZilla 3.3.2 RC2 – Um excelente cliente FTP)
Este artigo tem mais de um ano
Bom tutorial.
Isso sim é um bom post.
Bom artigo, especialmente em que não conhecia esse software. Embora o artigo tenha alguns erros de edição, só queria apontar o primeiro, porque a palavra está incompleta: “Sou ‘questiona’ alguma vezes”.
Thanks. Há mais algum?
De gramática só li no passo 3, “Deste forma”.
Alguns sítios davam jeito vírgulas, mas nada de outro mundo.
Daí referir só o primeiro.
Espectáculo, muito obrigado.
Pedro,
não sei como dizer isto….
mas OBRIGADÍSSIMO!
veio mesmo em boa altura 😀 estava mesmo mesmo a precisar disto.
Isto dá para aceder fora da rede privada? É preciso mais alguma configuração adicional?
Depende de como estas ligado a rede. A partida terás de configurar o router para reencaminhar o tráfego FTP para o teu PC.
Cumps.
@Daniel,
Podes sempre recorrer ao port forwarding. Todos os pedidos que cheguem ao teu router a porta 20 e 21.
https://pplware.sapo.pt/software/port-forwarding-jogos-aplicacoes-e-outros/
obrigado. Ja conhecia esse mecanismo, mas essa aplicação facilita bastante mais 😛
Obrigado! Boa dica
No Ubuntu 10.04 ao tentar configurar o GADMIN-PROFTPD não consegui. Dá-me o mesmo erro que na versão 9.10.
Solução: vsftpd 🙂
Obrigado pela receita! 🙂
b1bpt@fiambre.dsi.uminho.pt
Obrigado a tua dica está 5*
Consegui á primeira
Podiam fazer um de DHCP tb 😀
– Meus cumprimentos também !
– Muito bem explicado .
– Parabéns
Caro PP ou todos, ainda debuntando no assunto, segui suas orientações no meu Ubt904, funcionou, porém obtive acesso direto a raiz e a todas os diretórios. Onde foi q errei?
Help me!!!
Obrigado.
hum, eu tive esse problema em tempo e era um bug que havia.
Mas vamos por partes: como tem definido o directório do user criado no ficheiro /etc/passwd ?
PPinto
Assim está PP:
cat /etc/passwd
…
ftpuser:x:1002:1004::/home/ftp/ftpuser:/bin/false
ls -la /home/ftp/ftpuser
total 8
drwxr-xr-x 2 ftpuser root 4096 2010-03-25 14:48 .
drwxr-xr-x 3 ftp nogroup 4096 2010-03-25 14:48 ..
Obrigado pela atenção!
Parece-me tudo OK. Então a segunda questão é: verifique se dentro do ficheiros vsftpd.conf tens a directiva chroot_local_user=YES
Aguardo resposta
PPinto
Mais completo:
# 1. Todos ficam “presos” por omissão:
chroot_local_user=YES
chroot_list_enable=NO
# 2. Apenas alguns ficam “presos”:
chroot_local_user=NO
chroot_list_enable=YES
# uma lista em /etc/vsftpd.chroot_list com os utilizadores que ficam presos.
# 3. Apenas alguns são “livres”:
chroot_local_user=YES
chroot_list_enable=YES
# Crie uma lista em /etc/vsftpd.chroot_list com os utilizadores que ficam livres.
Caro PP,
Entendi suas instruções, fiz as devidas alterações e nada, deu no mesmo. Testei no Ubt910 e aconteceu o mesmo. Conituarei a ler sobre o assunto e qlqr novidade te aviso. Perdi a batalha mas não a guerra.
Só + um detalhe, ambas versões do Ubt estão originais, ou seja, sem ups!
+1x obrigado!
Oh Pedro, fiquei com uma dúvida.. que vídeo é esse da copituna?
é do Oppidana 2010?
reais saudações académicas.
eh eh eh
Publicidade gratuita 🙂
http://palcoprincipal.sapo.pt/copituna/musica/festivais/tag_senhora_do_mar
😀
eu sou da velha Guarda, mas é uma boa musica…
se me permites recomendo uma das minha preferidas 😉
http://palcoprincipal.sapo.pt/copituna/musica/cabulas_de_amor/guitarra_de_ilusoes
cumprimentos e obrigado pela publicidade
OFFTOPIC:
Alguém tem algum script que permita mover uma estrutura inteira entre 2 servidores FTP ?
No o caso de mudança de hosting e tendo diversas pastas/contas.
Qual a melhor solução para mover TUDO para o novo server? sem ter acesso shell aos servers (Linux)
Vi alguns scripts em Perl e Python, mas deixam mt a desejar 😐
thanks
Melhor mesmo era pores o fórum, onde é mais provável que te ajudem mais rapidademente.
Quanto à tua dúvida, se não tens acesso à shell, como é suposto executares as scripts?
Numa terceira máquina 😐 nem que tenha que fazer o download para uma pasta temporária e depois o upload… em ultimo recurso, pode-se pedir a shell no server “receptor”.
Thanks pela dica do fórum.
FTP
Faltou-te aí qq coisa não?!
Boa Noite,
Usem Freenas, muito fixe mesmo, quer para casa,quer empresarial.
Cumprimentos
Boas,
Bom post, mas Pedro Pinto gostava de perguntar uma coisa,
As configurações do modo passivo como são feitas?
Obrigado
uma duvida, como é k configuro mais do que um directorio na mesma conta FTP.
por exemplo.
user Backup -> /home/backups/
user ftpuser -> /media/hdd1/directorio
user ftpuser -> /media/hdd2/directorio
tenho 3 discos na maquina ubunto, e keria disperçar varias directorias por FTP. com varias contas.
Quando vou logar da erro 530 Login Incorrect.
Mas está do jeito q cadastrei!
Eu já tinha tentado instalar outro sistema, como faço pra ver qual ftp estou tentando usar?
Boas!
Excelente tutor.
Só uma dúvida. Não consigo adicionar os ficheiros a partilhar na pasta “ftpuser”
Fiz alguma coisa errado?
Cumprimentos
Olá estava a ver este post existe algo do género que auxilie a criar um servidor DNS por exemplo ou outros serviços?
Sei que temos o ClearOS mas se possivel gostava de usar o Ubuntu.
Cpts
ola amigos
Ajudem-me a resolver este problema, sff
Quero criar um servidor em LINUX para alojamento de Paginas Web.
1º Pergunta: Que versão do linux recomendam para Servidor???
2º Pergunta: Que programas devo instalar para o Servidor??
Comprimentos
1º Pergunta: CentOS
2º Pergunta: VSFTPD (por exemplo – tens aqui um exemplo no Ubuntu https://pplware.sapo.pt/linux/como-montar-um-servidor-ftp-no-ubuntu/)
Boas só um perguntinha, eu consigo fazer o servidor mas apenas consigo aceder na net local… Como faço com este programa (ou outro) para qualquer pessoa poder aceder das casas delas?
Agradeço desde já…
Boas,
instalei de raiz o ubuntu 12.04 para experimentar isto, mas após seguir o tutorial completo, passo por passo, não consigo aceder ao http://ftp...
internamente a partir do servidor: após efectuar o login, dá-me uma página em branco, sem nada escrito, embora na pasta do ftp estejam lá vários directórios;
externamente a partir do servidor: após efectuar o login, dá-me uma página em branco, sem nada escrito, embora na pasta do ftp estejam lá vários directórios;
externamente a partir da Internet: não consigo aceder de forma alguma
no router abri as portas 20 e 21 em TCP e UDP.
Sou rookie em linux, por isso solicito ajuda em como posso resolver isto, por favor. Informem-me que comandos devo executar para efectuar o diagnóstico que possam pretender.
Muito obrigado!
Boas Francisco, que router tens?
DrayTek Vigor2100G
!update!
Após muito andar para aqui, e istalar via Centro de Software o FileZilla, assim como o PureAdmin, reslvi testar novamente e… voila… está tudo a funcionar!! O.o
Seria alguma dependência não instalada?! Como testei várias coisas, já não sei dizer exactamente porque está agora a funcionar… detesto quando isto me acontece :-p
Muito bom tutorial, irá me ajudar muito agora, muito obrigado equipe pplware 😀
muito bom….
ja esta a funcionar…
so que reparei que atraves de ftp:// conseguem ter acesso aos directorios do sistema…
basta aceder a: “para um directorio de nivel superior”,
como posso negar o acesso a esses directorios….?
obrigado
Oliveira, na altura consegui-te negar o acesso?
Como fizest? estou neste momento com esse problema.
Obrigado
ja agora eu tentei introduzindo o ip do computador, o que so consigo aceder se estiver na mesma rede,,,,
como posso aceder ao servidor, estando noutra rede….?
como abro as portas do router?
Boa tarde, eu utilizo o filezilla e meu login e efetuado mais para no comando LIst.
Alguem pode me ajudar.
Já agora, alguém sabe como remover utilizadores? Procurei no google mas não encontrei, não procurei o suficiente de certeza
O copy-paste deste site é muito chato.
😀 aparece apenas uns links que podes deixar no que copiaste. Isso até valoriza.
Boas,
Criei o servidor FTP através desse tutorial e que correu tudo bem!
Tenho uma duvida, nesse momento estou a utilizar o Ubuntu 12.04 e eu queria por um Site Html para ficar um pouco mais apelativo, agora onde devia por os ficheiros html? Em que pasta ?
atenciosamente.