Sie sind auf Seite 1von 38

CURSO LINUX

Mdulo Servios Internet

por

Celso Kopp Webber

Curso Linux

SUMRIO
1 INTRO U!"O####################################################################################################################1 $ INT%RN%T &%MON 'IN%T (###########################################################################################$

2.1 Configurando o inetd...............................................................................................................................................2 2.2 O Arquivo services...................................................................................................................................................4 2.3 Reinicializando o inetd............................................................................................................................................5

) *T+ &N,NIMO '&NON-MOUS *T+(################################################################################.


3.1 Criando um Servidor de F ! An"nimo................................................................................................................#

/ S%R0I OR WWW 'WORL

WI % W%1(#######################################################################12

4.1 Configurando um Servidor $$$......................................................................................................................1% 4.1.1 httpd.conf ........................................................................................................................................................11 4.1.2 srm.conf ...........................................................................................................................................................15 4.1.3 access.conf ......................................................................................................................................................18 4.1.4 mime.types ......................................................................................................................................................19

3 S%N M&IL ######################################################################################################################$1


5.1 O&'(es ....................................................................................................................................................................21 5.2 Aliases.....................................................................................................................................................................22 5.3 Sendmail.cf.............................................................................................................................................................22 5.3.1 Estrutura Geral.................................................................................................................................................23 5.3.2 Configura o do sendmail ! Comandos...........................................................................................................24 5.3.2.1 Comando de "efini o de #acro ! "......................................................................................................24 5.3.2.2 Condicionais.............................................................................................................................................2$ 5.3.2.3 Comandos de "efini o de Classe ! C % &................................................................................................2$ 5.3.2.4 Comando 'ara (etar )p o ! )...............................................................................................................2* 5.3.2.5 "efinindo +su,rios Confi,-eis ! ...........................................................................................................28 5.3.2.$ "efinindo 'reced/ncia de #ail ! '..........................................................................................................28

Mdulo Servios Internet

Curso Linux
5.3.2.* "efinindo Ca0ealhos ! 1........................................................................................................................28 5.3.2.8 "efinindo #ailers ! #..............................................................................................................................29 5.3.2.9 2egras de 2eescrita de Endereos ! 2.....................................................................................................33 5.3.2.13 Comando 2uleset ! (..............................................................................................................................31

4 %X%RC5CIOS####################################################################################################################)$ . 1I1LIO6R&*I&################################################################################################################))

ii

Mdulo Servios Internet

Curso Linux

INTRO U!"O

"a mesma forma 4ue um sistema operacional sem aplicati-os 5teis 4ue rodem so0re ele perde seu -alor% uma rede tam06m precisa oferecer ser-ios. 7 ar4uitetura .C'89'% utili:ada na 9nternet de-e grande parte de seu sucesso ; disponi0ilidade de ser-ios di-ersos% e tam06m de-ido ; facilidade de criar no-os ser-ios e protocolos. Em -,rios sistemas% alguns ser-ios possuem a nature:a particular de serem utili:ados apenas esporadicamente. Entretanto% manter um processo < daemon= em background rodando todo o tempo por um ser-io raramente utili:ado pode ser dispendioso 4uanto aos recursos da m,4uina% principalmente no 4ue se refere ; utili:a o de mem>ria. (e considerarmos 4ue e?istem -,rios ser-ios 4ue se en4uadram nesta situa o% o resultado 6 um ser-idor com 0oa parte de sua mem>ria utili:ada% sem no entanto estar atendendo re4uisi@es pela rede 4ue gerem esta carga. )s sistemas +A9B tradicionalmente resol-em este pro0lema com um super ser-idor% chamado inetd <9nternet daemon=. Com o inetd% ao in-6s de manter rodando di-ersos ser-ios na m,4uina% um 5nico processo% o inetd% fica escutando por cone?@es -indas da rede nas portas especCficas dos ser-ios implementados <e?D porta 23 para o telnet% porta 21 para o ft&% etc.=. 7ssim 4ue um pedido de cone? o chega% o inetd dispara o daemon correspondente ao ser-io% repassando a ele a cone? o rec6m!aceita. Em outros casos% 4uando temos ser-ios 4ue s o utili:ados com fre4E/ncia% 6 necess,rio manter os daemons correspondentes rodando o tempo na m,4uina% de forma independente do inetd. Aestes casos o inetd 6 configurado para n o escutar na porta especCfica do ser-io% e o daemon do ser-io 6 e?ecutado independentemente% sendo respons,-el por escutar e aceitar suas pr>prias cone?@es em sua porta especCfica. Este o caso de 0oa parte dos ser-idores )))% 4ue normalmente de-em responder rapidamente a re4uisi@es por uma p,gina na rede% e o overhead de dispara um no-o processo -ia inetd a cada pedido por uma p,gina ou figura de uma p,gina% tornaria o ser-io lento demais nos tempos de resposta deseFados. #esmo sistemas operacionais n o!+A9B seguem uma a0ordagem semelhante <-ide o caso do #icrosoft GindoHs A.=% onde um super ser-idor 6 respons,-el por atender os di-ersos ser-ios mais simples% e os ser-ios mais comple?os s o atendidos por processos e?ecutados de forma independente. Ieremos a seguir como configurar o inetd% 0em como configurar os principais ser-ios usados em uma rede .C'89'D F ! e F ! An"nimo% elnet% $$$ <Gorld Gide Ge0= e *+mail.

Mdulo Servios Internet

Curso Linux

INT%RN%T

&%MON 'IN%T (

inetd 6 um daemon 4ue gerencia outros daemons. Ele dispara os daemons clientes 4uanto rece0e solicita@es de seus ser-ios e permite 4ue eles terminem sua e?ecu o 4uando aca0arem de atender aos ser-ios solicitados. 'ara tra0alhar so0 a dire o do inetd% os clientes de-em o0ser-ar algumas con-en@es especiais. ) inetd tra0alha apenas com daemons 4ue fornecem ser-ios para a rede. 7 fim de desco0rir 4uando algu6m est, tentando acessar algum de seus clientes% o inetd se associa ;s portas de rede 4ue normalmente seriam gerenciadas pelos daemons clientes <4ue agora est o inati-os=. Juando ocorre uma cone? o% o inetd dispara o daemon apropriado e conecta seus canais de 98) padr o ; porta de rede. 7 maioria dos daemons pode ser usada tanto na forma tradicional% na 4ual eles s o disparados uma 5nica -e: e continuam a e?ecutar at6 4ue o sistema seFa desligado < shutdown=% ou com o inetd. Aa -erdade% a maioria dos daemons 4ue prestam ser-ios de rede s o disparados pelo inetd. ) telnetd% ser-idor 4ue suporta o protocolo de terminal -irtual .EKAE.% 6 um e?emplo. 7 configura o necess,ria para se disponi0ili:ar um ser-io -ia inetd 6 feita num 5nico ar4ui-o% o ,etc,inetd.conf.

$#1

Con7i8ur9ndo o inetd

) inetd usa um ar4ui-o de configura o <geralmente ,etc,inetd.conf% mas algumas -e:es pode ser ,usr,etc,inetd.conf ou ,etc,servers= 4ue determina 4uais s o as portas de rede 4ue ele de-e gerenciar. ) formato deste ar4ui-o 6 o mesmo em todas as plataformasD
# comentarios nome tipo protocolo modo usuario daemon argumentos

)0ser-e 4ue no ar4ui-o inetd.conf% linhas 4ue comeam com o caractere cer4uilha < L = s o consideradas coment,rios. "a mesma forma% 4uando o caractere cer4uilha 6 encontrado em uma linha% da4uele ponto at6 o final da linha 6 tam06m considerado um coment,rio. .odos os campos s o o0rigat>rios. )0ser-e 4ue o parMmetro argumentos especifica um argumento a ser passado para o daemon. Aem todos os daemons s o construCdos para aceitarem argumentos% ou ;s -e:es os argumentos aceitos ser-em apenas para depura o do programa. Como o campo 6 o0rigat>rio% sempre 4ue n o for necess,rio passar argumento algum para o daemon% utili:a!se como argumento o pr>prio nome do daemon% sem incluir o caminho de diret>rios para o e?ecut,-el.

Mdulo Servios Internet

Curso Linux
IeFamos um e?emplo para o ser-idor telnet e outros ser-iosD
# /etc/inetd.conf # Execute kill 1 ftp stream telnet stream mountd/1 stream mountd/1 dgram Configurao do daemon inetd. <pid-do-inted> apos modificar este ar ui!o. tcp no"ait root /usr/s#in/in.ftpd tcp no"ait root /usr/s#in/in.telnetd rpc/tcp "ait root /etc/mountd mountd rpc/udp "ait root /etc/mountd mountd -l -a in.telnetd

)s significados dos campos de uma entrada do inetd.conf% da es4uerda para a direita% s o descritos a seguirD Cam&o nome Significado ) nome de um ser-io. Aomes de ser-ios s o mapeados para n5meros de porta% atra-6s do ar4ui-o ,etc,services <para ser-ios .C' e +"'= ou do daemon &ortma& <para ser-ios 4ue usam 2'C=. (er-ios 2'C < Remote Procedure Call= s o identificados por nomes na forma nome8n5mero e pela designa o r&c na terceira coluna. Ao e?emplo apresentado anteriormente% as 5ltimas duas linhas s o ser-ios 2'C. "etermina o tipo de socNet 4ue o ser-io -ai usarD stream% dgram ou ra). Em geral% stream 6 usado com ser-ios C! <orientados a cone? o=% dgram 6 usado com ser-ios -.! <ser-ios n o orientados a cone? o= e ra) para ser-ios de datagramas 9' diretos <este tipo raramente 6 -isto=. ) e?emplo anterior mostra 4ue o telnetd usa um socket do tipo stream. 9dentifica o protocolo de comunica o usado pelo ser-io. )s tipos disponC-eis est o listados no ar4ui-o ,etc,&rotocols. ) protocolo 6 4uase sempre tc& ou ud&. (er-ios 2'C acrescentam r&c, antes do tipo do protocolo% como mostrado nas 5ltimas duas linhas do e?emplo. ) -alor deste campo pode ser tanto )ait 4uanto no)ait. Geralmente% ser-idores 4ue usam ser-ios de datagrama re4uerem )ait% e ser-idores 4ue usam ser-ios de stream re4uerem no)ait. (e o modo 6 )ait% o inetd de-e esperar 4ue o ser-idor li0ere o socket antes de esperar por mais cone?@es com este socket. (e o modo 6 no)ait% o inetd pode esperar por mais pedidos de cone? o com este socket imediatamente. 9dentifica o nome do usu,rio 4ue 6 respons,-el pela e?ecu o do daemon. Ao e?emplo% o telnetd est, e?ecutando como root. 9dentifica o caminho completo do daemon 4ue ser, disparado pelo inetd. Ao e?emplo% o telnetd se encontra no diret>rio ,usr,s/in. "etermina os argumentos 4ue de-em ser passados para o daemon 4uando ele 6 disparado. 7 lista de argumentos -,lidos para cada programa est, documentada nas man pages dos programas. Ao e?emplo% apenas o nome do daemon <telnetd= 6 usado.

tipo

protocolo

modo

usuario daemon argumento s

) ar4ui-o ,etc,&rotocols 6 consultado para 4ue o sistema sai0a o n5mero correspondente ao nome especificado no terceiro campo do ar4ui-o ,etc,inetd.conf. Este ar4ui-o raramente precisa ser modificado% pois protocolos neste nC-el% como .C' e +"'% dificilmente s o acrescentados. 7ssim% os sistemas +A9B F, instalam um ar4ui-o ,etc,&rotocols ade4uado% como mostra o e?emploD
ip icmp $ 1 %& %C(& # internet protocol' pseudo protocol num#er # internet control message protocol

Mdulo Servios Internet

Curso Linux
igmp tcp egp udp ospf ipip encap ) + 1/ -2 27 2%*(& ,C& E*& 01& 34&5%*& %&%& E:C9& # # # # # # # %nternet *roup (anagement transmission control protocol exterior gate"a. protocol user datagram protocol 3pen 46ortest &at6 5irst %*& 8et 9not6er %& encapsulation 8et 9not6er %& encapsulation

$#$

O &r:uivo servi;es

'ara identificar as portas associadas a um determinado nome <1O campo campo do ar4ui-o inetd.conf= de ser-io% um ar4ui-o foi definido para este mapeamento% estando locali:ado em ,etc,services. P interessante notar 4ue outros sistemas operacionais tam06m usam este mesmo ar4ui-o para mapear nomes de ser-ios a portas especCficas. Ao #icrosoft GindoHs A.% por e?emplo% este ar4ui-o est, em 0S1stemRoot02S3S *4322.R56*RS2* C% onde 0S1stemRoot0 6 a -ari,-el de am0iente 4ue o GindoHs A. aFusta para apontar para o diret>rio 0ase do sistema operacional% geralmente C72$588 . Aeste mesmo diret>rio% o GindoHs A. mant6m os ar4ui-os 9osts% net)or:s e &rotocols% e4ui-alentes aos do +A9B% geralmente locali:ados so0 o diret>rio ,etc. Cada entrada do ar4ui-o ,etc,services possui o seguinte formatoD
nome porta/protocolo sinonimo1 sinonimo) ... # comentarios

Aote 4ue neste ar4ui-o% da mesma forma 4ue em outros ar4ui-os +A9B% te?tos precedidos de cer4uilha < L = s o coment,rios. Este ar4ui-o 6 usado por -,rias rotinas de 0i0liotecas 4ue mapeiam nomes de ser-ios em n5meros de portas. 'or e?emplo% 4uando -oc/ digita o comandoD
frajola$ telnet piupiu smtp

o n5mero da porta para o ser-io smt& 6 procurado no ar4ui-o services. Em seguida o comando telnet ir, fa:er uma cone? o na porta correspondente <neste caso 25% como mostra o e?emplo a0ai?o=% com a m,4uina &iu&iu. 7 maioria dos sistemas F, -em configurado com os ser-ios mais usados. "esta forma% -oc/ precisar, editar o ar4ui-o services apenas se adicionar um no-o ser-io. ) ar4ui-o services 6 usado apenas para registrar ser-ios .C'89'. 9nforma@es similares para ser-ios 0aseados em 2'C s o registradas em um ar4ui-o de configura o separado% chamado ,etc,r&cD
# /etc/rpc 1efine mapeamentos de portas ;&C para nomes nfs 1$$$$< nfsprog .pser! 1$$$$7 .pprog mountd 1$$$$= mount s6o"mount .p#ind 1$$$$/

IeFamos um e?emplo do ar4ui-o ,etc,servicesD


ftp-data ftp telnet smtp domain domain """ """ pop-< pop-< )$/tcp )1/tcp )</tcp )=/tcp =</tcp =</udp -$/tcp -$/udp 11$/tcp 11$/udp

mail nameser!er nameser!er 6ttp

# name-domain ser!er # >orld>ide>e# ?,,& # &3& !ersion <

Mdulo Servios Internet

Curso Linux
sunrpc sunrpc net#ios-ns net#ios-ns net#ios-dgm net#ios-dgm net#ios-ssn net#ios-ssn imap) imap) snmp snmp-trap cmip-man cmip-man cmip-agent cmip-agent 6ttps 6ttps 111/tcp 111/udp 1<//tcp 1<//udp 1<-/tcp 1<-/udp 1<2/tcp 1<2/udp 17</tcp 17</udp 1+1/udp 1+)/udp 1+</tcp 1+</udp 1+7/tcp 1+7/udp 77</tcp 77</udp portmapper portmapper # ;&C 7.$ portmapper ,C& # ;&C 7.$ portmapper 01& # :E,@%34 :ame 4er!ice # :E,@%34 1atagram 4er!ice # :E,@%34 session ser!ice imap imap snmptrap # %nterim (ail 9ccess &roto # 4imple :et (gmt &roto # ,raps for 4:(& # %43 mgmt o!er %& AC(3,B

# (Com # (Com

) significado dos campos 6 apresentado a seguirD Cam&o nome porta Significado 9ndica o nome sim0>lico do ser-io <o nome 4ue usado no ar4ui-o inetd.conf=. ) n5mero da porta pela 4ual o ser-io responde aos pedidos de cone? o. (e o ser-io 6 gerenciado pelo inetd% esta 6 a porta 4ue o inetd -ai esperar os pedidos de cone?@es. )s n5meros das portas n o s o ar0itr,rios. .odas as m,4uinas da rede de-em concordar so0re 4uais ser-ios de-em estar associados a 4uais portas% caso contr,rio a re4uisi o de ser-io ser, direcionada para a porta errada. (e -oc/ est, criando um ser-io especCfico do seu site% escolha um n5mero 0em alto para a porta <na ordem de milhares=% 4ue n o esteFa listado no ar4ui-o services <portas de n5mero menor 4ue 1324 est o reser-adas para o sistema=. 9ndica o protocolo usado pelo ser-io <na pr,tica% 6 sempre tcp ou udp=. (e um ser-io usa tanto .C' 4uanto +"'% de-e ser incluCda uma linha para cada configura o <no e?emplo% o ser-io time ilustra 0em esta situa o=. Especifica nomes adicionais para um ser-io <no e?emplo% o ser-io smt& pode ser referenciado tam06m como mail=. +sado para fa:er 4ual4uer coment,rio so0re o ser-io.

protocolo

sinonimos coment,rio s

$#)

Reini;i9li<9ndo o inetd

7s mudanas feitas no ar4ui-o de configura o < inetd.conf= n o t/m efeito at6 4ue o inetd leia no-amente este ar4ui-o. Ioc/ pode fa:er com 4ue o inetd leia o ar4ui-o de configura o mandando um sinal de hangup <Nill !1+' inetd_pid= para ele. 2ece0endo este sinal% o inetd ir, reler o ar4ui-o e efetuar as mudanas. Ioc/ de-e inspecionar os ar4ui-os de log a fim de -erificar se as suas mudanas n o produ:iram nenhum erro <o inetd reporta os erros atra-6s do s1slog=. &inalmente% -oc/ de-e testar cada um dos no-os ser-ios para ter certe:a de 4ue est o funcionando
Mdulo Servios Internet

Curso Linux
corretamente. ) e?emplo ilustra o inetd sendo reiniciali:ado. )0ser-e 4ue o PID do inetd foi o0tido com o comando &sD
CrootDpiupiu /etcE# ps -ax Fgrep inetd <=/ G 4 $H$$ inetd 1$$2 pts/$ 4 $H$$ grep inetd CrootDpiupiu /etcE# kill -1 <=/

Mdulo Servios Internet

Curso Linux

*T+ &N,NIMO '&NON-MOUS *T+(

) comando ftp pro-/ uma maneira simples de transferir ar4ui-os na rede. #uitas -e:es 6 necess,rio ter uma conta na m,4uina remota para poder copiar ar4ui-os% mas muitos ser-idores de ftp permitem 4ue -oc/ se conecte usando o nome Qanon1mous;% ao in-6s de seu nome de usu,rio <nome de login= atual. Aa maioria dos sites% 4ual4uer senha 6 aceitaR 6 de costume usar o endereo de e-mail como senha% para 4ue o administrador do site sai0a 4uem est, acessando o ser-idor. 7lguns ser-idores e?igem 4ue o endereo de e-mail fornecido como senha seFa um endereo -,lido <possa ser -erificado -ia (#.'=. ftp anSnimo 6 uma das maneiras mais comuns para se distri0uir programas e documentos na 9nternet. ) e?emplo a seguir ilustra uma sess o ftp com o ser-idor mercurio.inf.ufsc.0r.
mercurio% ftp mercurio.inf.ufsc.#r Connected to mercurio.inf.ufsc.br. 220 mercurio FTP server (ftpd-wu ersion !."#$ read%. &ame (mercurio.inf.ufsc.br'marc(e)$' anon.mous **" +uest lo,in o-. send e-mail address as password. Password' 2*0 +uest lo,in o-. access restrictions appl%. ftp/ cd pu# 200 C12 command successful. ftp/ dir 200 P34T command successful. "00 3penin, 56C77 mode data connection for 8bin8ls. total "9 dr-:r-:r-: 2 ftp daemon 0"2 5pr 2 "#'0; 74 dr-:r-:r-: ; labcas daemon 0"2 3ct 2; "<<0 =abC56 drw:r-:r-: "* ftp daemon "0*! >a% 2< "#'"" contrib dr-:r-:r-: 0 ftp daemon 0"2 5pr * "#'"0 doc drw:r-:r-: 2 raul daemon 0"2 >a% *" "<'"" e:-alunos -rw-r--r-- " root daemon !0<0 >ar 20 "2'0; ls-l4.,) dr-:r-:r-: 2 ftp daemon 0"2 3ct "< "<<0 os2 dr-:r-:r-: 0 ftp daemon 0"2 6ep ! "<<0 pc drw:rw:r-: * secc(i pet 0"2 >a% 2; "9'"# pet drw:r-:r-: 2 cp,cc daemon 0"2 Feb "2 20'*0 pos-,raduacao dr-:r-:r-: "2 ftp daemon 0"2 >ar "9 22'#2 uni: 22! Transfer complete. !9! b%tes received in 0."* seconds (0.* ?b%tes8s$ ftp/ #in 200 T%pe set to 7. ftp/ get ls-l;.gI 200 P34T command successful. "00 3penin, @7&54A mode data connection for ls-l4.,) (!0<0 b%tes$. 22! Transfer complete. local' ls-l4.,) remote' ls-l4.,) !0<0 b%tes received in 0.0#2 seconds (".0eB02 ?b%tes8s$ ftp/ #.e 22" +oodb%e.

&igura 3.1 ! E?emplo de uma sess o de ftp anSnimo Aeste e?emplo% o usu,rio conectou!se ao ser-idor mercurio.inf.ufsc.br usando anonymous como nome de usu,rio e marche !inf.ufsc.br como senha% 4ue 6 seu real endereo de e!mail. Com &.' anSnimo ele pode conectar!se% mesmo sem ter uma conta no ser-idor mercurio.inf.ufsc.br. (uas a@es est o limitadas% mas ele pode copiar certos ar4ui-os do sistema. Ele passou para o diret>rio pub e copiou o ar4ui-o pub8ls-lR.g . ) ar4ui-o foi copiado no modo 0in,rio% pois 6 um ar4ui-o compactado.

Mdulo Servios Internet

Curso Linux )#1 Cri9ndo u= Servidor de *T+ &n>ni=o

7 fim de compartilhar seus programas -ia ftp anSnimo% -oc/ de-e criar uma conta para o usu,rio ftp% configurar seu diret>rio home e o daemon ftp% o ftpd. ) ftpd 6 gerenciado pelo inetd e% portanto% de-e e?istir uma entrada com sua configura o nos ar4ui-os /etc/inetd.conf e /etc/ser!ices. Juando 6 feita uma cone? o com o ftpd% ele fa: uma chamada de sistema c6root para 4ue os ar4ui-os 4ue est o fora do caminho Jftp fi4uem in-isC-eis e inacessC-eis ao usu,rio 4ue aca0a de se conectar. Este procedimento aumenta a segurana% pois o ftpd de-e e?ecutar como root para poder manipular portas pri-ilegiadas. 'ara criar um ser-idor de &.' anSnimo% siga os passosD 7dicione o usu,rio ftp ao ar4ui-o /etc/pass"d <seu ar4ui-o de senhas=R Crie um diret>rio home para o ftp tendo como dono o pr>prio usu,rio ftp ou o usu,rio root. Este diret>rio n o de-e ter permiss o de escrita para ningu6mR Crie um diret>rio #in% a0ai?o do diret>rio ftp% tendo como dono o usu,rio root e sem permiss o de escrita para ningu6m. ) comando ls de-e ser copiado para este diret>rio e suas permiss@es mudadas para 111 <apenas e?ecu o para todos=R (e o programa ls 4ue -oc/ est, copiando 6 ligado dinamicamente com as 0i0liotecas de sistema% crie tam06m um diret>rio li#% a0ai?o do diret>rio ftp% com as mesmas permiss@es do diret>rio #in. Aeste diret>rio copie as 0i0liotecas utili:adas pelo programa ls. 7s 0i0liotecas geralmente utili:adas pelos programas de forma dinMmica% s o a li#c </li#/li#c-K.so e /li#/li#c.so.K=% e a ld </li#/ld-K=. Crie um diret>rio etc% a0ai?o do diret>rio ftp% tendo como dono o usu,rio root e sem permiss o de escrita para ningu6m. Crie os ar4ui-os pass"d e group neste diret>rio e mude suas permiss@es para 444 <apenas leitura para todos=R Crie um diret>rio pu#% a0ai?o do diret>rio ftp% tendo como dono o usu,rio root e mude suas permiss@es para 555 <leitura% e?ecu o para todos=. Este 6 o diret>rio onde os ar4ui-os ser o disponi0ili:ados para os usu,rios. (e -oc/ 4uiser 4ue os usu,rios possam arma:enar ar4ui-os em seu ser-idor% crie um diret>rio para isso% geralmente chamado contri# ou incoming% e com as permiss@es *** <leitura% escrita% e?ecu o para todos=. ) e?emplo 4ue segue mostra cada um destes passos. 'rimeiro crie o diret>rio home ftp e todos os su0!diret>rios. Em nosso e?emplo% n>s criamos o diret>rio ftp a0ai?o do diret>rio /6ome/mercurio.
mercurioC mercurioC mercurioC mercurioC mercurioC mkdir /6ome/mercurio/ftp cd /6ome/mercurio/ftp mkdir #in mkdir etc mkdir pu#

"epois copie o ar4ui-o ls para o diret>rio /6ome/mercurio/ftp/#in e mude as permiss@es para 111 <apenas e?ecu o para todos=. Estas permiss@es aumentam a segurana% pois proC0em 4ue os usu,rios copiem o ar4ui-o 0in,rio.
mercurioC cp /#in/ls /6ome/mercurio/ftp/#in mercurioC c6mod 111 /6ome/mercurio/ftp/#in/ls

Em seguida crie um grupo 4ue ser, usado apenas pelo ftp anSnimo. Aenhum outro usu,rio de-e fa:er parte deste grupo. Ao e?emplo% criamos o ar4ui-o chamado
? Mdulo Servios Internet

Curso Linux
/6ome/mercurio/ftp/etc/group 4ue cont6m uma 5nica entrada.
anon.mousHKH1=H

Crie um usu,rio chamado ftp% adicionando uma entrada para este usu,rio no ar4ui-o /etc/pass"d. Especifi4ue como shell um ar4ui-o 4ue n o e?ista <no e?emplo % /#in/false= para este usu,rio% por 4uest@es de segurana. Aem todos os daemons aceitam um shell in-,lido% como o /#in/false. Aa d5-ida 6 sempre 0om fa:er umt este. Crie tam06m um ar4ui-o chamado /6ome/mercurio/ftp/etc/pass"d 4ue cont6m apenas a entrada ftp. 7 entrada 4ue de-e ser adicionada em am0os os ar4ui-os 6D
ftpHKH1=H1=H9non.mous ftpH/6ome/mercurio/ftpH/#in/false

Estes e?emplos usaram o n5mero 15 para identificar o gid e o uid% mas s o apenas e?emplos. Ioc/ de-e escolher um gid e um uid 4ue n o esteFa sendo usado por ningu6m mais no seu sistema. 7p>s ter criado os dois ar4ui-os mude suas permiss@es para 444.
mercurioC c6mod 777 /6ome/mercurio/ftp/etc/pass"d mercurioC c6mod 777 /6ome/mercurio/ftp/etc/group

#ude o nome do dono e as permiss@es para cada um dos diret>rios criados. 7 informa o de dono dos diret>rios /6ome/mercurio/ftp/etc e /6ome/mercurio/ftp/#in n o precisa ser alterada% pois estes diret>rios foram criados pelo usu,rio root.
mercurioC mercurioC mercurioC mercurioC mercurioC mercurioC mercurioC mercurioC cd /6ome/mercurio/ftp c6o"n ftp pu# c6mod === pu# c6mod === #in c6mod === etc cd .. c6o"n ftp ftp c6mod === ftp

Aeste momento% -oc/ pode copiar os ar4ui-os 4ue deseFa disponi0ili:ar para o diret>rio /6ome/mercurio/ftp/pu#. 'ara pre-enir 4ue estes ar4ui-os seFa remo-idos por usu,rios remotos% mude suas permiss@es para $44 e certifi4ue!se 4ue eles n o pertencem ao usu,rio ftp. 7p>s fa:er todas as configura@es necess,rias para seu sistema% teste o no-o ser-io antes de anunci,!lo. Ierifi4ue se seu ser-idor pro-/ o ser-io de ftp anSnimo% sem fornecer Qser-iosT adicionais 4ue -oc/ n o deseFa <como permitir 4ue usu,rios anSnimos acessem ar4ui-os 4ue esteFam fora do diret>rio home do ftp=. ftp anSnimo pode apresentar riscos potenciais de segurana% por isso 6 necess,rio 0astante cuidado na sua instala o.

Mdulo Servios Internet

Curso Linux

S%R0I OR WWW 'WORL

WI % W%1(

) daemon 6ttpd permite 4ue seu site se torne um ser-idor GGG de hiperdocumentos. ) 6ttpd 6 respons,-el por atender ;s re4uisi@es dos clientes% e pode lhes en-iar te?tos% figuras e sons. ) 6ttpd pode e?ecutar na forma tradicional <standalone= ou como um processo gerenciado pelo inetd <6 a forma mais utili:ada para disparar o 6ttpd=.

/#1

Con7i8ur9ndo u= Servidor WWW

7ntes de mais nada 6 necess,rio 4ue -oc/ o0tenha algum ser-idor GGG e o descompacte no diret>rio 4ue melhor lhe con-ier. )s ser-idores est o disponC-eis na 9nternet tanto na -ers o compilada 4uanto na -ers o n o compilada <o c>digo fonte est, incluCdo e de-e ser compilado=. Aote 4ue nem todos os desen-ol-edores de ser-idores disponi0ili:am o c>digo fonteR neste caso% procure por uma -ers o compilada. Uasicamente todos os ser-idores t/m um conFunto de diret>rios e ar4ui-os 4ue s o iguais ou% pelo menos% e?ercem a mesma fun o. 7p>s a descompacta o do ser-idor 6 comum o0ter um conFunto de diret>rios 4ue inclui o cgi-#in% cgi-src% conf% icons% logs e support. 7 seguir% temos a descri o do conte5do de cada um destes diret>rios. .iret<rio cgi!0in Conte=do Aeste diret>rio ficam todos os scripts C>5 <Common "ateway Interface= 4ue ser o referenciados pelos clientes. Cada no-o script criado pelo administrador do ser-io de-e ser colocado neste diret>rio. Cont6m o c>digo fonte dos scripts C>5 disponC-eis Funto com o ser-idor. Este 6 o diret>rio 4ue cont6m todos os ar4ui-os de configura o do ser-idor <os mais importantes=. ( o elesD 6ttpd.conf-dist% access.conf-dist% srm.conf-dist% mime.t.pes. )s ar4ui-os com a e?tens o -dist de-em ser copiados para 6ttpd.conf% access.conf% srm.conf% respecti-amente% antes de serem alterados. Cont6m as imagens 4ue s o usadas pelo ser-idor para formar p,ginas 1.#K de a-iso aos clientes <geralmente 4uando acontecem erros=% entre outros. Este diret>rio cont6m os ar4ui-os 4ue catalogam os acessos feitos ao ser-idor e os erros 4ue ocorrem na intera o dos clientes com o ser-idor. Estes ar4ui-os s o 5teis para 4ue o webmaster <administrador do ser-io= possa monitorar o funcionamento do ser-io. Ao ar4ui-o accessLlog est o catalogados todos os acessos e atitudes dos clientes. Ao ar4ui-o errorLlog est o as mensagens de erros pro-ocados pelos clientes na tentati-as de interagir e na-egar pelas p,ginas do ser-idor. 7tra-6s das mensagens deste ar4ui-o pode!se tam06m desco0rir moti-os para o mau funcionamento do ser-idor. 7 maioria dos ser-idores possui um ar4ui-o chamado 6ttpd.pid% no 4ual 6 cadastrado o pid do 6ttpd <na hora em 4ue ele 6 disparado=. ) pid pode ser usado para 4ue o administrador reiniciali:e ou termine a e?ecu o do daemon. +m sinal de hangup <Nill !1+' pid= fa: com 4ue o daemon releia os ar4ui-os de configura o.
Mdulo Servios Internet

cgi!src conf

icons logs

12

Curso Linux
support Aeste diret>rio e?istem alguns programas 4ue d o suporte para a manuten o do ser-io. Eles fa:em uso de ar4ui-os% como accessLlog e errorLlog para e?trair informa@es 5teis ao webmaster no gerenciamento do sistema. Geralmente apresentam alguns dados estatCsticos so0re o funcionamento do ser-io% permitindo 4ue o webmaster tome atitudes para melhorar o seu desempenho e uso. .a0ela 4.1 ! Conte5do dos diret>rios comuns dos -,rios ser-idores GGG

