Usando o NetCAT

O NetCat ? um utilit?rio que l? e escreve atrav?s de conex?es de rede usando protocolos TCP e UDP.

Considera??es Iniciais:

Plataforma usada
Debian 3.0 (Woody) / Kernel 2.4.30
NetCat “NC” – 1.20-27

O NetCat pode ser instalado atrav?s da ferramenta Apt-Get no Debian usando o Mirror:

deb http://mirrors.kernel.org/debian/ testing main
deb-src http://mirrors.kernel.org/debian/ testing main

Ap?s adicionar os mirrors em seu /etc/apt/sources.list atualize o bd do Apt e instale o NC com os comandos abaixo:

#apt-get update ; apt-get install netcat

Exemplos de uso do NetCat:

1) Com o NetCat voc? poder? testar se suas configura??es do servidor de SMTP est?o disponibilizando Relay’s adequadamente ou n?o, veja o exemplo abaixo:

#netcat proveedor.internet.es 25
helo holahola
mail from:
rcpt to:
250 Recipient Ok
data
354 Ok Send data ending with .
Subject: prova
X-Mailer: by-hand cutremail X’-D
.

Caso a mensagem com c?digo 354 apare?a isso quer dizer que seu servidor est? possibilitando Relay indevidamente, para finalizar tecle “.” para fechar a conex?o com o servidor.

2) Visualizando e-mails atrav?s do protocol POP
O NetCat ? uma ?tima ferramenta para executar teste de recebimento de e-mail’s sem a necessidade de um software de e-mail cliente, veja o exemplo abaixo:

#netcat seuservidor 110
+OK Bem vindo ao servidor POP3 de MailServer
user sincronicx
+OK password required for user carcoco
pass delpassword
list
1 2451
2 123433
3 323
dele 2
quit
+OK goodbye

Com o exemplo de comando acima conectamos em seuservidor atrav?s da porta 110 POP, e entramos com usu?rio e senha para listar os 3 e-mail que estavam na caixa, logo ap?s com o comando “dele 2” deletamos o e-mail de n?mero 2 no Inbox.
para finalizar saimos do servidor com o comando “quit”

3) Verificar informa??es sobre o servidor web de um determinando provedor

#netcat www.linux.org 80
get . /

4) Criar um sistema de comunica??o Shell entre m?quina remotas
Para criar um sistema de comunica??o equivalente ao comando wall use o comando na m?quina 1:
#nc -l -p 12345
onde a flag -p ? a porta de comunica??o que abriremos em nossa m?quina 1.

Na m?quina 2 entre com o comando:
#netcat ip-ou-nome-de-maquina1 12345

Com isso ser? aberta um canal de comunica??o atrav?s da porta 12345 no qual voc? poder? usar para mensagens instantaneas ou ainda transfer?ncia de arquivas.

5) Transferir arquivos entre m?quinas:
Digamos que voc? precisa transferir um arquivo entre uma m?quina e outra por?m voc? n?o possui nenhum servi?o client/servidor disponiv?l para transfer?ncia entre as m?quinas, voc? pode usar o NC para transferir estes arquivos exemplo:

Digamos que a m?quina 1 possui o arquivo teste.txt no qual dever? transferir para a m?quina 2, para isso use o comando na m?quina 1:

#netcat -l -p 4000 < teste.txtNa m?quina 2 entre com o comando:
#netcat maquina1 4000 > teste.txt

Ao final da transfer?ncia tecle CTRL+D para finalizar.

verifique o diret?rio corrente.

Estas foram algumas das muitas fun??es possiveis com o NC, para saber mais sobre o NetCat consulte os Man Pages ou Info.

At? mais,

Posted in Sem categoria

RIAA processa 405 usu?rios de Internet2

A Associa??o da Ind?stria Fonogr?fica Norte-Americana (RIAA, da sigla em ingl?s) j? est? processando tamb?m usu?rios norte-americanos da Internet2. Nesta ter?a-feira (12/04) a Associa??o afirmou que entrar? com 405 a??es judiciais contra universit?rios que utilizam a rede de pr?xima gera??o para trocar arquivos musicais ilegalmente.

Segundo a RIAA, a alta velocidade fornecida pela Internet2 permite que usu?rios troquem filmes com qualidade de DVD em apenas cinco minutos, enquanto arquivos MP3 chegam de um ponto a outro em m?seros cinco segundos.

Al?m dos estudantes das 18 universidades, a RIAA afirma ter registros de transfer?ncias ilegais em 140 outras universidades, presentes em 41 dos 50 Estados norte-americanos.

De acordo com o comunicado, os estudantes t?m utilizado uma aplica??o chamada “i2hub” para baixar as m?sicas e filmes. “Eles acreditam erroneamente que as atividades de troca ilegal n?o podem ser detectadas em um ambiente fechado, como a rede Internet2”, afirmou a RIAA.

Os processos seguem outras 963 a??es levantadas nesta ter?a-feira (12/04) pela Associa??o Internacional da Ind?stria Fonogr?fica (IFPI, da sigla em ingl?s) na Europa e ?sia.

Posted in Sem categoria

Instala??o Linux em Modo Kickstart com Red Hat

Artigo retirado do Dicas-L da Unicamp
Introdu??o

