E-mail sobre UUCP: A solu��o profissional para utilizadores dialup
ArticleCategory: [Do not translate this]
System Administration
AuthorImage:[Do not translate this]
TranslationInfo:[Do not translate this]
original in en Guido
Socher
en to pt Bruno Sousa
AboutTheAuthor:[Translate the paragraph below]
O Guido tem utilizado o UUCP h� j� muitos anos e pensa que � o
melhor meio de ligar o sistema de mail do seu computador � Internet.
Abstract:[Translate the paragraph below]
O UUCP � um dos velhos e bons protocolos da Internet. Em muitos
casos � agora substitu�do por protocolos mais modernos mas continua a ser
uma das melhores solu��es para enviar e-Mail para e de sites dialup.
Infelizmente muitas pessoas a ligarem-se de casa atrav�s de uma liga��o
dialup n�o t�m conhecimento das grandes potencialidades do UUCP e n�o pedem
este servi�o. Como consequ�ncia, cada vez menos ISP's oferecem os servi�os de
UUCP nos dias de hoje.
ArticleIllustration:[Do not try to translate this]
ArticleBody:[Translate everything below]
Introdu��o
O UUCP � um protocolo muito velho e originalmente, era utilizado
para copiar ficheiros entre sistemas Unix. Da� o nome: "Unix to Unix Copy".
Estes primeiros computadores n�o estavam permanentemente ligados atrav�s de
uma rede. Em vez disto utilizavam liga��es de modem dialup para trocar
dados em intervalos de tempo regulares.
Para copiar o ficheiro mynotes.txt para um sistema remoto chamado "mars" um
deles utilizaria o comando:
uucp mynotes.txt mars!~/mynotes.txt
Neste momento isto copia os dados para um "direct�rio de spool" e mais
tarde quando uma liga��o dialup � feita s�o copiados fisicamente os dados.
Hoje, este tipo de aplica��o para o UUCP � raramente utilizado. Protocolos
mais modernos como o TCP/IP e por exemplo o scp est�o agora dispon�veis
para copiar ficheiros entre sistemas computacionais.
O UUCP podia fazer mais do que isto. Permitia a execu��o de um n�mero
limitado de comandos remotos. Para enviar os dados do comando "rnews" para o sistema
remoto "mars" a partir da entrada padr�o uma poss�vel solu��o seria:
cat somedata.txt | uux - mars!rnews
Novamente o comando rnews n�o seria executado imediatamente no sistema
remoto, mas somente quando uma liga��o dialup para "mars" estivesse
estabelecida. O comando ficaria "estacionado" no "direct�rio local de spool".
Mas o que � que isto tem haver com o e-mail?
O E-mail � uma aplica��o t�pica onde n�o importa se o envio dos dados �
atrasado um pouco. Normalmente, voc� atrav�s do seu mail, escreve por
exemplo mensagens de resposta a amigos e "enviam-nas". Contudo voc� n�o
pretende que todas as janelas de resposta da sua aplica��o de mail se abram
ao mesmo tempo enquanto se liga novamente ao seu ISP. Quer antes enviar o
mail e fechar a janela. Se � enviada imediatamente n�o � importante aqui
desde que seja enviada mais tarde.
Este � o tipo de aplica��o que facilmente pode confiar e implementar com o UUCP.
O seu pr�prio sistema de mail
O UUCP � flex�vel. Pode configur�-lo para ter um servidor de mail a
funcionar na rede de computadores. O seu computador com Linux pode ser o
servidor central de mail servindo o servi�o de mail para todos os tipos de
computadores e sistemas operativos na sua rede local LAN (Rede de �rea
local):
Definir um servidor de mail deste modo pode ser conveniente para uma
empresa familiar, pequena com custos reduzidos. Pode fornecer contas de e-mail
para qualquer n�mero de utilizadores enquanto que ao mesmo tempo s� precisa
de uma liga��o de dialup ao seu ISP. A companhia far� uma liga��o peri�dica
(por exemplo a cada hora) e pessoas privadas podem fazer a liga��o por
variadas raz�es.
Para concluir: O E-mail sobre o UUCP n�o � nada velho e sujo. � um modo
muito conveniente, barato e uma aplica��o inteligente do UUCP.
Como � que funciona?
Utilizando o UUCP obter� do seu ISP o seu pr�prio dom�nio MX (MX=Mail
Exchanger, nome do Dom�nio parte do endere�o e-mail). Por exemplo se a
p�gina do seu ISP � www.my-friendly-isp.com ent�o podem dar ao Joe Miller o
dom�nio miller.my-friendly-isp.com. Todo o mail para aquele dom�nio ser�
enviada para o servidor do Joe Miller atrav�s do UUCP. O Joe pode ent�o
configurar qualquer n�mero de utilizadores: [email protected],
[email protected], [email protected] ...
� com o Joe. Visto que obt�m um servidor de mail gr�tis com o Linux este
pode servir protocolos diferentes como o pop, imap, nfs ou caixa de correio directamente
sobre o sistema de ficheiros local ... etc n�o h� restri��o para o tipo de sistema
operativo ou clientes de e-mail utilizados para aceder ao respectivo mail.
O UUCP como tal � um protocolo s� por si s� e pode corr�-lo directamente ao
n�vel do hardware (por exemplo uma linha do modem sem o protocolo ppp)
contudo tamb�m o pode correr sobre o TCP/IP o que lhe oferece novas
possibilidades:
Se possuir um ISP dedicado algures no mundo com uma liga��o � rede muito
boa (por exemplo Amsterd�o) e voc� liga-se a um ISP qualquer, barato e com
liga��es locais. Desde que o UUCP corra no topo do TCP/IP o localiza��o
f�sica do seu ISP de E-mail/UUCP j� n�o importa mais. � acess�vel de
qualquer local do mundo atrav�s da Internet.
Configurando-o
A Maioria das distribui��es de Linux t�m um pacote chamado uucp e
normalmente, cont�m o Tailer UUCP. Se n�o est� em nenhuns dos seus CDs,
ent�o pode obt�-lo em:
www.airs.com/ian
Al�m do pacote UUCP precisa tamb�m de um sistema de mail capaz de suportar
o UUCP. Descreverei o Sendmail neste artigo, mas outros sistemas tamb�m
suportam o UUCP. Um sistema de mail que suportam o UUCP ter� um comando
chamado rmail no pacote rpm ou deb.
O mail � enviado para o seu sistema atrav�s de um comando remoto,
semelhante ao exemplo acima do uux/rnews. O rmail � o comando que recebe o
mail atrav�s do "pipe" UUCP e integra-o no seu sistema de mail.
A informa��o que se segue � precisa ao seu ISP para configurar a conta:
- O nome do dom�nio MX que gostaria de ter, por exemplo:
miller.my-friendly-isp.com
- Um nome de login para a liga��o UUCP
- Uma palavra passe para a liga��o UUCP
- O nome do seu sistema UUCP. Uma pequena string como por exemplo o nome
da sua m�quina.
- Contacte o seu ISP relativamente �s quest�es administrativas e as
formas gerais do mail, normalmente o postmaster.
- UUCP sobre IP? Diga que sim, aqui e n�o escolha um ISP que n�o forne�a
este servi�o. Voc� quer E-mail sobre o UUCP e o UUCP sobre IP.
Os dados que precisa do seu ISP:
- O nome do dom�nio (domainname) do servidor ao qual se ligar� via
UUCP. Por exemplo, Pode ser algo como uucp.my-friendly-isp.com
- O nome do sistema UUCP
Testando a conta passo a passo
O UUCP sobre o TCP/IP utiliza o porto TCP 540 e pode, assim testar
facilmente a sua conta antes de entrar, propriamente na configura��o do
seu sistema UUCP. Assim assegura-se que o seu ISP n�o cometeu erros e que
voc� possui os IDs e passwords correctos. Corra o comando:
telnet uucp.my-friendly-isp.com 540
Obter� algo do g�nero:
Trying 1.2.3.42...
Connected to uucp.my-friendly-isp.com
Escape character is '^]'.
login:
Digite o nome de login e password:
Trying 1.2.3.42...
Connected to uucp.my-friendly-isp.com
Escape character is '^]'.
login: linux
Password: tux.1234
Shere=mfic
Depois de um login com sucesso o outro lado responde com "Shere" o que
corresponde ao sistema seguido do nome do sistema remoto (verifique
novamente os dados do seu ISP).
Para terminar a liga��o use crtl-] e de seguida digite "q" na linha de
comandos do telnet:
^]
telnet> q
Connection closed.
Agora sabe que a sua conta est� configurado correctamente.
Configurando o seu sistema UUCP
Para receber (e finalmente, enviar) mail via UUCP voc� precisa de p�r
os dados correctos nos ficheiros de configura��o do UUCP. Estes
ficheiros s�o encontrados normalmente em /etc/uucp. Precisa de
criar/editar as linhas seguintes:
- call -- Este ficheiro cont�m o login/password
- sys -- Este ficheiro define o modo de ligar-se a um sistema. Ou seja
configura-o para usar o TCP/IP
- port -- define, essencialmente o uso do porto 540 para liga��es tcp.
- config -- ficheiro global de configura��o
Todos os ficheiros devem pertencer ao utilizador uucp e ao grupo uucp. O
ficheiro n�o deve ser permiss�vel de leitura (chmod 640 call).
Os ficheiros de log, normalmente, s�o escritos em /var/log/uucp/ e /var/spool/uucp/
devendo conter um direct�rio com o nome do sistema remoto. Certifique-se
que ambos s�o permiss�veis de escrita para o utilizador uucp.
call
# call file
# The format is just remote-system-name login-name password.
mfic linux tux.1234
port
# port file
# No need to change this
type tcp
port tcp
service 540
sys
# sys file
# defines information about the remote system
# system name of your ISP:
system mfic
# the server of your ISP:
address uucp.my-friendly-isp.com
# do not change the next 3 lines, see documentation of Tailer UUCP
# for details
time Any 2
port tcp
chat-timeout 60
# allowed commands:
commands rmail
# take the password and user name from the call file:
call-login *
call-password *
# do not change the next line:
chat ogin: \L assword: \P
#
config
# The config file just defines the path names
# of the other files and directories as well as your
# system name.
# Your system name:
nodename oblelix
# max number of request from other systems to execute in parallel:
max-uuxqts 2
# The UUCP spool directory
spool /var/spool/uucp
# The other fields are usually already compiled into
# as defaults:
# pubdir /var/spool/uucppublic
# logfile /var/log/uucp/Log
# statfile /var/log/uucp/Stats
# debugfile /var/log/uucp/Debug
# callfile /etc/uucp/call
# ....
Depois de guardar os ficheiros de configura��o corra o comando "uuchk". Que
se encontra, provavelmente na sbin: /usr/sbin/uuchk
A sa�da � um resumo da sua configura��o incluindo alguns valores por
omiss�o que n�o definiu. O nome da m�quina do seu servidor ISP,
uucp.my-friendly-isp.com no nosso exemplo, aparece como "phone number":
Phone number uucp.my-friendly-isp.com
Isto parece estranho mas est� correcto para o UUCP sobre o TCP/IP.
Verifique, especialmente que todos os direct�rios, ficheiros de log,
ficheiros de debug etc est�o a apontar para o s�tio correcto e pertencem ao
utilizador uucp.
Por agora, devia ser capaz de receber mail via UUCP, mas o seu agente de
transporte de mail local (MTA=mail transport agent) precisa ainda saber de
que est� permitido a suportar o mail para o dom�nio registado perante o
ISP. No nosso caso o dom�nio � miller.my-friendly-isp.com. A configura��o
deste dom�nio depende do seu MTA. No sendmail precisa de escrever o
miller.my-friendly-isp.com numa s� linha no ficheiro /etc/sendmail.cw:
# sendmail.cw define the domains for which we handle mail
miller.my-friendly-isp.com
Agora est� preparado para testar a recep��o de mail atrav�s de UUCP. O
envio de mails n�o funcionar� porque o sendmail ainda n�o est� totalmente
configurado.
Corra
/usr/sbin/uucico -x 11 -S mfic
o mfic representa o nome do sistema UUCP do my-friendly-isp.com.
Com uma segunda janela de terminal e observe o resultado com o comando
"tail -f /var/log/uucp/Debug".
O "-x 11" especifica o n�vel mais alto de debug e s� deveria ser usado em
testes. Ver� todos os detalhes do protocolo UUCP. Verifique se existem
erros. Se no fim obtiver algo do tipo
uucico mfic - (2001-06-22 20:20:57.73 1020) Call complete (31 seconds 42835
bytes 1381 bps)
ent�o tudo correu bem. Felicita��es!
Corra o comando "uulog". Este imprimir� um resumo mais compresso acerca
dos mails recebidos atrav�s de UUCP/rmail.
Configurando o sendmail para enviar e-mail atrav�s do UUCP
O Sendmail utiliza um pr�-processador m4 com base na configura��o do
sistema. Outros sistemas de mail, como o postfix utilizam ficheiros de
configura��o de f�cil leitura o que n�o constitui problema para a sua
edi��o. Eu estou a utilizar o sendmail, da� que descreva a minha
experi�ncia com o mesmo. � bem-vinda a adi��o de informa��o acerca de um MTA
diferente na p�gina de respostas abaixo. Constatei que o postfix s� requer
a edi��o do ficheiro transport/transport.db e de uma defini��o do uucp no
ficheiro master.cf, parece-me que � s� isto contudo n�o tenho muita
experi�ncia com o postfix.
A configura��o do sistema m4 pode n�o vir inclu�da nos mesmos pacotes que o
pr�prio sendmail. Verifique os CDs da sua distribui��o, pois pode precisar
de instalar um pacote com o nome de "sendmail-cf".
Crie um novo ficheiro sendmail-uucp.mc no direct�rio de configura��o do sendmail
(talvez /usr/lib/sendmail-cf/cf):
#divert(-1)
# `This is config sends outgoing mail via uucp using /usr/bin/uux
#
# to generate a sendmail.cf out of this .mc file use the sendmail sources
# and run m4 thisfile.mc > sendmail.cf.'
divert(0)
include(`../m4/cf.m4')
VERSIONID(`UUCP, Jan 28 2001, without DNS')
undefine(`BITNET_RELAY')
undefine(`DECNET_RELAY')
undefine(`UUCP_RELAY')
OSTYPE(`linux')
MASQUERADE_AS(miller.my-friendly-isp.com)
MASQUERADE_DOMAIN(localdomain)
MASQUERADE_DOMAIN(localhost)
# ` add any local hostnames here:'
MASQUERADE_DOMAIN(philosophus)
# ` needed if you use an internal domain that does not exist: '
FEATURE(`masquerade_envelope')
FEATURE(always_add_domain)
# ` read allowed domains from cw file: '
FEATURE(use_cw_file)
FEATURE(local_procmail)
# `important for uucp:'
FEATURE(accept_unresolvable_domains)dnl
# `the /etc/passwd entry: mail:*:8:12:mail:/var/spool/mail:'
define(`confDEF_USER_ID',``8:12'')
define(`confSAFE_QUEUE',`True')
define(`confDELIVERY_MODE',`background')dnl
# 'replace mfic by the UUCP system name of your ISP:'
define(`SMART_HOST',uucp-uudom:mfic)dnl
define(`confSERVICE_SWITCH_FILE',/etc/service.switch)dnl
define(`confHOSTS_FILE',/etc/hosts)dnl
define(`UUCP_MAILER_MAX',1024000)dnl
MAILER(procmail)dnl
MAILER(local)dnl
MAILER(smtp)dnl
MAILER(uucp)dnl
Adapte o ficheiro � sua situa��o e compile-o com o comando:
m4 sendmail-uucp.mc > sendmail.cf
Copie o ficheiro sendmail.cf para /etc e reinicie o sendmail com
/etc/rc.d/init.d/sendmail restart
O caminho da script de arranque diz respeito �s distribui��es redhat e
mandrake, sendo diferente para a SuSE, Debian etc...
No ficheiro /etc/service.switch devia usar:
hosts files
aliases files
Agora envie um E-mail a algu�m. Pode fazer isto com o seu programa de mail
favorito ou directamente no unix atrav�s do comando:
echo "hello john, just testing..." | Mail [email protected]
Este mail n�o � enviado directamente para fora. Em vez disso ficar� na fila
de espera do sistema UUCP. Deve conseguir v�-la se correr:
uustat -a
o uustat apresentar�:
mfic.CRJjd4uAAAPs mfic joe 07-24 20:19 Executing rmail [email protected]
(sending 50 bytes)
A seguir corra
/usr/sbin/uucico -x 11 -S mfic
o mfic � de novo o nome do sistema UUCP do my-friendly-isp.com.
Pode observar o ficheiro de Debug e ver que o mail est� a ser enviado.
Automatizando
Crie a seguinte script /usr/bin/uumail:
#!/bin/sh
hostn=uucp.my-friendly-isp.com
# first check that the server of my ISP is reachable.
# This requires a more recent version of ping where you can
# specify the timeout:
if ping -w 3 -qn -c 1 $hostn > /dev/null ; then
/usr/sbin/uucico -S mfic
#sleep 1
#uulog -s mfic -5
else
echo "ERROR: $hostn is down"
exit 1
fi
Torne a script execut�vel com "chmod 755 /usr/bin/uumail" e corra-a
manualmente para verificar se funciona.
Para trocar os e-mails automaticamente sempre que estiver online adicione a
linha /usr/bin/uumail ao ficheiro /etc/ppp/ip-up.
Ok, e � isto. O seu sistema de mail est� activo e a correr.
Coisas a fazer
O sistema de mail est� totalmente configurado. Todos os utilizadores
(/etc/passwd, comando adduser) poder�o de uma forma autom�tica enviar e
receber mail.
O mail ser� arquivado nos direct�rios de spool tradicionais, sobre
/var/spool/mail e pode ser lido localmente. Se quiser que o utilizador seja
capaz de ler o mail atrav�s dos protocolos pop3 ou imap, precisa de
instalar um pacote com o nome de "imap" e arrancar com os dem�nios
/usr/sbin/imapd e /usr/sbin/ipop3d
No ficheiro /etc/inetd.conf descomente as seguintes linhas, para os
iniciar:
pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
imap stream tcp nowait root /usr/sbin/tcpd imapd
Se tiver o xinetd ent�o precisa de criar ficheiros apropriados para este
servi�o (veja tamb�m a LinuxFocus
artigo 175 acerca desta mat�ria).
Lembre-se de conceder acesso no ficheiro /etc/hosts.allow se o utilizador
acede ao mail atrav�s de outra m�quina na sua rede local (LAN):
# hosts.allow , tcp wrapper config file
# anybody can get access to imap:
imapd: ALL
# pop3 is only allowed from 2 hosts:
ipop3d: 10.0.0.1, 10.0.0.2, 127.0.0.1
Encontrando um ISP
Encontrar um bom e confiante Internet Service Provider para o UUCP �, por
vezes dif�cil visto que a maioria dos ISP de destino s�o
Mr. Noclue Windowspreinstalled.
Conhe�o 2 ISPs bons na Alemanha que oferecem E-mail sobre o UUCP:
Ambos s�o organiza��es e voc� basicamente junta-se � organiza��o para
utilizar este servi�o. Os Pre�os est�o entre os 11 e 20 Euros por M�s.
Na LinuxFocus.org tamb�m fornecemos e-mail sobre o UUCP para um n�mero
limitado de f�s amigos do Linux, se se juntar � nossa organiza��o e nos
suportar financeiramente e/ou se trabalhar connosco regularmente.
Contacte-me se estiver interessado.
Uma boa maneira de encontrar um ISP razo�vel no seu pa�s pode ser atrav�s
de uma pesquisa no Google ou outros motores de pesquisa. Quanto com menos
clientes os ISPs contarem maior ser� a probabilidade de oferecerem e-mail
sobre o UUCP como um produto.
Refer�ncias
- O UUCP HOWTO
como publicado pela linuxdoc.org
- The Tailer UUCP documenta��o (mais do que
300K de html)