7ten o especial tem 4ue ser dada aos ar4ui-os de configura o do ser-idor GGG% locali:ados no diret>rio conf. )s itens 4.1.1 a 4.1.4 descre-em os ar4ui-os de configura o e as op@es mais comuns a serem configuradas em cada um.

/#1#1 Attpd#;on7 Este 6 o principal ar4ui-o de configura o do ser-idor. Ele cont6m direti-as 4ue controlam a opera o do daemon. IeFamos o conte5do do 6ttpd.conf 4ue acompanha o ser-idor A&ac9e <o mais usado na 9nternet atualmente=.
C T(is is t(e main server confi,uration file. 6ee D4= (ttp'88www.apac(e.or,8 C for instructions. C 2o &3T simpl% read t(e instructions in (ere wit(out understandin, C w(at t(e% do. if %ou are unsure consult t(e online docs. Aou (ave been C warned. C 3ri,inall% b% 4ob >cCool C 6erverT%pe is eit(er inetd. or standalone. 6erverT%pe standalone C 7f %ou are runnin, from inetd. ,o to E6erver5dminE. C Port' T(e port t(e standalone listens to. For ports F "02*. %ou will C need (ttpd to be run as root initiall%. Port 90 C 7f %ou wis( (ttpd to run as a different user or ,roup. %ou must run C (ttpd as root initiall% and it will switc(. C Dser8+roup' T(e name (or Cnumber$ of t(e user8,roup to run (ttpd as. C 3n 6C3 (32T *$ use Dser nouser and +roup no,roup Dser nobod% +roup C-" C 6erver5dmin' Aour address. w(ere problems wit( t(e server s(ould be C e-mailed. 6erver5dmin %ouG%our.address C 6erver4oot' T(e director% t(e serverHs confi,. error. and lo, files C are -ept in 6erver4oot 8usr8local8etc8(ttpd C C C C @ind5ddress' Aou can support virtual (osts wit( t(is option. T(is option is used to tell t(e server w(ic( 7P address to listen to. 7t can eit(er contain EIE. an 7P address. or a full% Jualified 7nternet domain name. 6ee also t(e irtualKost directive.

C@ind5ddress I C Lrror=o,' T(e location of t(e error lo, file. 7f t(is does not start

Mdulo Servios Internet

11

Curso Linux
C wit( 8. 6erver4oot is prepended to it. Lrror=o, lo,s8errorMlo, C Transfer=o,' T(e location of t(e transfer lo, file. 7f t(is does not C start wit( 8. 6erver4oot is prepended to it. Transfer=o, lo,s8accessMlo, C PidFile' T(e file t(e server s(ould lo, its pid to PidFile lo,s8(ttpd.pid C 6core@oardFile' T(e file used for temporar% internal data about t(e server 6core@oardFile lo,s8apac(eMruntimeMstatus C C C C C C C 6erver&ame allows %ou to set a (ost name w(ic( is sent bac- to clients for %our server if itHs different t(an t(e one t(e pro,ram would ,et (i.e. use EwwwE instead of t(e (ostHs real name$. &ote' Aou cannot just invent (ost names and (ope t(e% wor-. T(e name %ou define (ere must be a valid 2&6 name for %our (ost. 7f %ou donHt understand t(is. as- %our networ- administrator.

C6erver&ame new.(ost.name C C C C Cac(e&e,otiated2ocs' @% default. 5pac(e sends Pra,ma' no-cac(e wit( eac( document t(at was ne,otiated on t(e basis of content. T(is as-s pro:% servers not to cac(e t(e document. Dncommentin, t(e followin, line disables t(is be(avior. and pro:ies will be allowed to cac(e t(e documents.

CCac(e&e,otiated2ocs C Timeout' T(e number of seconds before receives and sends time out C n.b. t(e compiled default is "200 (20 minutes N$ Timeout #00 C C C C C C 6erver-pool si)e re,ulation. 4at(er t(an ma-in, %ou ,uess (ow man% server processes %ou need. 5pac(e d%namicall% adapts to t(e load it sees --- t(at is. it tries to maintain enou,( server processes to (andle t(e current load. plus a few spare servers to (andle transient load spi-es (e.,.. multiple simultaneous reJuests from a sin,le &etscape browser$.

C 7t does t(is b% periodicall% c(ec-in, (ow man% servers are waitin, C for a reJuest. 7f t(ere are fewer t(an >in6pare6ervers. it creates C a new spare. 7f t(ere are more t(an >a:6pare6ervers. some of t(e C spares die off. T(ese values are probabl% 3? for most sites -->in6pare6ervers 0 >a:6pare6ervers "0 C &umber of servers to start --- s(ould be a reasonable ballpar- fi,ure. 6tart6ervers 0 C C C C C =imit on total number of servers runnin,. i.e.. limit on t(e number of clients w(o can simultaneousl% connect --- if t(is limit is ever reac(ed. clients will be =3C?L2 3DT. so it s(ould &3T @L 6LT T33 =31. 7t is intended mainl% as a bra-e to -eep a runawa% server from ta-in, Dni: wit( it as it spirals down...

>a:Clients "00 C >a:4eJuestsPerC(ild' t(e number of reJuests eac( c(ild process is C allowed to process before t(e c(ild dies. C T(e c(ild will e:it so as to avoid problems after prolon,ed use w(en C 5pac(e (and ma%be t(e libraries it uses$ lea-. 3n most s%stems. t(is C isnHt reall% needed. but a few (suc( as 6olaris$ do (ave notable lea-s C in t(e libraries. >a:4eJuestsPerC(ild *0 C irtualKost' 5llows t(e daemon to respond to reJuests for more t(an one

1$

Mdulo Servios Internet

Curso Linux
C server address. if %our server mac(ine is confi,ured to accept 7P pac-ets C for multiple addresses. T(is can be accomplis(ed wit( t(e ifconfi, C alias fla,. or t(rou,( -ernel patc(es li-e 7F. C 5n% (ttpd.conf or srm.conf directive ma% ,o into a C 6ee alto t(e @ind5ddress entr%. CF irtualKost (ost.foo.com/ C6erver5dmin webmasterG(ost.foo.com C2ocument4oot 8www8docs8(ost.foo.com C6erver&ame (ost.foo.com CLrror=o, lo,s8(ost.foo.com-errorMlo, CTransfer=o, lo,s8(ost.foo.com-accessMlo, CF8 irtualKost/ irtualKost command.

&igura 4.1 ! E?emplo do ar4ui-o 6ttpd.conf distri0uCdo com o ser-idor A&ac9e 7s direti-as 0,sicas 4ue de-em ser configuradas s oD Server 1&e

(inta?eD #erver$ype tipo Esta direti-a indica o modo no 4ual o ser-idor ser, e?ecutado pelo sistema. ) tipo pode serD inetd ! ) ser-idor -ai ser e?ecutado a partir do inetd. Aeste caso de-e!se incluir no ar4ui-o inetd.conf a seguinte entrada <a sinta?e das entradas do inet.conf foi e?posta no capCtulo 2=D
(ttp stream tcp nowait nobod% 8usr8local8www8apac(e 8usr8local8www8apac(e8(ttpd (ttpd -d

"e-e!se tam06m incluir no ar4ui-o services a seguinte entrada <a sinta?e das entradas foi e?posta no capCtulo 2=D
(ttp 908tcp C 6ervidor 111

7p>s terminar a configura o do ser-idor% n o es4uea de fa:er com 4ue o inetd releia o ar4ui-o de configura o <Nill !1+' inetd_pid=. standalone ! ) ser-idor -ai e?ecutar na forma tradicional. ) comando para e?ecutar o ser-idor de-e ser colocado em algum script de iniciali:a o do sistema% por e?emplo% /etc/rc.local ou /etc/rc<.d/... <para garantir 4ue o ser-io estar, disponC-el mesmo 4ue a m,4uina seFa reiniciali:ada=. 7 op o inetd 6 menos usada% pois para cada cone? o 9tt& uma no-a c>pia do ser-idor 6 criada% terminando sua e?ecu o 4uando a cone? o 6 completada. 'aga!se um preo alto por cada no-a cone? o% mas por 4uest@es de segurana alguns administradores preferem esta op o. 7 op o standalone 6 mais eficiente% pois o ser-idores 6 iniciali:ado apenas uma -e:. (e -oc/ pretende instalar o ser-idor em um site com muitos acessos% a op o standalone 6 mais ade4uada. !ort

(inta?eD Port n%mero Esta direti-a configura a porta de rede na 4ual o ser-idor -ai esperar as cone?@es. ) n5mero -aria de 3 a $5535. 7lgumas portas <a0ai?o de 1324= s o reser-adas para protocolos particulares. 7 porta padr o para o 9tt& 6 83% 4ue 6 uma porta especial. Estas portas s> podem ser usadas por processos 4ue t/m como dono o usu,rio root. )s usu,rios regulares <4ue n o o root= de-em usar portas acima de 1324. 'ara usar a porta 83 -oc/ de-e iniciali:ar o ser-idor -ia conta do root. 7p>s ter se associado ; porta e antes de aceitar re4uisi@es% o ser-idor ir, mudar seu dono para um usu,rio de menor pri-il6gio% definido pela direti-a -ser. "efinir -ser como root pode ser uma
Mdulo Servios Internet 1)

Curso Linux
falha de segurana. -ser (inta?eD &ser uid Esta direti-a define os pri-il6gios 4ue o 6ttpd ter, durante sua e?ecu o <os pri-il6gios ser o iguais aos do usu,rio uid=. uid pode ser tanto o nome de um usu,rio 4uanto o seu n5mero de identifica o <precedido do caracter L =. (e -oc/ e?ecutar o ser-idor como root% n o es4uea de configurar a direti-a &ser com um nome de usu,rio diferente de root% caso contr,rio o 6ttpd estar, e?ecutando com pri-il6gios de superusuMrio. >rou& (inta?eD "roup grupo Esta direti-a define o grupo so0 o 4ual o ser-idor ir, responder ;s re4uisi@es. ) grupo pode ser tanto o nome de um grupo 4uanto o seu n5mero de identifica o <precedido do caracter L =. 7lguns administradores usam o grupo no#od.% mas nem sempre 6 possC-el ou deseFado. ServerAdmin (inta?eD #erver'dmin e-mail Esta direti-a define o endereo e!mail 4ue o ser-idor incluir, nas mensagens de erro 4ue ele retorna para o cliente. ServerRoot (inta?eD #erverRoot diret(rio Esta direti-a informa o diret>rio onde o ser-idor est,. Geralmente% os su0!diret>rios conf/ e logs/ est o presentes neste diret>rio. Caminhos relati-os para outros ar4ui-os s o considerados relati-os a este diret>rio. *rror?og (inta?eD )rror*og nome_do_ar+uivo Esta primiti-a define o nome do ar4ui-o 4ue o ser-idor usar, para cadastrar as mensagens de erro. (e nome_do_ar+uivo n o comear com uma 0arra <8=% ent o ser, assumido 4ue ele 6 relati-o ao caminho definido em #erverRoot. ransfer?og (inta?eD $ranfer*og nome_do_ar+uivo Esta primiti-a define o nome do ar4ui-o 4ue o ser-idor usar, para cadastrar as mensagens produ:idas durante a na-ega o do cliente. 9nforma@es de recursos acessados% data e hora de um acesso especCfico s o e?emplos de mensagens cadastradas neste ar4ui-o. (e nome_do_ar+uivo n o comear com uma 0arra <8=% ent o ser, assumido 4ue ele 6 relati-o ao caminho definido em #erverRoot. !idFile (inta?eD Pid,ile nome_do_ar+uivo Esta primiti-a define o nome do ar4ui-o 4ue o ser-idor usar, para cadastrar o &id do daemon. (e nome_do_ar+uivo n o comear com uma 0arra <8=% ent o ser, assumido 4ue ele 6 relati-o ao caminho definido em #erverRoot. Esta direti-a s> 6 usada se esti-ermos e?ecutando o ser-idor no modo standalone. Server8ame (inta?eD #erver-ame nome_dom.nio_completo

1/

Mdulo Servios Internet

Curso Linux
Esta direti-a define o nome do host no 4ual o ser-idor est, e?ecutando. nome_dom.nio_completo de-e ser um nome cadastrado no .8S do sistema. (e n o for especificado% o ser-idor tenta dedu:i!lo a partir de seu pr>prio endereo 9'. 'or e?emplo% HHH.inf.ufsc.0r poderia ser usado como nome fictCcio% ao in-6s do nome real mercurio.inf.ufsc.0r. 4inS&areServers (inta?eD /in#pare#ervers n%mero Esta direti-a define o n5mero mCnimo de filhos do processo ser-idor 4ue de-em ficar desocupados% esperando cone?@es. (e num determinado instante e?istirem menos do 4ue n%mero processos desocupados% o processo pai cria no-os filhos% a uma ta?a m,?ima de 1 por segundo. 4a@S&areServers (inta?eD /a0#pare#ervers n%mero Esta direti-a define o n5mero m,?imo de filhos do processo ser-idor 4ue de-em ficar desocupados% esperando cone?@es. (e num determinado instante e?istirem mais do 4ue n%mero processos desocupados% o processo pai ir, matar os e?cedentes. StartServers (inta?eD #tart#ervers n%mero Esta direti-a define o n5mero de processos filhos 4ue ser o criados 4uando o ser-idor for iniciali:ado. Como o n5mero de processos 6 controlado dinamicamente% dependendo da demanda% n o e?iste ra:@es muito fortes para se preocupar com esta direti-a. 4a@Clients (inta?eD /a0Clients n%mero Esta direti-a define o n5mero m,?imo de re4uisi@es simultMneas 4ue podem ser tratadas pelo ser-idor. (er o criados no m,?imo n%mero processos filhos do ser-idor. /#1#$ sr=#;on7 Aeste ar4ui-o 6 definido o espao de nomes do seu ser-idor GGG 4ue ser, -isto pelos usu,rios. ( o definidas algumas informa@es importantes% tais como aliases para scripts e diret>rios% nome da home page e nome do diret>rio home do usu,rio. IeFamos o conte5do do srm.conf 4ue acompanha o ser-idor A&ac9e.
C 1it( t(is document. %ou define t(e name space t(at users see of %our (ttp C server. T(is file also defines server settin,s w(ic( affect (ow reJuests are C serviced. and (ow results s(ould be formatted. C 6ee t(e tutorials at (ttp'88www.apac(e.or,8 for C more information. C 3ri,inall% b% 4ob >cCoolO 5dapted for 5pac(e C 2ocument4oot' T(e director% out of w(ic( %ou will serve %our C documents. @% default. all reJuests are ta-en from t(is director%. but C s%mbolic lin-s and aliases ma% be used to point to ot(er locations. 2ocument4oot 8usr8local8etc8(ttpd8(tdocs C Dser2ir' T(e name of t(e director% w(ic( is appended onto a userHs (ome C director% if a Puser reJuest is recieved. Dser2ir publicM(tml C 2irector%7nde:' &ame of t(e file or files to use as a pre-written KT>= C director% inde:. 6eparate multiple entries wit( spaces. 2irector%7nde: inde:.(tml C Fanc%7nde:in, is w(et(er %ou want fanc% director% inde:in, or standard

Mdulo Servios Internet

13

Curso Linux
Fanc%7nde:in, on C 5dd7con tells t(e server w(ic( icon to s(ow for different files or filename C e:tensions 5dd7con@%Lncodin, (C>P.8icons8compressed.,if$ :-compress :-,)ip 5dd7con@%T%pe (TQT.8icons8te:t.,if$ te:t8I 5dd7con@%T%pe (7>+.8icons8ima,e2.,if$ ima,e8I 5dd7con@%T%pe (6&2.8icons8sound2.,if$ audio8I 5dd7con@%T%pe ( 72.8icons8movie.,if$ video8I 5dd7con 8icons8te:t.,if .ps .s(tml 5dd7con 8icons8movie.,if .mp, .Jt 5dd7con 8icons8binar%.,if .bin 5dd7con 8icons8burst.,if .wrl 5dd7con 8icons8bin(e:.,if .(J: .sit 5dd7con 8icons8uu.,if .uu 5dd7con 8icons8tar.,if .tar .tar 5dd7con 8icons8bac-.,if .. 5dd7con 8icons8dir.,if RR274LCT34ARR 5dd7con 8icons8blan-.,if RR@=5&?7C3&RR C 2efault7con is w(ic( icon to s(ow for files w(ic( do not (ave an icon C e:plicitl% set. 2efault7con 8icons8un-nown.,if C 5dd2escription allows %ou to place a s(ort description after a file in C server-,enerated inde:es. C Format' 5dd2escription EdescriptionE filename C 4eadme&ame is t(e name of t(e 4L52>L file t(e server will loo- for b% C default. Format' 4eadme&ame name C C T(e server will first loo- for name.(tml. include it if found. and it will C t(en loo- for name and include it as plainte:t if found. C C Keader&ame is t(e name of a file w(ic( s(ould be prepended to C director% inde:es. 4eadme&ame 4L52>L Keader&ame KL52L4 C 7nde:7,nore is a set of filenames w(ic( director% inde:in, s(ould i,nore C Format' 7nde:7,nore name" name2... 7nde:7,nore I8.SSI IP IC I8KL52L4I I84L52>LI I84C6 C 5ccessFile&ame' T(e name of t(e file to loo- for in eac( director% C for access control information. 5ccessFile&ame .(taccess C 2efaultT%pe is t(e default >7>L t%pe for documents w(ic( t(e server C cannot find t(e t%pe of from filename e:tensions. 2efaultT%pe te:t8plain C 5ddLncodin, allows %ou to (ave certain browsers (>osaic8Q 2."B$ uncompress C information on t(e fl%. &ote' &ot all browsers support t(is. 5ddLncodin, :-compress T 5ddLncodin, :-,)ip ,) C 5dd=an,ua,e allows %ou to specif% t(e lan,ua,e of a document. Aou can C t(en use content ne,otiation to ,ive a browser a file in a lan,ua,e C it can understand. &ote t(at t(e suffi: does not (ave to be t(e same C as t(e lan,ua,e -e%word --- t(ose wit( documents in Polis( (w(ose C net-standard lan,ua,e code is pl$ ma% wis( to use E5dd=an,ua,e pl .poE C to avoid t(e ambi,uit% wit( t(e common suffi: for perl scripts. 5dd=an,ua,e en .en 5dd=an,ua,e fr .fr 5dd=an,ua,e de .de 5dd=an,ua,e da .da 5dd=an,ua,e el .el 5dd=an,ua,e it .it

14

Mdulo Servios Internet

Curso Linux
C =an,ua,ePriorit% allows %ou to ,ive precedence to some lan,ua,es C in case of a tie durin, content ne,otiation. C Uust list t(e lan,ua,es in decreasin, order of preference. =an,ua,ePriorit% en fr de C C C C 4edirect allows %ou to tell clients about documents w(ic( used to e:ist in %our serverHs namespace. but do not an%more. T(is allows %ou to tell t(e clients w(ere to loo- for t(e relocated document. Format' 4edirect fa-ename url

C 5liases' 5dd (ere as man% aliases as %ou need (wit( no limit$. T(e format is C 5lias fa-ename realname 5lias 8icons8 8usr8local8etc8(ttpd8icons8 C 6cript5lias' T(is controls w(ic( directories contain server scripts. C Format' 6cript5lias fa-ename realname 6cript5lias 8c,i-bin8 8usr8local8etc8(ttpd8c,i-bin8 C 7f %ou want to use server side includes. or C+7 outside C 6cript5liased directories. uncomment t(e followin, lines. C 5ddT%pe allows %ou to twea- mime.t%pes wit(out actuall% editin, it. or to C ma-e certain files to be certain t%pes. C Format' 5ddT%pe t%pe8subt%pe e:t" C5ddT%pe te:t8:-server-parsed-(tml .s(tml C5ddT%pe application8:-(ttpd-c,i .c,i C For server-side includes w(ic( will be treated as KT>=* C for purposes of content ne,otiation. use C5ddT%pe te:t8:-server-parsed-(tml* .s(tml* C Dncomment t(e followin, line to enable 5pac(eHs send-asis KTTP file C feature C5ddT%pe (ttpd8send-as-is asis C To enable t%pe maps. %ou mi,(t want to use C5ddT%pe application8:-t%pe-map var C 7f %ou wis( to use server-parsed ima,emap files. use C5ddT%pe application8:-(ttpd-imap map C Customi)able error response (5pac(e st%le$ C t(ese come in t(ree flavors C C "$ plain te:t CLrror2ocument 000 ET(e server made a boo boo. C n.b. t(e (E$ mar-s it as te:t. it does not ,et output C C 2$ local redirects CLrror2ocument #0# 8missin,.(tml C to redirect to local url 8missin,.(tml CLrror2ocument #0# 8c,i-bin8missin,M(andler.pl C n.b. can redirect to a script or a document usin, server-side-includes. C C *$ e:ternal redirects CLrror2ocument #02 (ttp'88ot(er.server.com8subscriptionMinfo.(tml

&igura 4.2 ! E?emplo do ar4ui-o srm.conf distri0uCdo com o ser-idor A&ac9e 7s direti-as 0,sicas 4ue de-em ser configuradas s oD .ocumentRoot

(inta?eD DocumentRoot nome_do_diret(rio Esta direti-a define o diret>rio a partir do 4ual estar o os ar4ui-os ser-idos pelo 6ttpd. ) ser-idor adiciona o caminho da -R? re4uisitado ao nome_do_diret(rio para formar o caminho do
Mdulo Servios Internet 1.

Curso Linux
documento. 'or e?emplo% se DocumentRoot for 8usr8www8(tdocs um acesso ao documento (ttp'88www.inf.ufsc.br8inde:.(tml far, refer/ncia ao caminho 8usr8www8(tdocs8inde:.(tml. -ser.ir (inta?eD &serDir diret(rio Esta direti-a define o diret>rio 4ue 6 adicionado ao diret>rio home do usu,rio 4uando o ser-idor rece0er uma re4uisi o do tipo Auser. 'or e?emplo% se &serDir for publicM(tml um acesso ao documento (ttp'88www.inf.ufsc.br8Pmarc(e)8timao.(tml far, refer/ncia ao caminho 8(ome8vesta8marc(e)8publicM(tml8timao.(tml% onde 8(ome8vesta8marc(e)8 6 o diret>rio home do usu,rio marc9ez. .irector15nde@ (inta?eD DirectoryInde0 nome_do_ar+uivo Esta direti-a define ar4ui-o 4ue o ser-idor tentar, acessar se nenhum nome for especificado. 'or e?emplo% se DirectoryInde0 for inde:.(tml% um acesso ao documento (ttp'88www.inf.ufsc.br8 far, refer/ncia a um ar4ui-o chamado inde:.(tml% locali:ado dentro do diret>rio especificado por DocumentRoot. .efault 1&e (inta?eD Default$ype tipo Vs -e:es o ser-idor rece0e re4uisi@es de documentos cuFos tipos n o podem ser determinados pelos #9#E types do ser-idor. Aestes casos o ser-idor ir, usar o Default$ype para responder ao cliente. Alias (inta?eD 'lias nome_fict.cio nome_real Esta direti-a define apelidos para diret>rios. 'or e?emplo% se configurarmos um apelido com sendo 5lias 8times8 8usr8www8times8 um acesso ao documento (ttp'88www.inf.ufsc.br8times8internacional.(tml far, refer/ncia ao caminho 8usr8www8times8internacional.(tml. Scri&tAlias (inta?eD #cript'lias nome_fict.cio nome_real Esta direti-a define apelidos para os diret>rios 4ue podem conter scripts 4ue ser o e?ecutados pelo ser-idor. 2estringir o n5mero de diret>rios 4ue podem conter scripts 6 uma 0oa medida para e-itar possC-eis pro0lemas de segurana <causados por scripts Qmal intencionadosT=. Add 1&e (inta?eD 'dd$ype tipo1subtipo e0tens2o Esta direti-a permite 4ue -oc/ adicione no-os tipos% sem ter 4ue editar o ar4ui-o mime.t.pes% ou 4ue -oc/ diga 4ue Qcertos ar4ui-os ser o de certos tiposT. 'or e?emplo% se -oc/ deseFa 4ue scripts locali:ados fora dos diret>rios definidos pela direti-a #cript'lias possam ser e?ecutados pelo ser-idor% adicione um no-o tipo usando a direti-a 5ddT%pe application8:(ttpd-c,i .c,i. (e -oc/ fi:er esta escolha% tenha em mente os pro0lemas de segurana 4ue tal a0ertura pode tra:er. /#1#) 9;;ess#;on7 Aeste ar4ui-o 6 definido a configura o glo0al de acesso aos diret>rios. +ma informa o
Mdulo Servios Internet

1?

Curso Linux
importante a configurar 6 a do diret>rio rai: dos documentos. IeFamos o conte5do do ar4ui-o access.conf 4ue acompanha o ser-idor A&ac9e.
C access.conf' +lobal access confi,uration C 3nline docs at (ttp'88www.apac(e.or,8 C T(is file defines server settin,s w(ic( affect w(ic( t%pes of services C are allowed. and in w(at circumstances. C Lac( director% to w(ic( 5pac(e (as access. can be confi,ured wit( respect C to w(ic( services and features are allowed and8or disabled in t(at C director% (and its subdirectories$. C 3ri,inall% b% 4ob >cCool C 8usr8local8etc8(ttpd8 s(ould be c(an,ed to w(atever %ou set 6erver4oot to. F2irector% 8usr8local8etc8(ttpd8c,i-bin/ 3ptions 7nde:es Follow6%m=in-s F82irector%/ C T(is s(ould be c(an,ed to w(atever %ou set 2ocument4oot to. F2irector% 8usr8local8etc8(ttpd8(tdocs/ C T(is ma% also be E&oneE. E5llE. or an% combination of E7nde:esE. C E7ncludesE. EFollow6%m=in-sE. EL:ecC+7E. or E>ulti iewsE. C &ote t(at E>ulti iewsE must be named Ie:plicitl%I --- E3ptions 5llE C doesnHt ,ive it to %ou (or at least. not %et$. 3ptions 7nde:es Follow6%m=in-s C C C C C T(is option allows %ou to turn on t(e Q@itKac- be(avior. w(ic( allows %ou to ma-e te:t8(tml server-parsed b% activatin, t(e owner : bit wit( c(mod. T(is directive ma% be used w(erever 3ptions ma%. and (as t(ree possible ar,uments' 3ff. 3n or Full. 7f set to full. 5pac(e will also add a =ast->odified (eader to t(e document if t(e ,roup : bit is set.

C Dnless t(e server (as been compiled wit( -2Q@7TK5C?. t(is function is C off b% default. To use. uncomment t(e followin, line' CQ@itKac- Full C T(is controls w(ic( options t(e .(taccess files in directories can C override. Can also be E&oneE. or an% combination of E3ptionsE. EFile7nfoE. C E5ut(Confi,E. and E=imitE 5llow3verride 5ll C Controls w(o can ,et stuff from t(is server. F=imit +LT/ order allow.den% allow from all F8=imit/ F82irector%/ C Aou ma% place an% ot(er directories %ou wis( to (ave access C information for after t(is one.

&igura 4.3 ! E?emplo do ar4ui-o access.conf distri0uCdo com o ser-idor A&ac9e Aeste ar4ui-o -oc/ precisa mudar 0asicamente duas ocorr/ncias da direti-a <1irector.>. Aa primeira ocorr/ncia% configure o mesmo diret>rio 4ue foi definido em #erverRoot e na segunda ocorr/ncia configure o mesmo diret>rio 4ue foi definido em DocumentRoot. /#1#/ =i=e#tBpes Aeste ar4ui-o s o definidos o tipo e su0!tipo das mCdias en-ol-idas nas transa@es 4ue en-ol-em o 1..'. 7inda s o definidas as e?tens@es de cada tipo e su0!tipo de mCdia. )s tipos e
Mdulo Servios Internet

1@

Curso Linux
su0!tipos das mCdias en-ol-idas s o definidos pelo 2&C 1521.

$2

Mdulo Servios Internet

Curso Linux
if V -f 8usr8lib8sendmail WO t(en (cd 8usr8spool8mJueueO rm -f lfI$ 8usr8lib8sendmail -bd -J"(O ec(o -n X sendmailY / 8dev8console

S%N M&IL
1, -,rias formas de entrega de mail% dependendo do endereo do destinat,rio. 'ara poupar o
send=9il - envia mail atravs da Internet Sinopse: /usr/lib/sendmail [ -bd ] [ -bi ] [ -bt ] [ -bv ] [ -bq ] [ -q[ time ] ] [ address ]

usu,rio da preocupa o de 4ual m6todo correto utili:ar% h, o programa sendmail. Ele rece0e a mensagem do usu,rio% interpreta o e!mail do destinat,rio e ent o a en-ia da forma necess,ria. "a mesma maneira procede com mensagens rece0idas da rede. 7l6m disto% sendmail possui as seguintes caracterCsticasD rece0e e en-ia S4 ! mail <9nternet=R implementa o mecanismo de aliases% 4ue permite redirecionamentos de mensagens e a cria o de listas de discuss o. .odas as mensagens rece0idas para um usu,rio s o arma:enadas em sua cai?a postal% normalmente locali:ada em ,var,s&ool,mail,usuario. Aote 4ue para cada usu,rio do sistema 4ue F, rece0eu algum e!mail% um ar4ui-o com o nome igual ao seu login e?iste no diret>rio ,var,s&ool,mail% correspondendo e?atamente ; sua cai?a postal. +sado sem flags% sendmail l/ a entrada padr o at6 encontrar E)& ou uma linha com apenas um ponto% e en-ia a mensagem escrita para todos os endereos listados. 'ara rece0er S4 ! mail da rede% e?ecuta!se sendmail como daemon durante a iniciali:a o do sistema. Ele passa a o0ser-ar a porta 25 e processar mensagens 4ue chegam. +m e?emplo de como disparar sendmailD

Aeste e?emplo% primeiro se -erifica a e?ist/ncia do programa sendmail% remo-em!se os ar4ui-os de lock da fila de mail e ent o e?ecuta!se sendmail como daemon <!0d=% determinando 4ue a fila de mail de-e ser processada a cada hora <!41h=.

3#1

OpCes
7s op@es de e?ecu o do sendmail s oD

Mdulo Servios Internet

$1

Curso Linux
alias' -#d alias' 'include'8pat(name e:ecuta destinat[rioV.destinat[rio....W como daemon. e:perando por cone:Zes 6>TP -#iH refa) aliases -# ' imprime um sum[rio da fila -#t' e:ecuta em modo de teste de endere\o. Lste modo l] endere\os e mostra os passos da determina\^o do endere\o finalO usado para depura\^o. -#!' verifica apenas a validade de e-mails. sem enviar a mensa,em. - CtimeE' processa a fila de mail a cada intervalo time.

3#$

&li9ses
#ail aliasing 6 um mecanismo 4ue pro-/D Aomes alternati-os <nicknames= para usu,riosR 2edirecionamento de mails para outros hostsR Kistas de discuss o <mailing lists=. (ua importMncia 6 tal 4ue% sem ele% sendmail n o conseguiria agir como ser-idor central de

mail. 7liases s o definidos primariamente no ar4ui-o 1etc1aliases. Em sistemas 4ue usam A9(% se encontram no mapa aliases% gerado em grande parte das -e:es a partir do ar4ui-o 1var1etc1aliases. ) formato desses ar4ui-os 6 como segueD

QaliasT 6 o nome a 4uem o mail 6 endereado% e Q destinat3rioT o endereo de 4uem de-e rece0/!lo. Qdestinat3rioT pode ser o login de um usu,rio% outro alias ou um e!mail completo. 'ode ha-er m5ltiplos destinat,rios para um mesmo alias% o 4ue permite criar listas de discuss o. P possC-el repassar a mensagem para um programa% da seguinte formaD

alias' X_ pro,ramaY

'ode!se pegar os destinat,rios de um ar4ui-oD


sendmail usa aliases no formato "U#. 7ssim% de-e ser e?ecutado o comando ne"aliases para transformar o ar4ui-o de aliases para "U#. Este comando 6 apenas um link para o pr>prio sendmailD 4ue se e?ecuta com a op o !/i.

3#)

Send=9il#;7

) ar4ui-o de configura o do sendmail se chama 1etc1sendmail.cf. Ele cont6m a maior parte da configura o do sendmail% incluindo a informa o necess,ria para rotear mail entre os programas de mail dos usu,rios e a4ueles 4ue ir o efeti-amente entregar as mensagens. Esse ar4ui-o tem tr/s fun@es principaisD "efinir o am0iente do sendmailR

$$

Mdulo Servios Internet

Curso Linux
2eescre-er endereos na sinta?e apropriada para o sistema receptorR #apeia endereos em instru@es necess,rias para entregar o mail. I,rios comandos s o necess,rios para implantar todas essas fun@esD #acros e op@es para definir o am0ienteR 2egras de reescrita para rescre-er endereos de e!mailR "efini@es de mailers para indicar as instru@es de entrega do mail. 7 sinta?e desse ar4ui-o 6 complicada. &eli:mente pode!se e-itar ter 4ue escre-/!lo. +ma forma 6 locali:ando um ar4ui-o com uma configura o semelhante ; do sistema em 4ue se deseFa criar o sendmail.cf e copi,!lo para o diret>rio 1etc% alterando o 4ue mais for necess,rio. E?emplos de sendmail.cf podem ser o0tidos por F ! anon1mous de ftp.uu.net% no ar4ui-o mail1sendmail1sendmail.n.tar.4% sendo QnT a -ers o do sendmail. Esse ar4ui-o inclui tam06m manuais de instala o% opera o e funcionamento do sendmail. Em rela o aos e?emplos% estes diferem 0asicamente no princCpio e no fim% e praticamente tudo 4ue possa se precisar alterar reside nas duas primeiras se@es. )utra forma de gerar o sendmail.cf 6 com o programa =/% um processador de linguagem de macros. ) sendmail de domCnio p50lico% 4ue pode ser o0tido por ft& anonymous de ftp.cr-df.rnp.br no diret>rio pub1packages1sendmail% usa esse processo% fornecendo as macros 4ue de-em ser agrupadas e definidas para compor o sendmail.cf Wunto ;s fontes do sendmail e das macros -/m instru@es simples e detalhadas so0re as macros e como defini!las. 3#)#1 %strutur9 6er9l ) sendmail.cf 6 di-idido nas seguintes se@esD 5nforma'Bo localD define informa@es especCficas para o host. 'or e?emplo% s o definidos o nome na 9nternet% o nome ++C' e cone?@es ++C' <caso haFam=. Esta se o 6 normalmente alteradaR 4acros geraisD definem a informa o relati-a ; rede local. 'or e?emplo% o domCnio% o nome oficial do host <completoXnomeYdomCnio=% e os relay hosts <m,4uinas encarregadas de en-iar mensagens 4ue n o possam ser en-iadas pelo mailer local=. Esta se o tam06m 6 normalmente modificadaR ClassesD define grupos de hosts ou domCnios usados para roteamento especial de mail. #odifica@es normalmente n o s o necess,riasR 6ersBoD identifica o n5mero da -ers o do sendmail.cf. "e-e!se incrementar esse n5mero a cada -e: 4ue se modifica o ar4ui-oR 4acros *s&eciaisD definem algumas macros especiais% tais como o nome 4ue o sendmail usa para se identificar 4uando ocorrem mensagens de erro% e a mensagem 4ue 6 mostrada num login (#.'. Esta se o n o 6 alteradaR O&'(esD )p@es do sendmail 4ue normalmente n o necessitam de modifica@esR !recedCncia de mensagensD -,rios -alores de preced/ncia de mensagens. A o se modifica esta se oR -suDrios confiDveisD usu,rios 4ue t/m permiss o para so0rescre-er o endereo do remetente 4uando est o en-iando mail. 7dicionar usu,rios a esta lista 6 um pro0lema potencial de segurana. Esta se o n o se alteraR Formato dos ca/e'al9osD define o formato dos ca0ealhos 4ue o sendmail inclui nas
Mdulo Servios Internet $)

Curso Linux
mensagens% e n o necessita de modifica oR Regras de reescritaD s o as regras gerais usadas para reescre-er os endereos de mail. Esta se o s> 6 modificada para corrigir um pro0lema ou adicionar um ser-ioR 4ailersD instru@es usadas pelo sendmail para in-ocar os programas de entrega de mail corretos. 7s regras de reescrita especCficas associadas a cada mailer tam06m est o incluCdas nesta se o% 4ue normalmente n o 6 alteradaR ConEunto de regras zero Frule set zeroG D um conFunto especial de regras 4ue 6 aplicado ao endereo de entrega. Esta se o n o 6 modificada. 7 parte 4ue pode ser alterada tem sua pr>pria se oR !arte da Hrule set zero; de&endente da mDquina D s o as partes da rule set :ero especCficas ; configura o do sistema. Esta se o -aria de acordo com os mailers configurados. +m sistema 4ue entregue (#.' e ++C' ter, diferentes regras 4ue um 4ue apenas entregue ++C'. Escolhendo!se um sendmail.cf e?emplo de acordo com sua configura o poupa o tra0alho de se alterar esta se o.

Esta 6 uma estrutura geral para o sendmail.cf. 7pesar das -aria@es de cada local% algumas similaridades se mant/m D 7 informa o adapt,-el a cada host fica pro-a-elmente no inCcioR .ipos semelhantes de comandos% como de op@es e ca0ealhos% s o agrupadosR 7 parte central% a maior delas% cont6m as regras de reescritaR ) final do ar4ui-o cont6m defini@es de mailers misturadas com as regras de reescrita associadas a cada mailer. 3#)#$ Con7i8ur9Eo do send=9il F Co=9ndos
sendmail l/ 8etc8sendmail.cf cada -e: 4ue 6 disparado. 'or isto% a sinta?e do sendmail.cf 6 f,cil de ser usada pelo sendmail% e n o por um ser humano. 7 sinta?e segue a regra de 4ue o

primeiro caracter da linha 6 sempre o comando. 7 ta0ela 5.1 mostra os comandos e suas sinta?esD 8ome "efine #acro "efine Classe "efine Classe (eta )p o +su,rios Confi,-eis (eta 'reced/ncia (eta ConFunto de 2egras "efine 2egra Sinta@e .0valor Ccword56 word7...8 Fcar+uivo Oovalor user56 user7...8 !nome9n%mero Sn Fun'Bo (eta macro 0 para valor (eta classe c para word5 word7 ... Carrega classe c de ar+uivo (eta op o o para valor +su,rios confi,-eis s o user5 user7 ... (eta nome ; preced/ncia n%mero 9nicia conFunto de regras n

Rlhs rhs coment3rio 2eescre-e padr o lhs para formato rhs .a0ela 5.1 ! Comandos do sendmail

5.3.2.1 Comando de Definio de Macro - D . 6 um comando 4ue define uma macro e nela arma:ena um -alor.

$/

Mdulo Servios Internet

Curso Linux
+ma -e: definida% uma macro 6 usada para pro-er seu -alor a outros comandos do sendmail.cf e para o pr>prio sendmail. 9sto permite 4ue suas configura@es seFam reapro-eitadas por -,rios sistemas% 0astando modificar algumas macros especCficas. ) nome de uma macro pode ser 4ual4uer caractere '#CII% sendo 4ue letras min5sculas s o usadas por macros internas do sendmail. #acros definidas pelo usu,rio usam letras mai5sculas. 'ara o0ter o -alor guardado numa macro de-e!se referenci,!la por :0%onde 0 6 o nome da macro. 7 ta0ela 5.2 apresenta as macros internas a serem setadas no sendmail.cf D 8ome a 0 c d e f g h i F l n o p 4 r s t u H ? : Fun'Bo "ata de origem no formato 2&C 822 "ata corrente em formato 2&C 822 hop count D n5mero de hosts 4ue intermediam a mensagem data em formato +A9B <ctime= #ensagem de entrada (#.' endereo QfromT do remetente endereo do remetente relati-o ao destinat,rio host destinat,rio id da fila Aome oficial do domCnio deste site formato da linha QfromT do +A9B Aome do daemon <para mensagens de erro= ConFunto de operadores em endereos pid do sendmail &ormato default do endereo do remetente 'rotocolo usado Aome do host do remetente 2epresenta o num6rica da hora corrente +su,rio remetente A5mero da -ers o do sendmail Aome deste site Aome completo do remetenete "iret>rio home do destinat,rio .a0ela 5.2 ! #acros internas do sendmail.cf

Mdulo Servios Internet

$3

Curso Linux
$S:6e 2J$,$S: te:to" ($?x ($:$$. $$_ x esta`definida te:to2$. use texto1 6en^o (?|$ use texto2 Fim (?.$

5.3.2.2 Condicionais 7 condicional ser-e para testar se uma macro est, definida e associar um -alor em caso afirmati-o% ou outro em caso negati-o. 7 sinta?e completa 6D

(ua interpreta oD

E?emploD

74ui associa!se ; macro + <endereo do remetente= o endereo do remetente relati-o ao destinat,rio <g=% e mais o nome completo do remetente% caso esteFa definida a macro 0% 4ue arma:ena este -alor. 5.3.2.3 Comandos de Definio de Classe - C , F +ma classe 6 um -etor de -alores. P usada 4uando se manipula m5ltiplos -alores da mesma forma% como nomes para um host. 'ara defini!las% usam!se os comandos C e F. Como macros% classes usam caracteres como nomes% e classes de usu,rio usam letras mai5sculas. Ialores podem ser associados em uma ou mais linhas <comando C=% ou lidos de um ar4ui-o <comando F=. E?emplosD "efinindo a classe H em uma linha apenas.

Cwvenus inf inf-,w

"efinindo a classe H em m5ltiplas linhasD

Cwvenus Cwinf Cwinf-,w

"efinindo a classe H a partir do conte5do do ar4ui-o 8etc8sendmail.cHD

$4

Mdulo Servios Internet

Curso Linux
Fw8etc8sendmail.cw

5.3.2.4 Comando Para Setar O o - O Este comando O associa -alores a op@es internas do sendmail% 4ue n o s o as mesmas 4ue as op@es da linha de comando. ) -alor pode serD +ma cadeia de caracteresR +m inteiroR +m 0ooleanoR +m inter-alo de tempo. A o h, op@es criadas pelo usu,rio. 7 ta0ela 5.3 mostra as op@es internasD 8ome Afile aIc c . d/ di dq ee em e& eq e) Fn f gn Jfile 5 i ?n 40val m 8net o Kdir qn rt Sfile s Fun'Bo "efine o nome do ar4ui-o de aliases Espera - minutos por ZDZ% ent o refa: o ar4ui-o de aliases "efine o caracter de su0stitui o 0ranco Enfileira mail para mailers custosos 2efa: a 0ase de dados de aliases "istri0ui mail em background "istri0ui interati-amente "istri0ui durante o pr>?imo processamento da fila En-ia mensagens de erro por mail e sempre retorne 3 para e0it status En-ia mensagens de erro para o remetente 9mprime mensagens de erro 7penas retorna e0it status% sem mensagens de erro Escre-e mensagens de erro para o remetente (eta permiss@es n para ar4ui-os tempor,rios #ant6m linhas Q&romT ao estilo +A9B (eta o gid default n para mailers "efine o nome do ar4ui-o de help (#.' +sa o U9A" name ser-er para resol-er todos os nomes de hosts 9gnora pontos em mensagens 4ue est o chegando (eta o nC-el de logging para n (eta macro 0 para val En-ia para o remetente tam06m "efine o nome da rede 7ceita ca0ealhos no formato antigo "efine o nome do diret>rio de fila "efine um fator n usado para decidir 4uando enfileirar tra0alhos (eta inter-alo t para timeout de leitura "efine o nome do ar4ui-o de registro de estatCsticas (empre cria o ar4ui-o de fila antes de tentar distri0uir o mail

Mdulo Servios Internet

$.

Curso Linux
Precedence' , & root first-classa0 bul,special-deliver%a"00 & daemon ,bul-a-!0 & uucp &jun-a-"00

t un v $pass Ll @l 3 1n Mn zn

(eta o timeout da fila para t (eta o uid default n para mailers E?ecuta em modo de e?posi o <mostrando o 4ue est, fa:endo= "efine senha usada para depura o remota 2ecusa cone?@es (#.' se a ta?a de carga ultrapassar l mensagens na fila no 5ltimo minuto Enfileira mensagens se a ta?a de carga ultrapassar l En-ia cada tra0alho da fila em processo separado 2edu: a prioridade dos tra0alhos para n para cada destinat,rio "ecrementa em n a prioridade de um tra0alho cada -e: 4ue ele for processado &ator usado com a preced/ncia para determinar a prioridade de uma mensagem .a0ela 5.3 ! )p@es do sendmail.cf

5.3.2.5 Definindo !s"#rios Confi#$eis - % ) comando define uma lista de usu,rios 4ue podem so0rescre-er o endereo do remetente usando a flag -f do mailer. 9sto implica redu o da segurana e possi0ilidade de mails adulterados. "efini@es mais comunsD

5.3.2.& Definindo Preced'ncia de Mail - P 'reced/ncia 6 um dos fatores para associar prioridade a mensagens entrando na fila. ) comando ! define esses -alores de preced/ncia disponC-eis para os usu,rios. Juanto maior o -alor% maior a preced/ncia da mensagem% sendo o -alor default 3. 7lguns -aloresD

'ara usar este mecanismo% o usu,rio adiciona uma linha Precedence ao seu mail% como no e?emploD

5.3.2.( Definindo Ca)eal*os - + ) comando J define o formato do ca0ealho inserido nas mensagens. (eu formato 6 J seguido deD ,lags opcionais do ca0ealho delimitadas por sinais de interroga oR +m nome de ca0ealhoR "ois!pontos e um template de ca0ealho <com0ina o de te?tos e macros=. 7 fun o da flag de ca0ealho 6 controlar 4uando o ca0ealho de-e ser inserido na mensagem

$?

Mdulo Servios Internet

Curso Linux
associada a um mailer especCfico <tal mailer de-e setar uma flag de mesmo nome na sua defini o% -ista mais adiante=. Caso n o seFa especificada% o ca0ealho 6 inserido para todos mailers. Como e?emploD

?SPS4eturn-Pat(' F$ ,/ ?4eceived' $Ssfrom$s $.b% $j ($v8$T$ ?S2S4esent-2ate' $a ?S2S2ate' $a

5.3.2., Definindo Mailers - M )s comandos 4 definem os programas de entrega de mail usados pelo sendmail. 7 sinta?e 6D

(nome. bcampoavalorc

QnomeT 6 um nome ar0itr,rio usado internamente pelo sendmail para se referir a esse mailer. "ois mailers de-em ser referenciados por nomes especCficosD local <entrega de mail local=R prog <entrega de mail a programas=. 7 lista ;campo9valor< possui as caracterCsticas do mailer% e 6 separada por -Crgulas. 7 ta0ela 5.4 apresenta os campos de mailersD Cam&o Significado ComentDrio *@em&lo ! 'ath Pathname do mailer 'X80in8mail F &lags ,lags do sendmail para o mailer &Xls"&#e S (ender 2egras para endereo do remetente (X13 R 2ecipient 2egras para o destinat,rio 2X23 A 7rg) -etor de argumentos do mailer 7Xsh !c [u * Eol #tring de final!de!linha para o mailer EX\r\n 4 #a?si:e .amanho m,?imo da mensagem #X133333 .a0ela 5.4 ! Campos de mailers (e o campo ! conti-er a string 9'C% ent o sendmail 6 usado para entregar o mail -ia (#.'. ) campo F cont6m as flags usadas pelos mailers. 7s flags podem ser -istas na ta0ela 5.5. 8ome C . * e F f 9 Fun'Bo 7dicionar !dom.nio ao endereo 4ue n o tenha ! ) mailer 4uer uma linha de ca0ealho Date= 7dicionar ] para as linhas da mensagem 4ue comecem com ,rom= 9ndica 4ue 6 um mailer custoso ) mailer 4uer de uma linha de ca0ealho ,romD ) mailer aceita a flag !f de usu,rios confi,-eis #ant6m mai5sculas em nomes de hosts

Mdulo Servios Internet

$@

Curso Linux
(padr^o ; local. transforma\^o Pa8bin8mail. Farls2F>mn. coment[rio 6a"0. 4a20. 5amail -d $u

5 ? l 4 m n ! R r S s u L @

) mailer ir, falar (#.' com outro sendmail Kimita o comprimento das linhas como especificado na 2&C 821 Este 6 um mailer local ) mailer 4uer de uma linha de ca0ealho /essage-Id= ) mailer consegue en-iar para m5ltiplos usu,rios em uma transi o A o inserir uma linha ,romD no estilo +A9B na mensagem ) mailer 4uer uma linha de ca0ealho Return-PathD +sar /'I*-,R>/= return-path ao in-6s do endereo de retorno ) mailer aceita a flag !r de usu,rios confi,-eis A o resetar o userid antes de chamar o mailer 2etirar aspas do endereo antes de chamar o mailer ) mailer 4uer linha de ca0ealho ,romD no estilo +A9B #anter mai5sculas em nomes de usu,rios 9nserir um ponto no inCcio de linhas 4ue comecem com um ponto ) mailer 4uer uma linha de ca0ealho ,ull--ameD .a0ela 5.5 ! ,lags dos mailers 'or e?emplo% a defini o de mailer localD

5.3.2.- .e/ras de .eescrita de 0ndereos - . ( o o cora o do sendmail.cf% e muito consolidadas. "ificilmente um administrador precisar, alter,!las. 7 tCtulo de informa o% s o definidas porD

7 id6ia 6 procurar o padr2o no endereo processado. Juando esse padr o for encontrado% aplica!se a transforma?2o so0re o endereo. 7s ta0elas 5.$ e 5.* mostram respecti-amente os sCm0olos para procura de padr@es e transforma@es de endereos.

SNm/olo OP OQ O+ OR@ OA@ O@ O0@ OS@ O01

Significado Com0ina com :ero ou mais tokens Com0ina um ou mais tokens Com0ina com e?atamente um token Com0ina com 4ual4uer token na classe @ Com0ina com 4ual4uer token 4ue n o esteFa na classe @ Com0ina com todos os tokens na classe @ Com0ina com 4ual4uer token no mapa A9( nomeado na macro @ Com0ina com 4ual4uer token fora do mapa A9( nomeado na macro @ Com0ina com 4ual4uer token no mapa A9( 9osts./1name .a0ela 5.$ ! (Cm0olos para procura de padr@es

)2

Mdulo Servios Internet

Curso Linux
al,uem%ufscFGibm.ufsc.br/ ; $"%$2FG$@/ S$BFG$B.bitnet/ n Dse @itnet rela%

SNm/olo On OTnomeOU OVn OW O7

Significado (u0stituir token indefinido n (u0stituir nome canSnico Chamar ruleset n .erminar ruleset .erminar regra de reescrita .a0ela 5.* ! .ranforma@es de endereos

'ara ilustrar a aplica o de uma regra% assumamos 4ue o endereo a ser transformado seFa alguem!ufsc.bitnet% e ap>s algum processamento anterior torne!se alguem@!ufsc.bitnetA . 7plica! se% ent o% a seguinte regraD

) endereo com0ina com o padr o por4ue h, um ou mais tokens antes dos caracteres @! % um ou mais tokens ap>s @! % e ent o h, a se4u/ncia string.bitnetA . 7 procura do padr o resulta em dois tokens indefinidos% usados na transforma o do endereo. 7 transforma o cont6m o toNen indefinido :5% um caractere B% o toNen indefinido :7% a se4E/ncia @!% a macro C% e o caracter A. 7p>s a aplica o do padr o% :5 cont6m alguem e :7 cont6m ufsc. 7ssumindo 4ue a macro C <Uitnet relay= tenha sido definida em algum lugar do sendmail.cf como ibm.ufsc.br% o endereo ser, reescrito comoD

5.3.2.11

Comando ."leset - S

7s regras podem ser agrupadas em conFuntos <rulesets=% tendo um n5mero associado% tornando possC-el de serem referenciadas nas defini@es de mailers -istas anteriormente. ) comando S marca o inCcio de um conFunto de regras% identificando!o com um Cndice.

Cinco conFuntos <rulesets= possuem fun o especCfica e s o chamados diretamente pelo


sendmailD

Ruleset 3D ) maior e mais complicado% 6 o primeiro aplicado ao endereo% con-ertendo para a forma canSnica Qparte-local!host.dom.nioTR Ruleset %D 7plicado ap>s o 3% e somente para endereos de destinat,rios usados para entrega do mail. Gera a tripla DmailerEhostEdom.nioFG Rulesets 1 e 2D 7plicados a todos os endereos na mensagemR Ruleset 47 7plicado a todos os endereos na mensagem% tradu:indo endereos internos para e?ternos.

Mdulo Servios Internet

)1

Curso Linux

%X%RC5CIOS

1. Crie um Qser-ioT% utili:ando inetd% 4ue permita 4ue uma m,4uina remotamente conecte!se a uma porta em seu ser-idor% e o0tenha a lista de usu,rios atualmente QlogadosT no sistema. 2. Configure seu ser-idor GGG% de modo 4ue os ar4ui-os disponi0ili:ados em seu ser-idor de &.' anSnimo% seFam tam0em disponi0ili:ados -ia Ge0. 7ssim% se o ser-idor &.' est, em ftpD88ma4uina.com.0r8pu0 % o ser-idor GGG de-e acessar os mesmos ar4ui-os como httpD88ma4uina.com.0r8pu0 . 3. #ude a configuracao do ser-idor GGG para escutar na porta 83.333% -ia inetd.

)$

Mdulo Servios Internet

Curso Linux

1I1LIO6R&*I&

1. &E9.% (idnie. .C'89' ^ 7rchitecture% 'rotocols% and 9mplementation Hith 9' -$ and 9' (ecurity. 2nd. ed. #cGraH!1ill% 199$. 2. &29(C1% _llen. Essential (ystem 7dministration. 2nd. ed. )`2eilly a 7ssociates% 199$. 3. 1+A.% Craig. .C'89' AetHorN 7dministration. 2nd. ed. )`2eilly a 7ssociates% 199*. 4. AE#E.1% E.R (Ab"E2% G.R (EEU7((% (R 1E9A% .. +ni? (ystem 7dministration 1and0ooN. 2nd. ed. 'rentice!1all% 1995. 5. +"EKK% Won. 'ractical 9nternet GroupHare. )`2eilly a 7ssociates% 1999.

Mdulo Servios Internet

))

Curso Linux

"5-idas% crCticas e sugest@es so0re esta apostilaD mailtoDHe00erZsF.uni-ali.0r

)/

Mdulo Servios Internet

Das könnte Ihnen auch gefallen