? poss?vel se fazer a instala??o do Linux de forma automatizada, onde o programa de instala??o obt?m a resposta para a maioria das perguntas a partir de um arquivo de configura??o. Desta forma o administrador pode obter um ganho consider?vel de tempo na instala??o e configura??o de um grande n?mero de esta??es de trabalho Linux.

Esta modalidade de instala??o chama-se kickstart. O administrador de sistemas cria um arquivo de configura??o onde s?o especificadas todas as op??es de instala??o como tipo de placa de rede, teclado, pacotes a serem instalados, n?mero IP da esta??o e do gateway, endere?o IP do servidor de nomes e v?rias outras alternativas.

Este documento discute um subconjunto das op??es dispon?veis de instala??o atrav?s do modo kickstart. Para maiores informa??es consultar o guia de instala??o do Red Hat Linux, ap?ndice H. Outra fonte ?til de refer?ncia ? o documento distribu?do juntamente com sistemas Red Hat Linux.
Quando usar?

A op??o kickstart de instala??o do Red Hat Linux e derivados ? interessante quando o administrador de redes necessita configurar um grande n?mero de m?quinas que possuem uma configura??o de hardware semelhante. Desta forma a maior parte da instala??o transcorre sem a necessidade de interven??o humana e apenas os ajustes finais s?o feitos manualmente.

Como exemplo podemos citar a configura??o de equipamentos em laborat?rios de ensino, pr?-instala??o do Linux em m?quinas rec?m-adquiridas antes da entrega ao usu?rio final e realiza??o de upgrades de vers?o.
Arquivo de configura??o
O arquivo onde s?o especificadas todas as op??es para instala??o do sistema Linux chama-se ks.cfg. Linhas iniciadas em # s?o tratadas como coment?rios. O arquivo abaixo foi utilizado para instala??o do Conectiva Red Hat Linux em um micro IBM/PC 486. 66MHZ, 32 MB de mem?ria:

lang pt_BR
network -bootproto static -ip 143.106.20.73 -netmask 255.255.255.192
-gateway 143.106.20.65
cdrom
device ethernet ne -opts “io=0x300, irq 5”
keyboard br-abnt2
zerombr yes
clearpart -all
part / -size 500 -grow
part swap -size 64
install
mouse -kickstart generic3ps/2 -emulthree
timezone -utc Brazil/East
xconfig -server “SVGA” -monitor “lg studioworks 55i”
rootpw -iscrypted a1veRaxg0oW/.
lilo -location mbr
%packages
@workstation
%post
# acrescentar coment?rio ao arquivo /etc/motd
echo Sistema Instalado em modo Kickstart em ` /bin/date` > /etc/motd
# acrescentar diretiva search ao arquivo /etc/resolv.conf
echo search unicamp.br ccuec.unicamp.br

Vamos agora analisar as op??es selecionadas:
#

lang pt_BR

Esta op??o seleciona o idioma de instala??o, portugu?s do Brasil
#

network -bootproto static|dhcp|bootp -ip 143.106.20.73 -netmask
255.255.255.192 -gateway 143.106.20.65

Aqui temos as op??es de configura??o IP da m?quina. O endere?o IP ? atribu?do estaticamente, sem o uso de servidores DHCP. O endere?o IP da m?quina ? 143.106.20.73, sua m?scara de rede ? 255.255.255.192 e o gateway da rede onde esta esta??o de trabalho se encontra ? 143.106.20.65.
#

cdrom|nfs -server nome.do.servidor -dir /caminho/da/imagem/redhatlinux

A instala??o ser? feita a partir de um cdrom
#

device ethernet ne -opts “io=0x300, irq 5”

A placa de rede ? do tipo ne2000 ou compat?vel e est? configurada para utilizar o endere?o 0x300 e a interrup??o de n?mero 5. Esta informa??o pode ser obtida atrav?s do disquete de configura??o normalmente distribu?do com a placa de rede.
#

keyboard br-abnt2

Tipo de teclado. Esta op??o, br-abnt2, ? a utilizada pelos teclados nacionais. Normalmente apenas o Conectiva Red Hat Linux suporta esta op??o.
#

zerombr yes|no

Indica se o MBR (Master Boot Record) deve ser totalmente apagado. Esta op??o ? a recomendada para novas instala??es. Em m?quinas onde existam parti??es v?lidas que se queira preservar utilizar “zerombr no”.
#

clearpart -all|linux

Sinaliza se todas as parti??es existentes no equipamento devem ser apagadas.
#

part / -size 500 -grow

A diretiva part faz a aloca??o das parti??es de seu sistema Linux. Neste caso est? sendo alocada a parti??o root com tamanho de 500MB. A diretiva -grow indica que, se ao final do processo de aloca??o de todas as parti??es ainda restar algum espa?o livre, este espa?o ser? acrescido ao tamanho especificado originalmente.
#

part swap -size 64

Esta diretiva aloca o espa?o de swap
#

install|upgrade

Ser? feita uma nova instala??o (ou um upgrade)
#

mouse -kickstart generic3ps/2 -emulthree

Especifica??o do mouse, tipo PS/2, com dois bot?es, com suporte ? emula??o de tr?s bot?es.
#

timezone -utc Brazil/East

Regi?o geogr?fica
#

xconfig -server “SVGA” -monitor “lg studioworks 55i”

Especifica??o do tipo de placa de v?deo e monitor
#

rootpw -iscrypted a1veRaxg0oW/.

A senha do usu?rio root pode ser inclu?da de forma encriptada, como acima, ou n?o. A senha, caso criptografada deve ser precedida da diretiva -iscrypted.
#

lilo -location mbr

O LILO (Linux Loader) ser? instalado no registro mestre de boot (MBR). Este ? o default.
#

%packages

#

@workstation|@server

Neste se??o especificamos os pacotes a serem instalados. Podemos fazer uma especifica??o mais gen?rica, como em nosso exemplo, ou especificar separadamente cada pacote que desejamos instalar. No Conectiva Linux vers?o 4.0 s?o os seguintes os valores poss?veis, al?m dos j? especificados acima:

Base
X Window System
Mail/WWW/News Tools
File Managers
X multimedia support
Console Multimedia
Networked Workstation
Dialup Workstation
KDE

Na especifica??o no arquivo ks.cfg preceder os valores acima do caracter “@”.
#

%post

Incluir nesta se??o os comandos que voc? deseja executar ap?s o fim da instala??o. Exemplo:

# acrescentar coment?rio ao arquivo /etc/motd
echo Sistema Instalado em modo Kickstart em ` /bin/date` > /etc/motd
# acrescentar diretiva search ao arquivo /etc/resolv.conf
echo search unicamp.br ccuec.unicamp.br

Como Instalar em modo Kickstart
Atrav?s do disquete de boot

Para utilizar o disquete de boot basta copiar o arquivo ks.cfg criado para o disquete de boot. No Linux isto pode ser feito atrav?s do comando mcopy visto que este disquete est? no formato MS-DOS (FAT). A c?pia pode tamb?m ser feita a partir de um sistema DOS.

Isto feito, inserir o disquete no drive a: de seu computador. Ao aparecer o prompt

boot: linux ks=floppy

A partir deste ponto, se o seu arquivo ks.cfg estiver especificado corretamente, toda a instala??o transcorrer? automaticamente.
Atrav?s da Rede

A instala??o via rede requer a configura??o de um servidor DHCP ou Bootp a partir do qual a esta??o de trabalho obt?m suas informa??es de rede e a localiza??o do arquivo kickstart. De posse destas informa??es o cliente tentar? montar via NFS o sistema de arquivos com as informa??es que precisa. Esta op??o de instala??o ser? abordada em maiores detalhes nas pr?ximas vers?es deste documento.
Gera??o Autom?tica do Arquivo ks.cfg

O pacote mkkickstart permite a cria??o autom?tica do arquivo ks.cfg. Este programa obt?m a configura??o de seu sistema automaticamente e cria um arquivo ks.cfg apropriado. ? recomend?vel que o arquivo ks.cfg gerado seja examinado para verificar se todos os par?metros codificados est?o adequados.

O pacote mkkickstart pode ser encontrado em: [1]http://ftp.unicamp.br/pub/conectiva/conectiva/RPMS/mkkickstart-1.2- 2cl.noarch.rpm
Conclus?o

A alternativa de instala??o do Linux atrav?s do modo kickstart pode facilitar em muito a instala??o e configura??o de ambientes com um grande n?mero de equipamentos, especialmente em situa??es onde tais equipamentos possuem configura??o de hardware similar. Adicionalmente, o pacote mkkickstart permite a r?pida reinstala??o mesmo em m?quinas de uso pessoal. 7. Refer?ncias [2]KickStart-HOWTO [3]Red Hat Linux Installation Guide

Posted in Sem categoria

Customizando o Debian Gnu/Linux para rodar filmes em DVD

Artigo contribuido para o site do dicas-L:

Customizando Gnu/Linux para roda filmes em DVD

Colabora??o: Andr? Jaccon

Todos n?s sabemos que rodar Filmes em DVD no Gnu/Linux, n?o ? uma tarefa t?o simples assim quando queremos que a execu??o do DVD seja perfeita.

Neste tutorial mostraremos como customizar seu Gnu/Linux para tirar 100% de aproveitamento na execu??o de filmes em DVD no sistema do Debian Gnu/Linux.
Considera??es iniciais

* Sistema Operacional: Debian 3.0 ( woody ) / kernel 2.4.29
* M?dulos do kernel: AgpGart
* Aplicativos usados:
o Gnome-VLC 0.8.1-1: Player Multi m?dia para todos formatos de ?udio e video
o WxVLC 0.8.1-1: Frontend para o VLC
o QVLC 0.8.1-1: Frontend para o VLC
o HDparm 5.9-1: Aplicativo para setar a alta performance dos par?metros do disco r?gido
* Bibliotecas compartilhadas: Libdvdcss2 1.2.8-1: Biblioteca para decripita??o de regi?es.

Instalando Aplicativos

Os pacotes necess?rios podem ser instalados e configurados atrav?s da ferramenta Apt do Debian. Relacionamos a seguir os sites para download dos aplicativos necess?rios:

— # As linhas abaixo devem ser adicionadas ao arquivo /etc/apt/sources.list
deb http://ftp.br.debian.org/debian/ testing main
deb-src http://ftp.br.debian.org/debian/ testing main
deb http://security.debian.org/ testing/updates main
deb http://mirrors.kernel.org/debian/ stable main
deb-src http://mirrors.kernel.org/debian/ stable main
deb http://download.videolan.org/pub/videolan/debian woody main
deb-src http://download.videolan.org/pub/videolan/debian woody main
deb http://download.videolan.org/pub/videolan/debian sarge main
deb-src http://download.videolan.org/pub/videolan/debian sarge main
deb http://download.videolan.org/pub/videolan/debian sid main
deb-src http://download.videolan.org/pub/videolan/debian sid main

Depois de adicionados os sites devemos atualizar o banco de dados de pacotes do Apt-Get:

# apt-get update

na sequ?ncia instale os aplicativos com o comando:

# apt-get install gnome-vlc libdvdcss2 wxvlc qvlc hdparm

Considerando neste ponto que os pacotes j? est?o instalados e devidamente configurados, devemos configurar manualmente a biblioteca compartilhada Libxosd, para isso use o comando:

# dpkg -i –force-all /var/cache/apt/archives/libxv*.deb

Com isso os pacotes necess?rios j? estar?o configurados, agora devemos configurar o sistema operacional de forma que possamos tirar 100% de aproveitamento na execu??o do DVD.
Configurando o sistema

Para come?armos as configura??es no sistema ? importante saber se seu disco r?gido e seu DVD-Rom possuem suporte a tecnologia Ultra-DMA. A forma mais f?cil de descobrir ? usando o aplicativo hdparm:

Como super usu?rio, vamos iniciar os teste em nossos dispositivos:

# hdparm -c -d /dev/hda

A sa?da padr?o do comando nosso caso ser?:

/dev/hda:
IO_support=0 (default 16-bit)
using_dma=0 (off)

Depois use:

# hdparm -t /dev/hda
/dev/hda:
Timing buffered disk reads: 158 MB in 3.03 seconds = 52.15 MB/sec

Podemos verificar de forma clara que o suporte a U-DMA e tamb?m o acesso ao disco em 32 bits est?o desativados, a velocidade de leitura do disco ? de 52.12 MB/sec.

Para melhorarar este aspecto devemos ativar o suporte a U-DMA e ativar o acesso em 32bits.

# hdparm -c 1 -d 1 /dev/hda

Teste novamente com o comando hdparm e verifique as altera??es:

# hdparm -c -d /dev/hda
/dev/hda:
IO_support=0 (default 32-bit)
using_dma=0 (on )

Placas m?es mais antigas como por exemplo para modelos at? Intel Pentium 150 Mhz e fam?lia 486/586 n?o possibilitam a ativa??o do U-DMA, por?m quase todas possuem acesso a 32bits.

Adicione o par?metro

hdparm -c 1 -d 1 /dev/hda ,

ao arquivo /etc/init.d/bootmisc.sh na pen?ltima linha existente:

hdparm -c 1 -d 1 /dev/hda
: exit 0

Salve o arquivo e iremos para o pr?ximo passo:
Ativando m?dulo AGP no Kernel

Na distribui??o Debian Gnu/Linux a forma mais f?cil de manipular m?dulos do kernel ? com o aplicativos Modconf:

Para isso entre com o comando modconf procurando a sess?o kernel/drivers/char/agp e habilite a op??o agpgart selecionando com o cursor e teclando “Enter” para ativar e depois selecione “Exit” duas vezes para sair .
Usando o VLC

O VLC ? muito simples de ser usado, por?m alguma vezes alguns DVD’s com suporte a Dolby 5.1 geram problemas com a sa?da de som na execu??o do filme, para contornar este problema use o menu de ?udio para selecionar a op??o Stereo.
Considera??es finais

Para verificar quais os modelos de placas que possuem suporte a Dolby 5.1 verifique no site:

http://www.linuxhardware.org/

Posted in Sem categoria

Intel lan?a chip de dois n?cleos j? em abril

A Intel dever? lan?ar os primeiros processadores com duplo n?cleo ainda neste m?s. Segundo um executivo da companhia, os chips Pentium Extreme Edition 840 j? est?o sendo distribu?dos a fabricantes de PCs, para que sejam lan?ados antes do Opteron de dois n?cleos, da concorrente AMD. O chip da rival ser? apresentado oficialmente no dia 21 de abril.

“O lan?amento ser? feito em um futuro imediato”, disse Abhi Talwalkar, vice-presidente e gerente geral da Intel Digital Enterprise Group, nesta segunda-feira (11/04) no Intel Developer Forum (IDF), em Taiwan. Talwalkar, no entanto, utilizou um computador Dell Dimension XPS durante uma apresenta??o no evento, com um chip de dois n?cleos – cada um rodando a 3,2 GHz.

J? a AMD promete o Opteron de dois n?cleos para o dia 21 de abril, marcando dois anos de anivers?rio de lan?amento do chip – o primeiro de 64 bits da companhia.

Atualmente, a Intel desenvolve 15 processadores baseados em tecnologia multin?cleo, afirmou Talwalkar. Ap?s o lan?amento do Pentium Extreme Edition, a companhia pretende apresentar at? junho um segundo modelo de dois n?cleos, j? batizado de Pentium D.

Posted in Sem categoria

Uma revolu??o chamada apt-build!

Quero compartilhar com todos uma revolu??o chamada apt-build!

A maior parte das informa??es dessa dica foram retiradas de artigos que foram traduzidos por camaradas de outras distros baseadas em Debian como o BigLinux. Irei cit?-los e eventualmente comentar algo. O apt-build se baseia no conceito do Ports, do freebsd, de instalar e recompilar programas se ajustando ao pc de cada pessoa levando em conta qual processador elas usam e qual poder, consequentemente, cada m?quina possui.

Ele pega as sources dos pacotes e compila tudo automaticamente o que tradicionalmente n?o ? feito pelos usu?rios por ser um processo bastante complexo.

Durante a instala??o ele pergunta quais op??es voc? pretende acrescentar ao gcc e depois pergunta qual processador voc? usa.Me recomendaram por uma op??o mais simples no gcc como o0 mas ap?s a instala??o eu a comentei deixando a otimiza??o restrita ao meu k6-2 500.

Para instalar d? um sudo apt-get install apt-build.Eu fiz a instala??o usando o aptitude dando um sudo aptitude install apt-build.

Quando ele me perguntou qual n?vel de otimiza??o eu queria eu optei pelo n?vel 2 j? que o 3 teoricamente seria inst?vel.Quando ele me perguntou qual op??o eu queria para o gcc eu pus O0 mas antes de instalar qualquer coisa eu comentei essa op??o pondo o seguinte simbolo # antes da linha em que a op??o estava determinada.Dei um sudo kedit /etc/apt/apt-build.conf e deixei o meu assim:

build-dir = /var/cache/apt-build/build repository-dir = /var/cache/apt-build/repository Olevel = -O2 march = -march=k6-2 mcpu = -mcpu=k6-2 #options = ” O0″

Eu recomendo que todos optem pelo n?vel 2 e deixem a parte referente ?s op??es do gcc comentadas.

? fundamental que sejam acrescentadas ?s fontes do apt as seguintes linhas referentes ?s fontes dos pacotes.Eu dei um sudo kedit /etc/apt/sources.list e pus estas :

deb-src http://ftp.de.debian.org/debian testing main contrib non-free deb-src http://ftp.de.debian.org/debian-non-US testing/non-US main contrib non-free deb-src http://ftp.de.debian.org/debian unstable main contrib non-free deb-src http://ftp.de.debian.org/debian-non-US unstable/non-US main contrib non-free deb-src http://ftp.de.debian.org/debian stable main contrib non-free deb-src http://ftp.de.debian.org/debian-non-US stable/non-US main contrib non-free deb-src http://ftp.de.debian.org/debian ../project/experimental main deb-src http://http.us.debian.org/debian/ ../project/experimental main deb-src http://pkg-gnome.alioth.debian.org/debian experimental main

Os comandos s?o semelhantes aos do apt-get.

Temos o apt-build update para atualizar os pacotes, apt-build install programa, apt-build upgrade ( muito complexo e demorado) e apt-build world, o mais complexo, e fortemente n?o recomendado porque recompila todos os programas do sistema o que pode lever dias.

Esse comando equivale ao make world do free bsd.

Quero dizer a todos que no meu limitado k6-2 500 foi uma revolu??o.Compilei o xfce4 e est? voando.? um processo demorado, tenham paci?ncia, mas vale muito a pena.Agora sempre irei utilizar o apt-build e espero que ele se torne padr?o no Kurumin.

Essa dica visou tornar amig?vel a instala??o e configura??o do apt-build compartilhando minha experi?ncia.

Todos os cr?ditos e m?ritos s?o de Julien Reveret, autor das dicas em ingl?s, e de Thiago Scherer, que traduziu as mesmas no seguinte site :

http://grajagan.rg3.net/artigo-apt-build.html

Posted in Sem categoria

ProFTPD com autentica??o via MySQL

Artigo retirado do site LinuxIT

Download e instala??o do ProFTPD
OBS: Estou supondo que voc? j? possui o MySQL instalado no seu computador, por isso n?o abordarei a instala??o do mesmo neste tutorial.

Pacotes utilizados
* Distribui??o utilizada: Slackware 10;
* Vers?o do ProFTPD: 1.2.10;
* Vers?o do MySQL: 4.0.20.

Hora de colocar a m?o na massa.

A primeira coisa que voc? deve fazer ? verificar se o ProFTPD foi instalado na tua m?quina atrav?s de um pacote pr?-compilado. Se sim, voc? ter? que o desinstalar.
A? voc? se pergunta: “Pra que desinstalar e instalar de novo? No m?nimo esse cara quer me fazer de besta x/”.
N?o ? bem assim. O problema ? que precisamos instalar o ProFTPD atrav?s do source para podermos habilitar o suporte ao MySQL, afinal, o objetivo ? esse certo?

No Slackware eu fiz isso:

# ls /var/log/packages/ | grep proftpd
proftpd-1.2.9-i486-3

da?:

# removepkg /var/log/packages/proftpd-1.2.9-i486-3*

OBS:Voc? ter? que adaptar os comandos de acordo com sua distribui??o ou usar o gerenciador de pacotes de sua distro.

# pkgtool
(Slackware)

Agora que desinstalamos o pacote pr?-compilado, ? hora de baixar o source.
A p?gina oficial do ProFTPD ?:

* http://www.proftpd.org

E o link para a vers?o mais atual (no momento em que fiz o tutorial) ?:

ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.10.tar.bz2
use:

# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.10.tar.bz2

ou seu navegador preferido.

Terminado o download, temos que descompactar o arquivo:

# tar xvjf proftpd-1.2.10.tar.bz2 -C /usr/local/src/
(isso descompactar? o arquivo na pasta /usr/local/src/)

# cd /usr/local/src/proftpd-1.2.10/

Preparando o arquivo para a compila??o:

Antes temos que encontrar as pastas “include” e “lib” relacionadas ao MySQL.

# find / -name mysql | grep lib
Sa?da: /usr/lib/mysql (pode variar de acordo com sua distribui??o)

# find / -name mysql | grep include
Sa?da: /usr/include/mysql (pode variar de acordo com sua distribui??o)

Com esses resultados eu posso preparar a compila??o:

# ./configure –with-modules=mod_sql:mod_sql_mysql
–with-libraries=/usr/lib/mysql
–with-includes=/usr/include/mysql

Se tudo estiver OK:

# make

Espere terminar (o tempo vai variar de acordo com seu computador) e fa?a:

# make install

OBS: N?o esque?a de substituir as pastas no –with-libraries e –with-includes pelas pastas encontradas no seu sistema ao usar os comandos:

# find / -name mysql | grep include
# find / -name mysql | grep lib

Criando a tabela de usu?rios no MySQL

Agora que j? temos o ProFTPD instalado com os m?dulos corretos, precisamos criar uma database e uma tabela onde ser?o guardados os dados dos usu?rios do FTP.

Primeiro chame o MySQL:

# mysqld_safe &
( No Slackware )

Agora crie uma database:

# mysqladmin create ftp -u root -p

Logando-se ao MySQL:

# mysql -u root -p

Agora vamos criar as tabelas. Primeiramente temos que pensar no que precisaremos para cadastrar um usu?rio. Acho que nome, login, senha, UID, GID, shell e diret?rio s?o suficientes. ? bom colocar um campo mostrando se o usu?rio ? ativo ou n?o, pois assim voc? poder? desativar determinados usu?rios temporariamente apenas modificando o conte?do desse campo.

Uma vez logado e supondo que o nome da database criada seja “ftp”, digite:

mysql> use ftp
Database changed

Criando a tabela:

mysql> CREATE TABLE ftpusers (
-> nome varchar(255) NOT NULL DEFAULT ‘fulano’,
-> login varchar(20) NOT NULL UNIQUE,
-> senha varchar(20) NOT NULL,
-> uid int(10) UNIQUE AUTO_INCREMENT,
-> gid int(10),
-> ativo char(1) NOT NULL DEFAULT ‘s’,
-> dir varchar(255) NOT NULL,
-> shell varchar(255) NOT NULL,
-> email varchar(255));
Query OK, 0 rows affected (0.00 sec)

* O comando: “CREATE TABLE ftpusers (” est? dizendo ao MySQL para iniciar a cria??o de uma tabela chamada “ftpusers”.
* “nome varchar(255) NOT NULL DEFAULT ‘fulano'” significa que a vari?vel “nome” poder? ter at? 255 caracteres e “fulano” como padr?o.
* Os outros campos seguem o mesmo esquema.

Com a tabela criada, precisamos criar um usu?rio para que o ProFTPD possa acessar a database “ftp”, que foi a que criamos e dar a ele todos os privil?gios de acesso a essa database:

mysql> GRANT ALL PRIVILEGES ON ftp.* to usuario@localhost IDENTIFIED BY ‘ftpsenha’; Query OK, 0 rows affected (0.03 sec)

Assim o usu?rio “usuario”, que tem como senha “ftpsenha”, ter? todos os privil?gios sobre a database “ftp”.

Entenderam? ? s? trocar “usuario” e “ftpsenha” pelo nome e senha que deseja.

Em seguida mandamos o MySQL atualizar as permiss?es:

mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)

Agora vamos inserir um usu?rio para usarmos como teste:

mysql> INSERT INTO ftpusers VALUES (‘nome de teste’, ‘teste’, ‘casa’, 8099, 8099, ‘s’, ‘/home/teste’, ‘/bin/bash’, ‘teste@mail.com’);

O comando acima mandou inserir na tabela “ftpusers” os valores: ‘nome de teste’, ‘userteste’, ‘senhateste’, 9000, 8099, ‘s’, ‘/home/teste’, ‘/bin/bash’, ‘teste@mail.com’.

Para verificar os usu?rios cadastrados ? s? digitar:

mysql> SELECT * FROM ftpusers;

Caso queira em ordem alfab?tica (usando “login” como refer?ncia):

mysql> SELECT * FROM ftpusers ORDER BY login;

Agora j? podemos sair do MySQL:

mysql> quit
Bye

Configurando o ProFTPD

Com a tabela criada no MySQL e um usu?rio teste cadastrado, est? na hora de configurar o ProFTPD.

Primeiramente localize o arquivo de configura??o do ProFTPD (proftpd.conf):

# find / -name proftpd.conf

No meu caso obtive isto: /usr/local/etc/proftpd.conf

Da? ? s? usar seu editor preferido:
# pico /usr/local/etc/proftpd.conf

Tudo o que voc? precisa fazer para ter o ProFTPD funcionando em cima do MySQL ? adicionar as seguintes linhas ao arquivo:

SQLAuthTypes Plaintext Crypt
SQLAuthenticate users
SQLConnectInfo ftp@localhost usuario ftpsenha
SQLUserInfo ftpusers login senha uid gid dir shell
SQLUserWhereClause “ativo=’s'”
SQLHomedirOnDemand on

* SQLAuthTypes Plaintext Crypt: Passwords no MySQL s?o encriptados usando CRYPT.
* SQLAuthenticate: Mostra o m?todo de autentica??o e o que autenticar.
* SQLConnectInfo ftp@localhost usu?rio ftpsenha: aqui ? onde s?o colocados os dados necess?rios para se conectar a database.

Modo de usar:
SQLConnectInfo nome_da_databse@localhost usuario_da_database senha_do_usuario

* SQLUserInfo ftpusers login senha uid gid dir shell: aqui colocamos os nomes das colunas criadas na tabela “ftpusers”.

Modo de usar:
SQLUserInfo nome_da_tabela login senha uid gid dir shell

* SQLUserWhereClause “ativo=’s'”: Indica ao ProFTPD que ele tamb?m precisa verificar se este campo possui como valor “s”.
* SQLHomedirOnDemand on: Diz ao ProFTPD para criar o diret?rio home do usu?rio caso n?o exista.

Agora que adicionamos as linhas ao proftpd.conf, tudo o que precisamos ? inicializar o servidor FTP:

# proftpd

Agora j? temos o ProFTPD configurado e rodando. Hora de test?-lo:

$ ftp localhost
Connected to localhost.
220 ProFTPD 1.2.10 Server (Angelina Jolie Me Deseja) [127.0.0.1]

Name (localhost:n0z3y): userteste
331 Password required for userteste.

Password: ******
230 User userteste logged in.

Remote system type is UNIX.
Using binary mode to transfer files.

Caso esteja tudo OK, meus parab?ns, voc? acaba de montar um servidor de FTP com autentica??o via MySQL, caso contr?rio refa?a os passos e me avise caso encontre algum erro.

Em seguida mostrarei algumas coisas legais e configura??es adicionais do ProFTPD, n?o sendo obrigat?rias para o funcionamento do servidor.

Entendendo o arquivo proftpd.conf

Agora vamos entender um pouco como funciona o arquivo de configura??o do ProFTPD.

Se voc? visualizar seu arquivo novamente, ver? que ele est? mais ou menos parecido com isso:

ServerName “ProFTPD Default Installation”
ServerType standalone
DefaultServer on
Port 21
Umask 022
MaxInstances 30

User nobody
Group nogroup

Directory /*>
AllowOverwrite on
/Directory>

Anonymous ~ftp>
config
/Anonymous>

SQLAuthTypes Plaintext Crypt
SQLAuthenticate users
SQLConnectInfo ftp@localhost usuario ftpsenha
SQLUserInfo ftpusers login senha uid gid dir shell
SQLUserWhereClause “ativo=’s'”
SQLHomedirOnDemand on

Explicando as op??es:

* ServerName: Aqui ? onde ser? definido o nome do servidor. Exemplo:

ServerName “Servidor Ftp de teste”

* ServerType: Aqui voc? define o tipo do servidor. Pode ser standalone ou inetd. No arquivo acima ele est? definido como standalone.
* DefaultServer: Diz ao ProFTPD para usar a configura??o padr?o caso a conex?o n?o seja feita pelo IP da pr?pria m?quina ou por algum VirtualHost.
* Port: Porta padr?o que o ProFTPD rodar?.
* Umask 022: Serve para previnir novos diret?rios e arquivos te terem permiss?o de escrita global.
* MaxInstances: Limita o n?mero de conex?es simult?neas, em nosso caso, para 30.
* Anonymous ~ftp> e /Anonymous>: Tudo que estiver aqui dentro ser? uma configura??o espec?fica para um acesso an?nimo ao servidor.

A parte do MySQL j? foi explicada anteriormente.

Isto foi s? uma vis?o geral sobre algumas coisas b?sicas do proftpd.conf. Na verdade estas e outras op??es est?o explicadas com mais detalhes no pr?prio proftpd.conf.

Criando Virtual Hosts

A diretriz ? usada pra criar configura??es diferentes para determinados hosts e/ou IPs. Pode ser usado tamb?m para oferecer conex?es a diferentes portas na mesma m?quina.

A maneira de se criar um VirtualHost ? a seguinte:

VirtualHost endere?o_e/ou_ip>
configura??o
/VirtualHost>

Exemplos de VirtualHost:

VirtualHost www.angelina_me_quer.org>
ServerName “Estou sonhando”
ServerAdmin an@ge.li.na
Port 21
MaxClients 05
DefaultServer on
TransferLog /var/log/proftpd/angelinameker.log
DefaultRoot /home/ftp/angelina
AllowOverwrite yes
/VirtualHost>

VirtualHost ftp.dom?nio.com.br>
ServerName “Servidor ftp”
Port 8021
DefaultRoot ~
DefaultServer on
AllowOverwrite yes
ServerAdmin email@do.admin
Umask 022
TransferLog /var/log/proftpd/serverftp.log
/VirtualHost>

Configura??es adicionais

O que vimos at? agora foi uma configura??o b?sica do ProFTPD. Na verdade ele possui um grande n?mero de fun??es que podem ser de grande uso para voc?s. Justamente por ser um grande n?mero, citarei apenas algumas destas fun??es aqui.

Existem fun??es, por exemplo, que servem para personalizar as mensagens mostradas durante uma se??o no ProFTPD.

Para mostrar uma mensagem quando um usu?rio se logar voc? usa:

AccessGrantMsg “mensagem”

Exemplo:
AccessGrantMsg “Seja bem vindo %u”

* %u –> Ser? trocado pelo nome do usu?rio.

Para mostrar uma mensagem quando um usu?rio falhar ao tentar se logar use:

AccessDenyMsg “mensagem”

Exemplo:
AccessDenyMsg “Acesso negado ? %u ! V? com Deus filho …”

Para mostrar uma mensagem antes do login voc? usa:

DisplayConnect diret?rio/arquivo.msg

Exemplo:
DisplayConnect /usr/local/proftpd/connect.msg

Setando mensagem de login e logout:

DisplayLogin login.msg
DisplayQuit logout.msg
OBS: Os arquivos login.msg e logout.msg devem estar abaixo do diret?rio principal do usu?rio.

Existem fun??es que usam o tempo que o usu?rio est? conectado para executar determinadas a??es. Para desconectar um usu?rio se ele ficar ocioso durante um certo tempo:

TimeoutIdle Tempo_em_segundos

Exemplo:
TimeoutIdle 180

Desconecta o usu?rio se ele ficar ocioso por 3 minutos.

Para desconectar algu?m que n?o se logou com sucesso durante um determinado tempo:

TimeoutLogin tempo_em_segundos

Exemplo:
TimeoutLogin 60

Para desconectar um usu?rio caso ele fique um determinado tempo sem transferir nada:

TimeoutNoTransfer tempo_em_segundos

Exemplo:
TimeoutNoTransfer 120

Desconecta o usu?rio depois de 2 minutos sem transfer?ncia.

Para desconectar algu?m depois de um determinado tempo:

TimeoutSession tempo_em_segundos

Exemplo:
TimeoutSession 600

Desconecta qualquer usu?rio logado por 10 minutos.

Uma fun??o bastante ?til ? a “TransferRate”. Com ela voc? pode limitar a taxa de transfer?ncia do servidor. Para us?-la:

TransferRate RETR taxa_em_kbps:byteslivres

Exemplo:
TransferRate RETR 8:10

Limita a taxa de transfer?ncia para 8kbps.

* taxa_em_kbps: ? a taxa limite de transfer?ncia que voc? deseja aplicar.
* bytes_livres: ? a quantidade de bytes que podem ser transferidos antes do controle de taxa de transfer?ncia ser aplicado.

Outra bastante utilizada ? a:

DefaultRoot diret?rio

Exemplo:
DefaultRoot /home/tal

Com ela voc? pode limitar os usu?rios a um determinado usu?rio. Caso use:

DefaultRoot ~

voc? estar? limitando o usu?rio ao seu pr?prio home (recomend?vel).

Exemplo de proftpd.conf

ServerName “Angelina Jolie Me Deseja”
ServerType standalone
DefaultServer on
Port 8021
#Umask 022
MaxInstances 20
User nobody
Group nogroup
DefaultRoot ~
AccessGrantMsg “Uepaa!! Seja Bem Vindo %u”
AccessDenyMsg “ADEUS!”
DisplayConnect /usr/local/message.msg

TimeoutLogin 60
TimeoutNoTransfer 120
TimeoutIdle 180

# Normally, we want files to be overwriteable.
AllowOverwrite on

# Bar use of SITE CHMOD by default
Limit SITE_CHMOD>
DenyAll
/Limit>

SQLAuthTypes Plaintext Crypt
SQLAuthenticate users
SQLConnectInfo ftp@localhost usuario ftpsenha
SQLUserInfo ftpusers login senha uid gid dir shell
SQLUserWhereClause “ativo=’s'”
SQLHomedirOnDemand on

Concluindo …

Como dito anteriormente, isto foi apenas uma configura??o b?sica do ProFTPD. Aconselho dar uma olhada na p?gina oficial do mesmo para configura??es adicionais.

* http://www.proftpd.org

Espero ter ajudado.

[]’s

PS: Sou novo nesse neg?cio de Linux e artigos, ent?o qualquer sugest?o para que eu possa melhorar ser? muito bem vinda. Valeu, abra?o ? todos o/

xnozey@gmail.com

Hugo D?ria

Este artigo veio de LinuxIT – Linux e Tecnologia
http://www.linuxit.com.br

O link desta artigo ?:
http://www.linuxit.com.br/modules.php?name=Sections&op=viewarticle&artid=727

Posted in Sem categoria