Instalando FTP Server no Debian 9
Vai aqui um passo a passo bem mastigado para um servidor FTP simples no Debian 9 (Acredito que servirá para outras versões).
Aproveito para dizer que o servidor não tem SSL por se tratar de uma configuração simples.
Objetivo:
Debian 9 (Instalação Limpa), para dar acesso aos arquivos em diretórios de uma pequena página na rede local (pode também ser um CloudServer rodando um servidor Web Completo).
Dificuldade: Média
Convenções:
– Comandos iniciados com # requer privilégios de root. Se necessário use o sudo.
– Comandos iniciados com $ são executados com usuários, sem privilégios.
1 – Atualizando o sistema via APT:
Vamos atualizar o sistema via apt antes de qualquer coisa:
# apt-get update && apt-get upgrade
2 – Instalando o vsFTPd via APT:
Agora sim, vamos instalar o vsFTPd server no Debian 9.
# apt-get install vsftpd
Concluído, o vsFTPd está instalado, agora vamos as configurações.
3 – Configurando o vsFTPd:
[alert-note]O arquivo de configuração do vsFTPd está localizado por padrão em: /etc/vsftpd.conf [/alert-note]
O arquivo de configuração de exemplo já irá servir para a configuração do servidor, bastando fazer algumas poucas alterações/inclusões no mesmo. Vamos lá!
Abra o arquivo com o editor que te agradar, eu uso o nano
# nano /etc/vsftpd.conf
Abaixo consta o arquivo de configuração já com as alterações destacadas em negrito:
listen=YES listen_ipv6=NO anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO check_shell=NO pam_service_name=ftp
[alert-note]A configuração acima, permite que o usuário grave informações, porém não permite login de usuários anônimos. Lembrando que o vsFTPd, vai permitir o login de qualquer usuário que esteja listado no arquivo /etc/passwd[/alert-note]
Então já que a configuração está OK, vamos subir o servidor FTP com o comando:
# systemctl restart vsftpd
4 – Cadastrando Usuários no Linux:
Os usuários, podem ser cadastrados no linux de duas formas, e estas são:
1 – Com acesso shell
2 – Sem acesso shell
Vamos pela forma simples? Cadastrando com acesso ao shell, assim o seu usuário pode também acessar via SSH o servidor (esta é minha necessidade no momento).
No meu caso, eu também precisei mudar o diretório HOME do usuário, para isso acrescentei o parâmetro -d após o comando useradd, veja:
# useradd usuario -d /var/www/html
E criei a senha para o usuário com o comando:
#passwd usuario
Feito isso, apenas testei o acesso via FTP ao servidor.
Caso deseje fazer isso direto no terminal, instale o ftp no Debian com o comando:
# apt-get install ftp
Com o ftp instalado, execute o comando:
$ ftp localhost
ou
$ ftp ip_local
É isso pessoal, se tiver dificuldade em qualquer coisa, deixe suas dúvidas nos comentários que tentarei responder o mais breve possível.
Olá!
Parabéns pelo tutorial…
Uma dúvida… como faço para que, ao invés do FTP abrir no diretório do usuário, abrir no diretório do site (ex: /var/www/html/site)?
Amigo,
Basta você criar o usuário apontando a home dele para o diretório desejado:
Veja:
# useradd usuario -d /var/www/html
Parabéns! Tutorial deu 100% certo. Funcionando perfeitamente no meu Linux Debian 9.
Obrigado Diego!
Se pudermos contribuir em algo, estaremos sempre abertos a sugestões!
Segui o tutorial ao pé da letra, porém também não consigo logar com o usuario criado.
Erro : 530 Login Incorrect.
Porém o usuário e senha estão corretos.
Instalação Limpa.
Bom dia Admilson,
Voce chegou a copiar o vsftpd.conf para sua instalação?
Geralmente quando isso ocorre é uma configuração no vsftpd.conf na ultima linha
pam_service_name que não é declarada.
Verifique por favor esta questão.
Que tutorial mais confuso
Olá Daniel!
Pode por favor nos apontar onde e como ele ficou confuso?
Com sua opinião, podemos melhorar a forma com que apresentamos o tutorial.
Ótimo tutorial. Como eu libero uma pasta na web para ser acessada de qualquer internet?
Boa noite,
O servidor já possui o serviço web ativo?
Ele está atrás de um NAT ou é um servidor com IP público?
nao consegui logar com o novo usuario
Boa tarde Edmar,
Poderia nos informar qual é a mensagem de erro que voce recebe?
Voce deu permissão para esse usuário Edmar?
Seguiu o tutorial? Sua instalação é limpa?
Se possível poste mais informações, que o ajudarei no que for possível!
Pingback: Debian9 – Apache2 + PHP5.6 + MySQL + FTP – Aires Ruy | Artigos, Dicas e Video Aulas