Mini-Howto Compilando o Pure ftpd com suporte ao OpenLDAP



Documentos relacionados
Serviço de Diretórios com OpenLDAP. Marcos Sungaila

COORDENAÇÃO DE TECNOLOGIA (COTEC) MAIO/2010

Configure seu Linux pela Web! Instalação à partir de um.tar.gz. Autor: Carlos Eduardo Ribeiro de Melo <eduardo at unisulma.edu.br> Data: 05/10/2004

Administração de redes Servidor FTP

Linux Networks Servers

Guia de instalação para ambiente de Desenvolvimento LINUX

SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE 27/02/2012

SiGE - Sistema de Gerência de Eventos

Protocolo FTP. Professor Leonardo Larback

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

Configuração de um servidor FTP. Campus Cachoeiro Curso Técnico em Informática

Instalação do serviço de FTP com o Proftpd

Instalando e Executando o Siprev em Ambiente Linux Versão SIPREV

Guia de Instalação e Configuração do Noosfero

Virtual Hosting com PureFTPd e MySQL

Acesso Re sso R moto

ATENÇÃO: Este manual foi feito para usuários que tenham conhecimentos de administrador Linux.

INTRODUÇÃO: 1 - Conectando na sua conta

Instalação e configuração Linux CentOS 6.x

BSDDAY - 13 de Agosto SP/Brazil

Serviços de Redes. Servidor de FTP (Vsftp) Professor: Alexssandro Cardoso Antunes

INSTALAÇÃO E CONFIGURAÇÃO DO ZABBIX PROXY EM AMBIENTE DEBIAN

Necessidades de Gerenciamento: Software de Gerenciamento:

Trabalho de Sistema de Informações. Instalação e configuração aplicativo Ocomon

Entendendo o OpenLDAP. Por GABRIEL STEIN

Linux System Administration 455

Manual Instalação e-cidade-transparência no Ubuntu Server

Configurando um Servidor de Arquivos SAMBA. Prof. Armando Martins de Souza

COORDENAÇÃO DE TECNOLOGIA (COTEC) JUNHO/2010

#apt-get install make flex gcc gpp apache2 php5 php5-pgsql postgresql-8.4 libapache2-mod-php5 php5-gd php-net-socket postgres

Autor: Hernandes Martins. Março de Zabbix 2.4 CentOS 7 Tutorial Instalação

Tutorial Instalação e configuração do Wordpress

Hotspot com Ubuntu Server Bits

Tópicos Especiais em Informática

LABORATÓRIO 0 Revisão GNU/Linux

Instalação rápida do Expresso

Após salvar, execute o comando testparm e ele deverá exibir a mensagem Server role: ROLE_DOMAIN_PDC".

Linux Network Servers

Sistema Operacional Unidade 13 Servidor Samba. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Procedimentos para Instalação do Sisloc

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

INSTALANDO SQL SERVER 2008

TUTORIAL - SERVIDOR DE MAPAS

Gerenciamento de Processos

Origin manual. 1.1 Cadastrando usuário : Get manager License ID. Quem deve se cadastrar: Como se cadastrar. origin manual. 1 de 14

Gerenciamento de Processos

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

MÓDULO MAGENTO. MANUAL DE INSTALAÇÃO v1.5

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

MANUAL DE FTP. Instalando, Configurando e Utilizando FTP

MSN-Proxy v0.7 no Debian 5 (Atualizado)

Marlos de Moraes Tavares. Tutorial Rsync

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

Procedimentos para Reinstalação do Sisloc

Instalação e Configuração

Documento de Instalação e Configuração do InfoGrid

Brincando de Backup com rsync.

Algumas das características listada nela:

Manual comandos Básicos para instalar e desinstalar Firebird em Sistema operacional Linux

Administração de Sistemas de Armazenamento Linux. Rodrigo Caetano Filgueira

MRTG Multi Router Traffic Grapher

Aula 4 Comandos Básicos Linux. Prof.: Roberto Franciscatto

Manual de Instalação PIMSConnector em Linux

Guia de usuário do portal de acesso SSH

Procedimentos Operacionais Ambiente Microsoft Windows 2000 Server Máquina Smart02 ADM

