Mostrando postagens com marcador VSFTPD. Mostrar todas as postagens
Mostrando postagens com marcador VSFTPD. Mostrar todas as postagens
sexta-feira, 20 de novembro de 2009
Instalando e Configurando um Servidor FTP com o VSFTPD
Seguindo a Série de Artigos para serem utilizados em sala de aula, desta vez apresentaremos o Servidor FTP - File Transfer Protocol.
FTP significa File Transfer Protocol (Protocolo de Transferência de Arquivos), e é uma forma bastante rápida e versátil de transferir arquivos (também conhecidos como ficheiros), sendo uma das mais usadas na internet.
Pode referir-se tanto ao protocolo quanto ao programa que implementa este protocolo (Servidor FTP, neste caso, tradicionalmente aparece em letras minúsculas, por influência do programa de transferência de arquivos do Unix).
A transferência de dados em redes de computadores envolve normalmente transferência de arquivos e acesso a sistemas de arquivos remotos (com a mesma interface usada nos arquivos locais). O FTP (RFC 959) é baseado no TCP, mas é anterior à pilha de protocolos TCP/IP, sendo posteriormente adaptado para o TCP/IP. É o padrão da pilha TCP/IP para transferir arquivos, é um protocolo genérico independente de hardware e do sistema operacional e transfere arquivos por livre arbítrio, tendo em conta restrições de acesso e propriedades dos mesmos.
Fonte: http://pt.wikipedia.org/wiki/File_Transfer_Protocol
Para instalarmos um servidor FTP poderíamos utilzar várias soluções do mundo Linux como o Proftpd. Mas escolhemos para este tutorial o VSFTP - Very Secure FTP que tem em seu site oficial http://freshmeat.net/projects/vsftpd/
Arquivo de configuração:
/etc/vsftpd.conf
Daemon:
/etc/init.d/vsftpd
Porta TCP/IP envolvidas:
20 e 21 tcp/udp
Instalação:
#apt-get install vsftpd
Pronto. Já neste ponto, você já tem um servidor FTP com acesso anônimo liberado. Vamos testar?
Iniciando o servidor:
#/etc/init.d/vsftpd restart
a) Utilizando a linha de comando:
# ftp localhost Connected to localhost.
220 (vsFTPd 2.0.7)
Name (localhost:root): anonymous
Password: qualquersenha
Porém o acesso anônimo é de somente leitura.
Se você desejar disponibilizar algum arquivo pra que usuários anônimos da sua rede ou da Internet baixem a partir deste servidor que você acabou de montar, coloque no seguinte caminho:
/home/ftp
Este é o diretório local no seu HD que os usuários anônimos caem quando logam no seu servidor.
b) Utilizando o browser
Você pode fazer o teste utilizando o Firefox, Konquerror, Opera, Chomium ou IE. Basta na barra de endereços digitar:
ftp://localhost (caso você esteja na mesma máquina que está o servidor)
ftp://10.0.0.1 (supondo que este é o IP do servidor FTP que você está montando).
c) Utilizando um Cliente FTP
Para fazer testes de FTP, não use Browsers. Use clientes de FTP. No Linux eu utilizo dois: Filezilla e o GFTP
Eu prefiro o Filezilla. Caso você use Debian, Ubuntu ou derivados, basta instalar com o comando:
apt-get install filezilla
Um teste de acesso utilizando o Filezilla.
Se você utiliza Windows, você também pode utilizar o Filezilla.
Para fazer um acesso autenticado, ou liberar gravação do usuário anônimo, é necessário alterar algumas linhas do /etc/vsftpd.conf. Vamos conhecer melhor este arquivo.
As opções do /etc/vsftpd.conf
Habilita o protocolo IPv6
listen_ipv6=YES
Libera/Nega acesso Anônimo
anonymous_enable=YES
Permite que usuários do servidor façam o login no servidor FTP
local_enable=YES
Permite que os usuários tenham acesso de gravação no servidor de FTP (Menos o anônimo)
write_enable=YES
Permite que o usuário anonimo faça upload para o servidor de FTP
anon_upload_enable=YES
Obs: Para esta opção funcionar a linha write_enable=YES deve estar ativada.
# Permite que o usuário Anônimo crie diretorios
anon_mkdir_write_enable=YES
Proibindo usuários de Logar no Servidor FTP
Configure as seguintes linhas:
userlist_deny=YES
userlist_file=/etc/vsftpd.denied_users
Crie o arquivo /etc/vsftpd.denied_users e escreva um por linha os usuários que não podem logar no servidor.
Autorizando somente alguns usuários a logarem no servidor:
Configure as seguintes linhas:
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users
Crie o arquivo /etc/vsftpd.allowed_users e escreva um por linha quem pode logar no servidor.
Enjaulando Usuários
Para impedir que os usuários autenticados saiam do seu diretório home e possam navegar pelo HD do servidor, ative a opção abaixo:
chroot_local_user=YES
Obs: Esta técnica é chamada de Enjaular usuários
Para "enjaular" somente alguns usuários:
Configure as seguintes linhas
chroot_local_user=NO
chroot_list_enable=YES
Crie o seguinte arquivo: /etc/vsftpd.chroot_list e escreva o nome dos usuários que você deseja enjaular um por linha
Para "enjaular" todos e deixar alguns livres:
Configure as seguintes linhas:
chroot_local_user=YES
chroot_list_enable=YES
Crie o seguinte arquivo: /etc/vsftpd.chroot_list e escreva o nome dos usuários que você deseja que não seja enjaulado um por linha.
Possibilitando que o usuário Anônimo faça Upload.
Obs: Se você ativar esta opção e for logar com no servidor com o usuário anonymous, você irá receber a seguinte mensagem:
500 OOPS: vsftpd: refusing to run with writable anonymous root
Isto contradiz toda a história de permissionamento do Linux, mas é isto mesmo. Para você permitir que o Anonymous faça login e consiga fazer uploads para o servidor de FTP, é necessário que o diretório /home/ftp não pertença ao usuário ftp e ainda mais, não pode ter permissão de gravação. Você deverá criar um subdiretório dentro do diretório /home/ftp e ai sim, você libera a gravação deste subiretório. Então para evitar este erro faça o seguinte:
Passe o diretório /home/ftp para o root
# chown root:root /home/ftp
Tire as permissões de gravação deste diretório
# chmod 555 /home/ftp
Crie um subdiretório que contenha permissão para gravação
# mkdir /home/ftp/upload
Altere as permissões deste subdiretório
# chmod 777 /home/ftp/upload
Faça o teste: Logue como anonimo utilizando o filezilla e faça uploads de arquivos.
Referências:
http://ubuntuforums.org/showthread.php?t=518293
Marcadores:
Canivete Suíço Administrador Redes,
FTP,
TUTORIAL,
VSFTPD
Assinar:
Postagens (Atom)