Bom espero que ajudem a todos
Durante a instalação do pacote do Proftpd geralmente serão feitas algumas perguntas. A primeira é se você deseja deixar o servidor FTP ativo em modo standalone ou em modo inetd. O standalone é mais seguro e mais rápido, enquanto o inetd faz com que ele fique ativo apenas quando acessado, economizando cerca de 400 KB de memória RAM (que fazem pouca diferença hoje em dia). Recomendo o modo standalone.
Você terá também a opção de ativar o acesso anônimo, que permite acessos anônimos (somente leitura) na pasta /home/ftp, onde você pode disponibilizar alguns arquivos para acesso público. Neste caso os usuários se logan no seu servidor usando a conta “anonymous” e um endereço de mail como senha. Caso prefira desativar o acesso anônimo, apenas usuários com login válido na máquina poderão acessar o FTP.
No caso do Kurumin, outra opção dada pelo ícone mágico durante a instalação é a de restringir o acesso dos usuários (com excessão dos anônimos que já são restritos) a seus diretórios home. Assim o kurumin ficará preso na pasta /home/kurumin por exemplo, sem ter como ver nem alterar outros arquivos do sistema. Esta opção é bastante útil para melhorar a segurança do servidor.
Você poderá também ativar a limitação de banda, que permite limitar o upload de cada usuário a 10 KB/s por exemplo, para que o FTP não sature o link do servidor.
Depois de concluída a instalação o servidor fica ativo por default e é inicializado automaticamente durante o boot. Para parar isso basta usar a opção “Parar: Parar o servidor Proftpd”. Isso desabilita também a inicialização automática durante o boot, removendo o link /etc/rc5.d/S50proftpd.
Você pode acessar outras máquinas da rede com servidores FTP ativos usando o Gftp incluído no Kurumin. O FTP é uma boa opção para transferência de arquivos na rede local, é mais prático e fácil do que ficar compartilhando arquivos através do Samba. Uma das vantagens do FTP é que existem clientes para todas as plataformas, você pode baixar um servidor e cliente de FTP for Windows no:
http://sourceforge.net/project/showfiles.php?group_id=21558&release_id=126385
A configuração manual do servidor FTP é feita através do arquivo /etc/proftpd.conf. Este arquivo pode ser usado em qualquer distribuição, afinal independentemente de estar usando o Debian, Fedora ou o Mandrake, o proftpd será sempre o mesmo. Você pode inclusive transportar um arquivo gerado no Kurumin para outra distribuição se for o caso.
Sempre que fizer alterações no arquivo, reinicie o servidor para que elas entrem em vigor. Para isso use o comando:
# service proftpd restartUma das primeiras opções do arquivo é a opção Port, que permite alterar a porta usada pelo FTP. O padrão é usar a porta 21, mas muitos serviços de banda larga bloqueiam a porta 21 e a 80 para que os usuários não rodem servidores. Neste caso, você pode mudar para a porta 2121 por exemplo:
ou:
# /etc/init.d/proftpd restart
(no caso do Debian)
# Port 21 is the standard FTP port.Ao mudar a porta padrão do servidor, os usuários precisarão indicar manualmente a porta no cliente de ftp ou navegador, como em: ftp://200.234.213.23:2100
Port 2121
Em seguida vem a opção MaxInstances, que limita o número de conexões simultâneas ao servidor FTP. Esta opção trabalha em conjunto com a limitação de banda (veja a seguir), você pode limitar os downloads de cada usuário a um máximo de 10 KB/s e limitar o servidor a 3 usuários simultâneos, assim o FTP consumirá um máximo de 30 KB/s do link do servidor.
MaxInstances 30Se você quiser limitar o acesso dos usuários à seus diretórios home, adicione a linha “DefaultRoot ~” no final do arquivo. Lembre-se que no Linux o “~” é um coringa, que é automaticamente substituído pela pasta home do usuário que está logado. Esta linha é adicionada pelo ícone mágico:
# Restringe os usuários a seus diretórios homePara ativar a limitação de banda, adicione a linha “TransferRate RETR 8:10″, onde o “8″ pode ser substituído pela taxa desejada, em KB/s. Esta linha também é adicionada pelo ícone mágico ao ativar a opção:
DefaultRoot ~
# Limita a taxa de upload do servidor FTPA princípio apenas os usuários que tiverem logins válidos no servidor poderão acessar o FTP. Caso você queira abrir um FTP público, adicione estas linhas no arquivo de configuração. Elas ficam comentadas no arquivo original:
TransferRate RETR 8:10
A linha “MaxClients” determina o número máximo de anônimos que poderão se logar no servidor. Esta opção é separada da Maxclients principal, que limita o número de usuários com login válido. Você pode permitir 30 usuários válidos e mais 20 anônimos por exemplo.
User ftp
Group nogroup
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
MaxClients 20
DisplayLogin welcome.msg
DisplayFirstChdir .message
DenyAll
Umask 022 022
DenyAll
AllowAll
A opção “DisplayLogin welcome.msg” indica o a mensagem de boas vindas que é mostrada quando os usuários logam no FTP. Por padrão é o arquivo /home/ftp/welcome.msg.
Os usuários anônimos têm acesso apenas aos arquivos dentro da pasta /home/ftp. Este é o diretório raiz para eles, eles não tem como ver muito menos alterar outros arquivos do sistema.
A seção “Directory incoming” mais abaixo cria uma pasta de upload (por padrão a /home/ftp/incoming) onde os anônimos poderão dar upload de arquivos. A idéia é que você veja periodicamente o conteúdo da pasta e mova o que for útil para a pasta /home/ftp para que o arquivo fique disponível para download.
Por padrão os anônimos não podem ver o conteúdo da pasta incoming, podem apenas dar upload. Se necessário, crie a pasta incoming com os comandos:
# mkdir /home/ftp/incoming
# chown nobody.nogroup /home/ftp/incoming
Para acessar o seu servidor, os clientes devem usar o login “anonymous” ou “ftp”, usando um endereço de e-mail qualquer como senha.
Uma medida comum ao ativar o upload dos usuários anônimos é usar uma partição separada para o FTP, para evitar que algum engraçadinho fique dando upload durante a madrugada até lotar o HD do servidor. Neste caso você precisa apenas adicionar uma linha no arquivo /etc/fstab, para que a partição desejada seja montada durante o boot.
Esta linha de exemplo montaria a partição /dev/hda3, formatada em reiserfs na pasta /home/ftp:
/dev/hda3 /home/ftp reiserfs defaults 0 0
Criando usuários
Imagine por exemplo que você resolveu criar repositório para os arquivos de vários projetos. O mantenedor do projeto1 pode dar upload para a pasta /home/ftp/projeto1 (por exemplo), mas não deve ter acesso a outras pastas nem a outros arquivos do sistema. Os usuários anônimos terão acesso às pastas de todos os projetos, mas naturalmente apenas para leitura.
A forma mais simples de fazer isso é criar os usuários que terão acesso ao FTP, colocando a pasta a que terão acesso como seu diretório home e bloqueando o uso do shell, para que eles não possam acessar o servidor remotamente através de outros meios, via ssh por exemplo.
Vamos começar adicionando no arquivo a opção que prende os usuários nos seus diretórios home:
DefaultRoot ~Você vai precisar adicionar também a seção para liberar o acesso anônimo ao ftp, que vimos acima. Como queremos apenas que os mantenedores dos projetos possam dar upload de arquivos, remova a seção “”.
A seção vai ficar:
O diretório padrão do FTP, onde os visitantes terão acesso aos arquivos é a /home/ftp. Em outras distribuições pode ser a pasta /var/ftp, dê uma olhada em como o arquivo vem configurado por padrão.
User ftp
Group nogroup
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
MaxClients 20
DisplayLogin welcome.msg
DisplayFirstChdir .message
DenyAll
Vamos começar criando subpastas para cada projeto:
# mkdir /home/ftp/projeto1
# mkdir /home/ftp/projeto2
# mkdir /home/ftp/projeto3
etc…O próximo passo é ir adicionando os usuários no sistema, tendo o cuidado de fazer as alterações no diretório home e no shell padrão, para que eles tenham acesso via FTP e apenas à pasta desejada.
Para adicionar os usuários, use o comando “adduser”, como se estivesse criando uma conta normal:
# adduser projeto1
Acrescentando usuário projeto1…Veja que por padrão ele cria a pasta /home/projeto1, que fica sendo o diretório home do usuário criado. Mas, neste caso queremos que o home seja a pasta /home/ftp/projeto1 onde ele irá dar upload dos arquivos.
Acrescentando novo grupo projeto1 (1005).
Acrescentando novo usuário projeto1 (1005) com grupo projeto1.
Criando diretório pessoal /home/projeto1.
Copiando arquivos de /etc/skel
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Para alterar isso, vamos no arquivo /etc/passwd onde ficam guardadas as informações dos usuários:
# kedit /etc/passwd
Na última linha do arquivo você verá:
projeto1:x:1005:1005:,,,:/home/projeto1:/bin/bashVamos alterar o “/home/projeto1″ para “/home/ftp/projeto1″ para trocar o home e o “/bin/bash” para “/bin/false” para travar o usuário e impedir que ele fique fazendo o que não deve no servidor. Se você preferir que além do acesso via ftp, os usuários tenham acesso via ssh, então mantenha o “/bin/bash”.
Depois das alterações, a linha ficará:
projeto1:x:1005:1005:,,,:/home/ftp/projeto1:/bin/falseVocê pode aproveitar para remover a pasta /home/projeto1, já que não precisaremos mais dela:
# rm -rf /home/projeto1/
Na verdade, este processo serve para que você entenda melhor o processo de criação deste usuários “falsos” no Linux. Estas alterações podem ser especificadas ao criar o usuário. Não é preciso sair editando todos estes arquivos manualmente.
O comando para criar o usuário “projeto1″ usando a pasta /home/ftp/projeto1 como home e o /bin/false como shell, seria:
# adduser –home /home/ftp/projeto1 –shell /bin/false –no-create-home projeto1
Não se esqueça de acertar as permissões da pasta /home/ftp/projeto1:
# chown -R projeto1 /home/ftp/projeto1/
Agora falta só reiniciar o servidor FTP para que as configurações entrem em vigor:
# service proftpd restart
Em distribuições derivadas do Debian você vai precisar adicionar a linha “/bin/false” no final do arquivo /etc/shells para que ele possa ser usado:
# echo “/bin/false” >> /etc/shells
Feito isso, você já conseguirá logar-se no servidor usando o login criado. O usuário não enxerga nada fora da pasta “/home/ftp/projeto1″ e todos os arquivos que der upload vão para lá:

Esta configuração é muito usada em servidores Web, que hospedam vários sites num sistema de hosting compartilhado. O mais comum nestes casos é que cada site tenha uma conta no sistema e uma pasta onde vão os arquivos do site, como por exemplo /var/www/site1/. Esta pasta fica acessível via FTP para o dono possa atualizar o site.
Nenhum comentário:
Postar um comentário