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”.
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:
Caso o pacote não esteja instalado, podem usar o comando:
yum install db4-utilsO 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).
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
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
nano –w 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
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
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
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.
|
|
|
Tweet |
Pin It
|
Arquivado na categoria: Linux, Tutoriais
9 Comentários
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.













super
show, agora completo!
Muito bom!
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
Sem duvida…“milhentas” possiblidades.
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.
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!
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