Servidor FTP vsftpd com usuário admin

Publicado por Vanderson Jahn em 10/04/2013

[ Hits: 37.558 ]

Blog: http://br.linkedin.com/pub/vanderson-jahn/23/360/23

 


Servidor FTP vsftpd com usuário admin



Como configurar um servidor de FTP para troca de arquivos de um determinado setor (usuário) da empresa, com vários fornecedores ou clientes.

Instalando e configurando o VSFTPD

Instalado em um GNU/Linux CentOS 6.4 com instalação mínima e rede configurada.

Instalando vsftpd:

# yum install vsftpd

Iniciando:

# service vsftpd start

Configurando- Backup do arquivo de configuração inicial:

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bkp

Editando o arquivo:

# vi /etc/vsftpd/vsftpd.conf

Alterando os valores- Desabilitar FTP anônimo:

anonymous_enable=NO


Habilitar acesso aos usuários locais da máquina:

local_enable=YES


Habilitar opção de escrita no servidor FTP:

write_enable=YES


Habilitar umask para permissão de grupo:

local_umask=002


Habilitar o log detalhado:

xferlog_enable=YES


Habilitar porta 20 para dados:

connect_from_port_20=YES


Habilitar formato detalhado de log:

xferlog_std_format=YES


Liberar acesso somente ao home do usuário:

chroot_local_user=YES


Modo de operação standalone:

listen=YES


Salve o arquivo e reinicie o vsftp server:

# service vsftd restart

Configurando o GNU/Linux

Instale o aplicativo ntsysv:

# yum install ntsysv

Execute o aplicativo ntsysv e habilite o vsftpd para iniciar com o boot. Também desabilite o IPtables (considerando que esse servidor vai rodar atrás de um Firewall):

# ntsysv
[ ] ip6tables
[ ] iptables
[*] vsftpd

Desabilite o SELinux:

# vi /etc/selinux/config

Altere o valor da chave:
SELINUX=enforcing
Para:

SELINUX=permissive


Reinicie o servidor:

# reboot

Crie o diretório onde os arquivo do FTP serão colocados:

# mkdir /ftp

Altere a configuração padrão do GNU/Linux para que os novos usuários criados já tenham a permissão de acesso para o grupo:

# vi /etc/login.defs

UMASK 007


# vi /etc/profile

umask 002


# vi /etc/bashrc

umask 002


Crie o usuário que vai gerenciar e ter acesso a todas as pastas:

# useradd -s /sbin/nologin -m -d /ftp/admin admin

Troque a senha do usuário:

# passwd admin

Efetue um teste com o seu cliente de FTP preferido. Eu utilizo o FileZilla.

Agora, vamos criar os usuários que vão enviar e receber arquivos pelo FTP:

# useradd -s /sbin/nologin -m -d /ftp/admin/user1 -g admin user1
# useradd -s /sbin/nologin -m -d /ftp/admin/usernovo -g admin usernovo
# passwd user1
# passwd usernovo


A HOME do usuário novo deve ser criada dentro da HOME do usuário gerenciador. O usuário novo deve fazer parte do grupo do usuário gerenciador.

Dessa forma, o usuário "admin" poderá acessar as pasta dos usuários "user1" e "usernovo", buscar arquivos upados e colocar arquivos para download.

Outras dicas deste autor

Skype no Fedora 18

Leitura recomendada

Construindo uma URA (Unidade de Resposta Audível) no Asterisk 1.4.X

Criando pacotes RPM com o rpmbuild

Dúvidas para compilar um kernel?

Instalando fontes do Windows no Linux de maneira simples

Instalando KDE no Ubuntu 12.04

  

Comentários
[1] Comentário enviado por rhind em 14/06/2013 - 12:21h

Fala Jahn, blz?

Cara, o meu esta configurado numa boa. Acesso ele por sftp com o ip de internet acesso local só não consigo acessar pelo browser.
Esse é o retorno.

220 (vsFTPd 2.2.2)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
421 Timeout.

Tem alguma ideia do que pode ser?

[2] Comentário enviado por vandersonj em 14/06/2013 - 18:30h

