Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Proftp 1.3.x com autênticação via MySQL

Colaboração: André Jaccon

Data de Publicação: 30 de Março de 2007

Neste tutorial iremos mostrar como instalar o Profptd com autênticação pelo MySQL, desta forma fica mais fácil gerênciar as contas de FTP como usuários e grupos, esta documentação foi criada recéntemente para um projeto desenvolvido no laboratório da Blue Systems Tecnologia.

1. Ambiente utilizado:

  • Sistema Operacional Debian Gnu/Linux 4.0 ( Etch )
  • Kernel 2.6.20
  • Proftpd-1.3.1rc2
  • MySQL Standard-4.1.21-pc-linux-gnu-i686-glibc23

2. MySQL

Logado como super usuário, entre com os seguintes comandos no ambiente shell padrão:

  groupadd mysql
  useradd -g mysql mysql
  cd /usr/local
  gunzip < /path/para/mysql/mysql.tar.gz |tar -xvf -
  ln -s mysql-full-path mysql
  cd mysql
  scripts/mysql_install_db
  chown -R root .
  chown -R mysql data
  chgrp -R mysql .
  bin/mysqld_safe --user=mysql &

Para conferir se o MySQL foi iniciado use

  ps -aef |grep mysql

3. Proftpd

Logado como super usuário, entre com os seguintes comandos no ambiente shell padrão:

  tar -zxvf proftpd-1.3.1rc2.tar.gz

será criado uma pasta como proftpd-1.3.1rc2, para isso entre no diretório

  cd proftpd-1.3.1rc2

depois execute

  ./configure \
     --with-modules=mod_sql:mod_sql_mysql \
     --with-includes=/usr/local/mysql/include/ \
     --with-libraries=/usr/local/mysql/lib/
  
  make
  make install

Por padrão o arquivo de configuração do Proftpd fica localizado em /usr/local/etc/proftpd.conf para ter um acesso mais rápido crie um link simbólico para /etc/ utilizando o comando abaixo:

  ln -s /usr/local/etc/proftpd.conf  /etc/

4. Exemplo de arquivo proftpd.conf

  ServerName                      "SERVER"
  ServerType                      standalone
  DeferWelcome                    off
  ServerIdent on                  "[Not Available]"
  MultilineRFC2228                on
  DefaultServer                   on
  ShowSymlinks                    on
  TimeoutNoTransfer               600
  TimeoutStalled                  600
  TimeoutIdle                     1200
  DisplayLogin                    welcome.msg
  DisplayFirstChdir               .message
  ListOptions                     "-l"
  DenyFilter                      \*.*/
  Port                            21
  MaxInstances                    30
  User                            nobody
  Group                           nogroup
  Umask                           022  022
  DefaultRoot ~
  AllowOverwrite                  on
  RequireValidShell               off
  SQLAuthTypes Plaintext Crypt
  SQLAuthenticate userid
  SQLConnectInfo proftpd@localhost proftpd proftpd
  SQLUserInfo ftpusers login senha uid gid homedir shell

5. Carga nos scripts de SQL para criação de tabelas de usuários e grupos

Logado como root no shell entre com o comando abaixo:

  /usr/local/mysql/bin/mysqladmin create proftpd -u root -p
  /usr/local/mysql/bin/mysqladmin create proftpd -u root -p/mysql -u root -p

carregue os scripts que encontram-se dentros da pasta sql com o comando source:

  CREATE TABLE ftpusers (
     userid VARCHAR(30) NOT NULL UNIQUE,
     passwd VARCHAR(80) NOT NULL,
     uid INTEGER UNIQUE,
     gid INTEGER,
     homedir VARCHAR(255),
     shell VARCHAR(255)
   )

É importante criar um usuário e senha para o banco de dados proftpd, para isso entre com os comando abaixo:

Crie um usuário no banco de dados MySQL com o comando:

depois garanta o acesso ao usuário proftpd com o comando:

  GRANT SELECT , INSERT , UPDATE , DELETE , CREATE ,
        DROP , FILE , INDEX , ALTER , 
        CREATE TEMPORARY TABLES ,
        EXECUTE ON * . * TO 'proftpd'@'locahost'
        IDENTIFIED BY 'senha'

após adicionar o usuário garanta o acesso ao banco de dados proftd ao usuário proftpd com o comando:

  GRANT ALL PRIVILEGES ON `proftpd` . * TO 'proftpd'@'localhost' WITH GRANT OPTION ;

depois

  flush privileges;

6. Reiniciando o serviço:

  killall -HUP proftpd

Pronto, o serviço de FTP com o Proftpd estará no ar e funcionando normalmente.

Veja a relação completa dos artigos de André Jaccon

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.01/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1438 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Guia Manga Universo