Sistemas Operacionais Livres. Servidor de FTP - Vsftpd

Instalação Cliente Notes 6.5

Lazarus pelo SVN Linux/Windows

FAM - Monitorar alteração de arquivos

5 Remova os diretórios e subdiretórios listados acima e também os listados abaixo:

Manual de Instalação e Configuração do SQL Express

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Servidor de FTP (Protocolo de Transferência de Ficheiros)

Protocolos Telnet e SSH. Professor Leonardo Larback

Roteiro 3: Sistemas Linux arquivos e diretórios

ÍNDICE 1.CONHECENDO OS APLICATIVOS NECESSÁRIOS PARA O FUNCIONAMENTO DO SISTEMA URANO INTEGRA...

Prática NAT/Proxy. Edgard Jamhour. Esses exercícios devem ser executados através do servidor de máquinas virtuais: espec.ppgia.pucpr.

Debian 7 (versão ) 64 bits

Treinamento PostgreSQL - Aula 05

Instalação de um Cliente Linux em um domínio de rede Microsoft Windows NT4

TESTANDO A INTEGRIDADE DAS ISOs E LIVE-USB:

Instalando servidor Apache com MySQL e as linguagens ColdFusion e PHP. XAMPP (xampp-win installer.exe), veja aqui.

MANUAL DE INSTALAÇÃO JBOSS-JOSSO

Comandos Básicos do Linux/Unix

Utilizaremos a última versão estável do Joomla (Versão 2.5.4), lançada em

Conteúdo 1 Comandos Básicos. Questão 1: Que comando permite encerrar o sistema definitivamente?

Guia para Instalação e Atualização Automáticas do VirusScan em Windows3.1x, Windows95 e WindowsNT

Application Notes: DmSwitch AAA. Uso do TACACS

PRÁTICA DE DNS - LINUX DIFERENÇAS NO ROTEIRO EM RELAÇÃO A IMAGEM DO DVD 1.A) INSTALAÇÃO DO SERVIDOR DNS INICIALIZAÇÃO DO AMBIENTE DO DVD

INSTALANDO E CONFIGURANDO NAGIOS NO LINUX DEBIAN 6.0

Instalação Apache + MySQL + PHPMyAdmin CentOS

Introdução ao Sistema. Características

SSE 3.0 Guia Rápido Parametrizando o SISTEMA DE SECRETARIA Nesta Edição Configurando a Conexão com o Banco de Dados

1 Instalando o VirtualBox no Windows

Youtube Sign Up Sign Up Upload

Transcrição:

Mini-Howto Compilando o Pure ftpd com suporte ao OpenLDAP Autor: André Alexandre Gaio aagaio (at) linwork.com.br O que é o pure-ftpd??? Pure-FTPd é um servidor de ftp rápido, estável, concordante com o padrão de servidores ftp e muito seguro, é baseado no Troll-FTPd. Este servidor foi desenhado para ser seguro e não existem históricos de vulnerabilidades, ele é fácil de configurar e é especialmente desenhado para kernel's modernos. Foi portado com sucesso para Linux, FreeBSD,NetBSD, OpenBSD, ISOS, EkkoBSD, MirBSD, BSDi, Solaris, Darwin, Tru64, Irix, AIX and HPUX. Suas características são chroot() e/ou virtual chroot() home directories,virtual domains, built-in 'ls', anti-warez system, configurable ports for passive downloads, FXP protocol, bandwidth throttling, ratios,ldap / MySQL / PostgreSQL-based authentication, fortune files, Apache-like log files, fast standalone mode, text / HTML / XML real-time status report, virtual users, virtual quotas, privilege separation, SSL/TLS e ainda mais. Quem usa??? Algumas empresas são: (A lista completa pode ser vista em http://www.pureftpd.org/users.shtml) SUSE, Silicon Graphics, LinkSys, the Spanish National Research Network, etc Compilação e instalação: 1-) Baixe o pacote em: # wget ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pureftpd-1.0.20.tar.bz2 2-) Descompacte-o em algum lugar. P. Ex: /var/tmp # cd /var/tmp; tar -xvjf pure-ftpd-1.0.20.tar.bz2 # cd pure-ftpd-1.0.20

3-) Crie o Makefile s e os demais arquivos para a compilação com: #./configure --with-ldap --with-cookie --with-throttling \ --with-ratios --with-altlog --with-ftpwho -with-boring \ - with-language=brazilian-portuguese --with-quotas \ --with-virtualhosts --with-welcomemsg Isto habilitará suporte à consequentemente: ao ldap; fortunes; controle de banda; rate de (up down)loads; suporte a logs alternativos (o padrão é o syslog); suporte ao pure-ftpwho (lista de usuários que não podem usar o ftp); suporte à pt_br; suporte a.ftpquota (controle de quotas pelo próprio daemon) suporte a vários servidores virtuais com um único ip; suporte a arquivos welcome.msg com mensagens. suporte a mensagens profissionais (???). *** Para maiores informações digite:./configure --help 4-) Compile com: # make 5-) Instale: # make install OBS: Recomendo o uso do checkinstall. --> http://freshmeat.net/projects/checkinstall/ 6-) O pure-ftpd não necessita de arquivo de configuração, porém quando usamos informações de autenticação em algum banco de dados, ldap, etc, é interessante a criação do mesmo no objetivo de esconder informações sensíveis dos usuários locais que poderiam vê-las com um ps -axfwww por exemplo. Crie um diretório no /etc com o nome de pureftpd e copie o arquivo de configuração de exemplo do diretório /var/tmp/pureftpd-1.0.20/configuration-files para o /etc, e o arquivo que contém as configurações do ldap que está em /var/tmp/pure-ftpd- 1.0.20/pureftpd-ldap.conf. # mkdir /etc/pureftpd # cp /var/tmp/pure-ftpd-1.0.20/configuration-files/pureftpd.conf /etc/pureftpd # cp /var/tmp/pure-ftpd-1.0.20/pureftpd-ldap.conf / etc/pureftpd

7-) Edite o arquivo de configuração de acordo com as suas necessidades (o arquivo é bem comentado e auto-explicativo). Não se esqueça do principal, para fazer com que ele reconheça as configurações do ldap descomente a linha que contém a diretiva "LDAPConfigFile" e referencie o arquivo /etc/pureftpd/pureftpdldap.conf. -> LDAPConfigFile /etc/pureftpd/pureftpd-ldap.conf 8-) Copie o arquivo /var/tmp/pure-ftpd-1.0.20/configurationfiles/pure-config.pl para /usr/local/bin, e ajuste as permissões. # cp /var/tmp/pure-ftpd-1.0.20/configuration-files/pureconfig.pl /usr/local/bin # chmod 700 /usr/local/bin/pure-config.pl 9-) Crie um arquivo rc.pureftpd em /etc/rc.d com o seguinte conteúdo: ----------------------- < rc.pureftpd > ---------------------- #!/bin/bash function start { BIN_DIR=/usr/local/bin CONF_FILE=/etc/pureftpd/pure-ftpd.conf [! -e "$CONF_FILE" ] && echo "Arquivo de configuração não encontrado." && exit if ps -axf grep -v grep grep pure-ftpd > /dev/null 2>&1 ; then echo "O Serviço já está em execução." ; exit fi perl $BIN_DIR/pure-config.pl $CONF_FILE > /dev/null 2>&1 if ps -axf grep -v grep grep pure-ftpd > /dev/null 2>&1; then echo "Servidor Pure-ftpd iniciado com sucesso." else echo "Falha na inicialiazação." ; exit fi } function stop { killall pure-ftpd } case $1 in "") start;; start) start;; stop) stop;; restart) stop; start;; *) echo "Opções possíveis: $(basename $0) {stop start

restart}" && exit;; esac ---------------------- </ rc.pureftpd > ---------------------- 10-) Coloque a permissão de 700 no arquivo: # chmod 700 /etc/rc.d/rc.pureftpd 11-) Edite o arquivo /etc/pureftpd/pureftpd-ldap.conf: --------------------< pureftpd-ldap.conf >----------------- LDAPServer ldap.seudominio.com.br <-- Seu servidor ldap LDAPPort 389 <-- Porta de seu servidor ldap LDAPBaseDN ou=users,ou=ti,o=enterprise,c=br <-- O contexto se seus usuários na árvore de diretórios LDAPBindDN cn=manager,c=br <-- O usuário para a conexão ao LDAP LDAPBindPW senha <-- Senha do user definido em LDAPBindDN LDAPDefaultUID 500 <-- UID default quando o usuário no ldap não possuir este campo definido. LDAPDefaultGID 100 <-- GID default quando o usuário no ldap nao possuir este campo definido. ---------------------< /pureftpd-ldap.conf >------------------ 12-) Copie o schema do pureftpd para o diretório de schemas do OpenLDAP. # cp /var/tmp/pure-ftpd-1.0.20/pureftpd.schema / usr/local/etc/openldap/schema 13-) Inclua o schema do pureftpd no final dos "includes" no arquivo slapd.conf. include /usr/local/etc/openldap/schema/pureftpd.schema 14-) E agora o macete da história. A fim de não termos a desagradável mensagem de "object class violation" quando importarmos os usuários com as propriedades do pureftpd, modifique o arquivo /usr/local/etc/openldap/schema/pureftpd.schema: Onde está: ---> objectclass ( 1.3.6.1.4.1.6981.11.2.3 NAME 'PureFTPdUser' Coloque: ---> objectclass ( 1.3.6.1.4.1.6981.11.2.3 NAME 'PureFTPdUser' SUP top AUXILIARY 15-) Reinicie o slapd.

16-) O arquivo LDIF com os atributos para os usuários do pureftpd são: ----------------------- <arquivo ldif> ------------------- dn: uid=user,ou=users,ou=ti,o=enterprise,c=br objectclass: PureFTPdUser objectclass: posixaccount cn: User da Silva uid: usilva uidnumber: 888 gidnumber: 888 homedirectory: /home/usilva userpassword: {SSHA}1w58NLo5z... FTPStatus: enabled FTPQuotaFiles: 50 FTPQuotaMBytes: 10 FTPDownloadBandwidth: 50 FTPUploadBandwidth: 50 FTPDownloadRatio: 5 FTPUploadRatio: 1 ---------------------- </arquivo ldif> --------------------- Onde: FTPStatus: enabled <-- enable/disable o acesso ao ftp FTPQuotaFiles: 50 <-- A quota em número de arquivos do objeto (usuário) FTPQuotaMBytes: 10 <-- A quota em MB do objeto (usuário) FTPDownloadBandwidth: 50 <-- A largura de banda máxima para download FTPUploadBandwidth: 50 FTPDownloadRatio: 5 <-- A largura de banda máxima para upload <-- Se você deseja forçar as pessoas a fazer upload de novos arquivos antes de poderem baixar outros arquivos, ratios são para você. Não se sabe que tipo de negócio (Warez?) você tem, mas Pure- FTPd é projetado para favorecer a todos. ;-) FTPUploadRatio: 1 <-- Esta linha e a de cima juntas querem dizer, para você baixar 5 arquivo, você deve subir pelo menos 1. 17-) Importe o arquivo ldif para a sua base ldap: # ldapadd -x -v -D 'cn=manager,c=br' -W -f <arquivo ldif> 18-) Dicas: 18.1-) Os objetos devem ser do tipo "posixaccount", embora seja possível outros tipos de objetos, leia a documentação para maiores detalhes.

18.2-) Não se esqueça que a propriedade "loginshell" deve existir para o objeto e deve apontar para um shell válido (/etc/shells): loginshell: /bin/bash Se isto não for observado você pode digitar um par nome/senha válidos no login e receber a mensagem: "Sorry, I can't trust you". 18.3-) Para melhorar a performance de pesquisa ao ldap acrescente esta linha no final de seu arquivo slapd.conf e dê um restart no slapd: --> index uid pres,eq,sub 19-) Inicie o pure-ftpd e faça os testes. 20-) Be happy! :-) Observação: Este artigo pode ser reproduzido à vontade desde que seja preservado o nome do autor. Qualquer dúvida, por favor leia a documentação do programa. Sugestões? Por favor email-me: Autor: André Alexandre Gaio Linwork Informática aagaio (at) linwork.com.br "...Porquê Deus amou o mundo de "tal" maneira, que deu o Seu Filho único para que todo aquele que Nele crer não pereça, mas tenha a vida eterna..." (João 3:16)