Oi rhind, tudo certinho? Você fez um teste utilizando um cliente de FTP como o Filezilla ou o leechftp ou ate mesmo por terminal, você consegue acessar? Isso seria o ideal para saber primeiro se o servidor esta funcionando corretamente.

[3] Comentário enviado por rhind em 27/06/2013 - 15:33h

Boa tarde!

Cara, desculpa a demora, mas estou de volta..

Não testei com o filezila, porem consigo fazer o acesso na rede local pelo terminal e externamente por sftp IPExteno 2121 com o meu user do SO.
Alguma idéia?

Vou fazer o teste com o filezila pra ver se me dá uma luz.

[4] Comentário enviado por vandersonj em 27/06/2013 - 16:05h

Boa tarde Garoto! Os serviços são diferentes e fica difícil pra usar como base de comparação, o sftp que funciona no protocolo ssh e com uma dinâmica diferente do ftp.

[5] Comentário enviado por rhind em 27/06/2013 - 17:20h

Sim é verdade! Ele trabalha na pota 22 como o sshd.

Fiz o teste com o filezilla, segue o erro.

Estado: Conectando 189.110.125.77:2121...
Estado: Tentativa de conexão falhou com "ECONNREFUSED - Connection refused by server".
Erro: Não foi possível conectar ao servidor
Estado: Aguardando para tentar novamente...
Estado: Conectando 189.110.125.77:2121...
Estado: Tentativa de conexão falhou com "ECONNREFUSED - Connection refused by server".
Erro: Não foi possível conectar ao servidor

Outra coisa, dentro da minha rede consigo visualizar os arquivos pelo browser normalmente.
Remotamente já dá o erro que falei no primeiro post.

[6] Comentário enviado por vandersonj em 28/06/2013 - 09:01h

Cara será que pode ser ago relativo a firewall então já que dentro da rede funciona normalmente? Você esta fazendo NAT ou esse servidor esta diretamente na rede externa? As portas padrões para o FTP são a 21 e a 20, mas como vai utilizar via Browser talvez tenha que liberar o 80 e a 443.

[7] Comentário enviado por rhind em 28/06/2013 - 11:49h

Não. Firewall e selinux estão desativados já pra tirar essa duvida.

Ele está conectado direto na internet. Modem como bridge e roteador fazendo a autenticação.

Mudei a porta do FTP para 2121 e redirecionei no router a porta para o IP do servidor.

Vou tentar a 443 e 80 e se der certo eu falo.

Vlww!

[8] Comentário enviado por vandersonj em 02/07/2013 - 13:09h

Cara com certeza é um detalhe na configuração do router ou do modem com a rede externa, sem conhecer a estrutura fica mais difícil ajudar, o se entendi o router então tem o endereço de IP da Internet? Se sim você tem que fazer um NAT e direcionar as portas para o IP do servidor FTP na rede interna, acho que pode ser isso.

[9] Comentário enviado por rhind em 03/07/2013 - 14:57h

É o modem como bright, router autenticando e tudo que bate no ip externo na porta que eu indico vai direto pra esse servidor local. Fiz o redirecionamento.

Vou tentar o NAT. Se funcionar eu te falo.

Vlw!

[10] Comentário enviado por vandersonj em 03/07/2013 - 16:12h

Blz... fico no aguardo.

[11] Comentário enviado por rhind em 04/07/2013 - 10:13h

Cara, fiquei com raiva de mim mesmo quando descobri oque era. uheuheuhe...

Ao fazer o acesso pela url eu deveria passar o usuário e senha que esteja cadastrado no sistema, assim: URL:ftp://usuario:senha@ipexterno:2121.

Pronto funfou! kkk..

Portanto agora sabemos que o erro abaixo é referente ao usuário e senha que devem ser passado na url.

220 (vsFTPd 2.2.2)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
530 Please login with USER and PASS.

Obrigado! Paz!

[12] Comentário enviado por vandersonj em 08/07/2013 - 10:09h

Oi Lenilson, fico feliz que deu certo, como você me passou que funcionava na rede interna também nem me liguei em usuário e senha. Legal que funcionou e que o server esta rodando como você queria, Valeu.....

[13] Comentário enviado por rhind em 10/07/2013 - 13:24h

Eu que agradeço! Obrigado!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts