Como configurar um servidor de FTP no CentOS Linux – Parte 2

Na sequência do artigo de ontem “Como configurar um servidor de FTP no CentOS Linux”, um leitor questionou se havia a possibilidade de usarmos outros utilizadores que não os locais. Basicamente a ideia era criar um ficheiro com indicação do utilizador e respectiva password e o serviço de FTP autenticar com base na informação desse ficheiro.

Para configurar este tipo de funcionalidade, o vsftpd permite a criação de “utilizadores virtuais”.

ftp_000

Pessoalmente considero que as distribuições GNU/Linux têm as características perfeitas para implementar serviços de rede. As configurações dos serviços são normalmente realizadas em ficheiros, podemos gerir/controlar facilmente qualquer serviço remotamente usando por exemplo SSH e o backups das configurações é também algo simples de implementar.Hoje vamos ensinar como criar utilizadores virtuais para autenticar no servido de FTP, mais concretamente no vsftpd.

Como criar utilizadores virtuais no vsftpd?

Por omissão, o CentOS já traz o pacotes necessários para que seja possível a autenticação de utilizadores virtuais via pam_userdb. Para verificarem se o servidor se encontra com suporte para este tipo de autenticação, usem o comando:

yum info db4-utils

O output deverá ser algo do género:

ftp_01

Caso o pacote não esteja instalado, podem usar o comando:

yum install db4-utils

O próximo passo é criar os utilizadores virtuais. Para isso vamos criar um ficheiro .txt (para este exemplo vamos criar o ficheiro utilizadores_virtuais.txt) com essa informação dentro do directório /etc/vsftpd e colocamos o utilizador numa linha e a password em outra (na imagem seguinte, podemos ver como criar dois utilizadores).

ftp_02

Vamos agora criar a base de dados de utilizadores com base no ficheiro .txt com a informação dos utilizadores. Para criar a base de dados, devem executar o seguinte comando:

db_load -T -t hash -f /etc/vsftpd/utilizadores_virtuais.txt /etc/vsftpd/utilizadores_virtuais.db

ftp_03

O próximo passo é criar um ficheiro PAM (Pluggable Authentication Modules) para invocarmos a base de dados na autenticação de utilizadores no serviço vsftpd. Para isso vamos criar um ficheiro vsftpd-virtual

nanow etc/pam.d/vsftpd-virtual

e inserir a seguinte informação:

auth required pam_userdb.so db=/etc/vsftpd/utilizadores_virtuais
account required pam_userdb.so db=/etc/vsftpd/utilizadores_virtuais

ftp_06

Depois de realizarmos as configurações anteriores, vamos proceder à configuração do serviço propriamente dito. Para isso abrimos o ficheiro /etc/vsftpd/vsftpd.conf e definimos os seguintes parâmetros:

# Configuração de utilizadores virtuais
 anonymous_enable=NO
 guest_enable=YES
 virtual_use_local_privs=YES
 user_sub_token=$USER
 local_root=/var/ftp/$USER
 chroot_local_user=YES
 pam_service_name=vsftpd-virtual

ftp_07

Como as directorias dos utilizadores virtuais vão ficar em /var/ftp/ indicado no ficheiro de configuração do vsftp), vamos criar as directorias para os utilizadores e definir as respectivas permissões:

[root@localhost ftp]# mkdir pedro.pinto
[root@localhost ftp]# mkdir mpinto
[root@localhost ftp]# chown -R ftp:ftp /var/ftp/

Feitas as configurações basta iniciar ou reiniciar o serviço para começar a ser usado. Para iniciar o serviço basta executar o comando:

service vsftpd start

Caso pretenda reiniciar pode usar o comando:

service vsftpd restart
Como aceder ao FTP remotamente

Depois de instalado e configurado o serviço de  FTP, o acesso pode ser realizado via um simples browser ou através de uma aplicação cliente para FTP (ex. FileZilla, fireFTP). Neste exemplo vamos usar o FileZilla.

Para aceder ao serviço de FTP remoto basta indicar:

  • Anfitrião (IP/nome do servidor FTP
  • Nome do utilizador e respectiva Palavra-Passe

ftp_08

Como podem ver na imagem anterior, o acesso foi realizado com sucesso e a estrutura da do directório do utilizador é apresentada do lado direito.

Esperamos que este tutorial seja útil e brevemente ensinaremos mais algumas configurações úteis.

  
     Pin It  

Arquivado na categoria: Linux, Tutoriais


9 Comentários

  1. show, agora completo!

  2. Boas…
    Parabéns pelo artigo Pedro, de muita utilidade mesmo, so acrescento que também podem usar a consola com ftp ip por exemplo, ou o nautilus do gnome, entre “milhentas” possiblidades.

    cmps

  3. Boas… gostaria desde já de dar os parabéns a toda a equipa do pplware pelo seu trabalho
    Tenho algumas duvidas e gostava de saber se me poderiam ajudar, tenho um servidor parado e estava a pensar em utiliza-lo para fazer um sistema de backups. Mas tou com dúvidas sobre qual o melhor SO para colocar no servidor e um programa para efectuar os backups, isto tudo open source :S
    Se me podessem ajudar agradecia.

  4. Boas,
    Excelente artigo. Já agora gostaria de colocar esta questão: Como é que posso integrar um servidor de FTP deste tipo com uma Active Directory? Isto é: em vez de andar a criar ficheiros para validar utilizadores, usar um LDAP para esse efeito.
    Obrigado. Continuem!

  5. Boas!

    Existem alguns erros neste artigo!
    -Em primeiro, quando cria-mos o ficheiro PAM (“nano –w etc/pam.d/vsftpd-virtual”), o nome atribuido é “vsftpd-virtual”. Assim, é necessário editar o ficheiro “vsftpd.conf”, e alterar o parâmetro “pam_service_name=vsftpd” para “pam_service_name=vsftpd-virtual”.
    - Os utilizadores devem ser criados em “/var/ftp/” e não em “/etc/ftp/”, porque o que está indicado no ficheiro de config é exactamente isso: “local_root=/var/ftp/$USER”.

    -É recomendado que se desligue o login anonimo: “anonymous_enable=NO”.

    Cumprimentos e bom trabalho!

    • Obrigado Pedro,

      De facto estavam omitido o pam_service_name=vsftpd-virtual e explico, inicialmente esta a fazer a configuração no ficheiro etc/pam.d/vsftpd, no entanto, devido às directivas que já la estavam, o serviço não deixava autenticar. Criei um segundo ficheiro vsftpd-virtual mas esqueci-me de referir isso no tutorial.

      Quanto ao anonymous_enable=NO, sim, convém que esteja assim por uma questão de segurança.

      Obrigado pelas correcções.

      PPinto

Deixe o seu comentário

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. O autor deste site reserva-se, desde já, o direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.