Вы находитесь на странице: 1из 157

ADMINISTRAO

DE
SISTEMAS

UNIX/LINUX

Alexandre Pereira do Carmo


Rodolfo da Silva Villaca
SUMRIO

1- HISTRIA DO LINUX...................................................................................................................................................................8

2- LINUX COMO SISTEMA OPERACIONAL...........................................................................................................................9


2.1 PRINCIPAIS CARACTERSTICAS COMENTADAS NO LINUX......................................................................................................... 9
2.2 LINUX COMO SOFTWARE GRATUITO.......................................................................................................................................... 10
2.3 DOCUMENTAO DE PACOTES................................................................................................................................................... 10
2.4 COMO FAZER E FAQS.................................................................................................................................................................. 12
2.5 O COMANDO LOCATE.................................................................................................................................................................. 12
2.6 INFO................................................................................................................................................................................................ 13
2.7 LISTAS DE DISCUSSO LINUX .................................................................................................................................................... 13
3- O QUE UMA DISTRIBUIO..............................................................................................................................................14
3.1 O MESMO, PORM DIFERENTE .................................................................................................................................................... 14
3.2 A S PRINCIPAIS DISTRIBUIES ................................................................................................................................................... 14
3.3 RED HAT LINUX ........................................................................................................................................................................... 14
3.4 O QUE H DE NOVO NO RED HAT 6.0 ........................................................................................................................................ 15
4- O PC MNIMO PARA LINUX...................................................................................................................................................16
4.1 A CESSRIOS IDEAIS PARA UM SERVIDOR EM SUA INTRANET ................................................................................................ 16
4.2 VERIFICANDO A COMPATIBILIDADE DE SEU HARDWARE ....................................................................................................... 16
4.3 REGISTRANDO SUAS INFORMAES DE HARDWARE ............................................................................................................... 16
5- O QUE UM COMANDO LINUX? ........................................................................................................................................17
5.1 SU ................................................................................................................................................................................................... 17
5.2 PWD, CD......................................................................................................................................................................................... 17
5.3 LS .................................................................................................................................................................................................... 17
5.4 MKDIR ............................................................................................................................................................................................ 18
5.5 M ORE E LESS................................................................................................................................................................................. 18
5.6 FIND ............................................................................................................................................................................................... 19
5.7 GREP .............................................................................................................................................................................................. 19
5.8 TAR................................................................................................................................................................................................. 20
5.9 GZIP ................................................................................................................................................................................................ 21
5.9.1 Combinando gzip e tar.....................................................................................................................................................21
5.10 CP .................................................................................................................................................................................................... 22
5.10.1 Cpia avanada................................................................................................................................................................22
5.10.2 Evitando erros...................................................................................................................................................................23
5.11 RM ................................................................................................................................................................................................... 24
5.11.1 Excluindo diretrios inteiros..........................................................................................................................................24
5.12 RMDIR ............................................................................................................................................................................................ 25
5.13 MV................................................................................................................................................................................................... 25
5.14 CAT ................................................................................................................................................................................................. 26
5.15 CHGRP ............................................................................................................................................................................................ 26
5.16 CHMOD........................................................................................................................................................................................... 27
5.17 CHOWN........................................................................................................................................................................................... 28
5.18 DU ................................................................................................................................................................................................... 28
5.19 DATE............................................................................................................................................................................................... 28
5.20 FILE ................................................................................................................................................................................................ 28
5.21 INIT / TELINIT ................................................................................................................................................................................ 29
5.21.1 Nveis de execuo ...........................................................................................................................................................29
5.21.2 Iniciando ............................................................................................................................................................................29
5.21.3 Telinit..................................................................................................................................................................................29
5.22 RUNLEVEL ..................................................................................................................................................................................... 29
5.23 TYPE............................................................................................................................................................................................... 30
5.24 DIFF ................................................................................................................................................................................................ 30
5.25 ZIP ................................................................................................................................................................................................... 30
5.26 SORT ............................................................................................................................................................................................... 30
5.27 CUT ................................................................................................................................................................................................. 31
5.28 T R ................................................................................................................................................................................................... 32
5.29 OUTROS COMANDOS .................................................................................................................................................................... 32
5.30 CRIANDO VNCULOS SIMBLICOS .............................................................................................................................................. 32
6- PROCESSADORES DE TEXTOS SOB LINUX...................................................................................................................33
6.1 PICO............................................................................................................................................................................................... 33
6.1.1 Acionando o Pico .............................................................................................................................................................33
6.1.2 Comandos de movimentao bsica do cursor...........................................................................................................33
6.1.3 Comandos de movimentao da tela.............................................................................................................................34
6.1.4 Comandos de deleo......................................................................................................................................................34
6.1.5 Errou? Como cancelar uma operao .........................................................................................................................34
6.1.6 Outros comandos de edio............................................................................................................................................34
6.1.7 Busca/substituio............................................................................................................................................................34
6.1.8 Inserindo um arquivo no meio de um texto..................................................................................................................34
6.1.9 Refresh ................................................................................................................................................................................35
6.1.10 Salvar..................................................................................................................................................................................35
6.1.11 Salvar e sair/ Sair sem salvar.........................................................................................................................................35
7- ENTENDENDO O SHELL ..........................................................................................................................................................36
7.1 COMPARANDO SHELLS................................................................................................................................................................ 36
7.2 EXPERIMENTANDO DIFERENTES SHELLS................................................................................................................................... 37
7.3 VISO GERAL DO SHELL BASH................................................................................................................................................... 37
7.4 DEFININDO VARIVEIS DE AMBIENTE NO BASH ...................................................................................................................... 37
7.5 SHELL SCRIPT ............................................................................................................................................................................... 38
7.6 REDIRECIONAMENTO DE ENTRADA E SADA ............................................................................................................................ 38
7.6.1 Dutos ou Pipes ( | )...........................................................................................................................................................39
7.7 TRMINO DE NOME DE ARQUIVO ............................................................................................................................................... 39
7.8 A LIAS DE COMANDO .................................................................................................................................................................... 40
7.9 EDIO DE LINHA DE COMANDOS.............................................................................................................................................. 40
7.10 LISTA DE HISTRICO DE COMANDOS ......................................................................................................................................... 40
7.11 CONTROLE DE TAREFA ................................................................................................................................................................ 41
7.12 EXPANSO DE PADRO ............................................................................................................................................................... 42
7.13 EXPANSO DE NOME DE PATH ................................................................................................................................................... 42
7.14 EXPANSO DE CHAVE .................................................................................................................................................................. 43
7.15 SUBSTITUIO DE COMANDOS ................................................................................................................................................... 43
8- DICAS SOBRE MODO TEXTO ................................................................................................................................................44
8.1 CONFIGURANDO SEU PATH....................................................................................................................................................... 44
8.2 QUAL A VERSO DO LINUX QUE ESTOU A USAR NA MINHA MQUINA?............................................................................... 44
8.3 TUDO SOBRE LINUX PARA QUEM EST MIGRANDO DO DOS ................................................................................................. 44
8.3.1 Comparando os comandos..............................................................................................................................................45
8.3.2 Arquivos .............................................................................................................................................................................46
8.3.3 Links Simblicos...............................................................................................................................................................46
8.3.4 Multi-tarefa........................................................................................................................................................................48
8.3.5 Diretrios...........................................................................................................................................................................49
8.4 COMANDOS DO PROGRAMA VI ................................................................................................................................................... 50
8.5 COMO POSSO SABER QUANTOS HARD LINKS TEM UM ARQUIVO E QUANTOS ELE PODE TER.............................................. 51
8.6 M UDANDO O RELGIO DE SEU LINUX ....................................................................................................................................... 51
8.7 M UDANDO O EDITOR DE TEXTO PADRO ................................................................................................................................ 52
8.8 SHELL SCRIPTS - UTILIDADES E MAIS UTILIDADES................................................................................................................. 52
8.8.1 Backup para um FTP .......................................................................................................................................................52
8.8.2 Comandos do DOS no Linux ..........................................................................................................................................53
8.9 COMO ALTERAR A COR DO FUNDO E DA LETRA NO CONSOLE ?.............................................................................................. 54
8.10 COMO MUDO O IDIOMA DE MEU CONECTIVA LINUX? ............................................................................................................ 54
8.11 COMO CONFIGURO A PROTEO DE TELA NA CONSOLE?....................................................................................................... 55
8.12 COMO AGENDAR TAREFAS DE SISTEMA (/ETC/CRONTAB)? .................................................................................................... 55
8.13 COMO EXECUTAR UM ARQUIVO ?............................................................................................................................................... 56
8.14 O QUE POSSO APAGAR PARA LIBERAR ESPAO EM DISCO? .................................................................................................... 56
8.15 COMO USAR O TAR ?.................................................................................................................................................................... 56
8.16 COMO FAO PARA DEIXAR O 'LS' SEMPRE COLORIDO? ........................................................................................................... 57
9- ADMINISTRAO DE SISTEMA GERAL..........................................................................................................................58
9.1 INICIALIZAO DO SISTEMA ....................................................................................................................................................... 58
9.2 PROGRAMANDO TAREFAS COM CROND..................................................................................................................................... 59
10 - DICAS SOBRE O S ISTEMA ......................................................................................................................................................62
10.1 ONDE IR BUSCAR OS HOWTO S E OUTRA DOCUMENTAO?................................................................................................ 62
10.2 ONDE IR BUSCAR MATERIAL SOBRE O LINUX POR FTP? ........................................................................................................ 63
10.3 PERMISSES................................................................................................................................................................................... 64
11 - CONFIGURAO DO SISTEMA COM O PAINEL DE CONTROLE... ERRO! INDICADOR NO DEFINIDO.
11.1 CONFIGURAO DE IMPRESSORA ...................................................................................ERRO ! INDICADOR NO DEFINIDO .
11.2 CONFIGURAO DO KERNEL ...........................................................................................ERRO ! INDICADOR NO DEFINIDO .
11.2.1 Alterando as Opes de Mdulos............................................................................... Erro! Indicador no definido.
11.2.2 Alterando Mdulos........................................................................................................ Erro! Indicador no definido.
11.2.3 Adicionando Mdulos................................................................................................... Erro! Indicador no definido.
11.3 HORRIO E DATA..............................................................................................................ERRO ! INDICADOR NO DEFINIDO .
12 - CD-ROMS, DISQUETES, DISCOS RGIDOS E SISTEMAS DE ARQUIVOS - UMA VISO GERAL...........68
12.1 REVISANDO O SISTEMA DE A RQUIVOS - VISO GERAL ......................................................................................................... 69
12.2 A DICIONADO PONTOS DE M ONTAGEM NFS - VISO GERAL................................................................................................ 70
12.3 OPES GERAIS ............................................................................................................................................................................ 71
13 - ADMINISTRAO DE SISTEMA GERAL..........................................................................................................................72
13.1 GERENCIAMENTO DE USURIOS................................................................................................................................................. 72
13.2 CONFIGURANDO DIRETRIO DE BASE PADRO........................................................................................................................ 73
13.3 REMOVENDO USURIOS .............................................................................................................................................................. 73
13.4 GERENCIANDO GRUPOS............................................................................................................................................................... 74
13.5 CHECANDO A CONSISTNCIA DE SISTEMA DE ARQUIVOS ....................................................................................................... 75
13.6 INICIALIZAO DO SISTEMA ....................................................................................................................................................... 75
13.7 PROGRAMANDO TAREFAS COM CROND..................................................................................................................................... 76
13.8 GERENCIANDO LOGS .................................................................................................................................................................... 78
14 - DICAS SOBRE HARDWARE....................................................................................................................................................81
14.1 UTILIZANDO UM DISCO FLEXVEL NO LINUX ........................................................................................................................... 81
15 - INSTALAO DE PLACA DE REDE ADICIONAL.........................................................................................................82

16 - CONFIGURAO DE IMPRESSORA...................................................................................................................................84
16.1 COMO CONFIGURAR UMA IMPRESSORA REMOTA EM UMA REDE LINUX ?............................................................................ 85
17 - IMPORTANTES FUNCIONALIDADES DE REDE............................................................................................................87
17.1 O SUPERSERVIDOR INETD........................................................................................................................................................... 87
17.2 A FUNCIONALIDADE TCPD DE CONTROLE DE A CESSO ........................................................................................................... 89
17.3 RPC - CHAMADA DE PROCEDIMENTO REMOTO...................................................................................................................... 92
18 - DNS .....................................................................................................................................................................................................94
18.1 INTRODUO E CONCEITOS........................................................................................................................................................ 94
18.2 INSTALANDO E CONFIGURANDO O DNS................................................................................................................................... 94
18.2.1 Instalando os Pacotes......................................................................................................................................................94
18.3 CONFIGURANDO O SERVIDOR DNS........................................................................................................................................... 95
18.3.1 Configurando Mapas de IPs Reversos..........................................................................................................................96
18.3.2 Configurando um Servidor Secundrio........................................................................................................................96
18.3.3 Forward Zones..................................................................................................................................................................96
18.3.4 Repetidores ........................................................................................................................................................................97
18.3.5 Funcionalidades................................................................................................................................................................97
18.3.6 Alocao de Faixas de IP................................................................................................................................................97
18.4 INICIALIZANDO O SERVIO ......................................................................................................................................................... 98
18.5 A RQUIVOS DE CONFIGURAO DO BIND................................................................................................................................ 98
18.5.1 O Arquivo /etc/named.conf..............................................................................................................................................98
18.5.2 O Arquivo /var/named/nome-do-dominio ....................................................................................................................99
18.5.3 O Arquivo /var/named/named.local ..............................................................................................................................99
18.5.4 O Arquivo /var/named/named.ca...................................................................................................................................99
18.6 CONFIGURAO DOS CLIENTES ...............................................................................................................................................100
18.6.1 Configurao Atravs do Linuxconf........................................................................................................................... 101
18.6.2 O Arquivo /etc/resolv.conf............................................................................................................................................ 101
19 - NIS - SISTEMA DEINFORMAES EM REDE............................................................................................................. 102
19.1 CONHECENDO O NIS..................................................................................................................................................................102
19.2 O CLIENTE NIS...........................................................................................................................................................................105
19.3 SERVIDOR NIS ............................................................................................................................................................................105
19.4 CONFIGURANDO UM CLIENTE NIS COM NYS........................................................................................................................107
19.5 ESCOLHENDO OS M APAS CORRETOS.......................................................................................................................................108
19.6 U SANDO OS M APAS PASSWD E GROUP ....................................................................................................................................110
19.7 UTILIZANDO NIS COM SUPORTE A SENHAS SOMBRA ..........................................................................................................112
19.8 UTILIZANDO O TRADICIONAL CDIGO NIS............................................................................................................................112
20 - NFS .................................................................................................................................................................................................. 114
20.1 INTRODUO E CONCEITOS......................................................................................................................................................114
20.2 INSTALANDO O NFS...................................................................................................................................................................114
20.2.1 Instale o servidor NFS.................................................................................................................................................. 114
20.3 CONFIGURANDO O SERVIDOR NFS..........................................................................................................................................114
20.4 CONFIGURANDO UM CLIENTE NFS..........................................................................................................................................116
21 - SAMBA........................................................................................................................................................................................... 117
21.1 CONFIGURANDO O SERVIDOR SAMBA ....................................................................................................................................117
21.2 INSTALANDO O SAMBA .............................................................................................................................................................117
21.3 CONFIGURAO .........................................................................................................................................................................117
21.3.1 Senhas Criptografadas................................................................................................................................................. 118
21.3.2 Configuraes Bsicas ................................................................................................................................................. 119
21.3.3 Compartilhando um diretrio ..................................................................................................................................... 120
21.4 M ONTANDO UM VOLUME SAMBA............................................................................................................................................120
21.5 INICIANDO O SAMBA .................................................................................................................................................................120
21.6 CONFIGURAO DO CLIENTE ...................................................................................................................................................121
21.7 UTILIZANDO O SWAT...............................................................................................................................................................121
22 - SERVIDOR WEB ........................................................................................................................................................................ 123
22.1 O P ROTOCOLO HTTP ................................................................................................................................................................123
22.2 O A PACHE...................................................................................................................................................................................124
22.2.1 Instalando o Apache...................................................................................................................................................... 124
22.2.2 Configurando o Apache................................................................................................................................................ 124
22.3 127
23 - SERVIDOR FTP .......................................................................................................................................................................... 128
23.1 O WU-FTPD...............................................................................................................................................................................128
23.1.1 Instalao e Configurao........................................................................................................................................... 128
23.1.2 Acessos Annimos.......................................................................................................................................................... 130
23.1.3 Permitindo Envio de Arquivos.................................................................................................................................... 130
23.1.4 Arquivos de Mensagens e Banners ............................................................................................................................. 132
23.1.5 Arquivo de Banner......................................................................................................................................................... 132
23.1.6 O Arquivo .message....................................................................................................................................................... 132
24 - SERVIDOR PROXY.................................................................................................................................................................... 133
24.1 CACHING......................................................................................................................................................................................133
24.2 O SQUID.......................................................................................................................................................................................133
24.2.1 Instalao e Configurao........................................................................................................................................... 134
24.2.2 Memria para Cache..................................................................................................................................................... 134
24.2.3 Arquivos de Cache......................................................................................................................................................... 135
24.2.4 Controle de Acesso ........................................................................................................................................................ 135
25 - CONFIGURAO BSICA DO SENDMAIL................................................................................................................... 137
25.1 A PRESENTAR SEU SISTEMA COMO ...........................................................................................................................................137
25.2 A CEITAR EMAIL PARA SEU DOMNIO .......................................................................................................................................137
25.3 SERVIDOR DE EMAIL ..................................................................................................................................................................137
25.4 ROTEADOR DE EMAIL ................................................................................................................................................................137
25.5 PROTOCOLO DO ROTEADOR DE EMAIL ....................................................................................................................................138
25.6 FUNCIONALIDADES ....................................................................................................................................................................138
25.7 DIVERSOS.....................................................................................................................................................................................139
25.8 A PELIDOS PARA SEU SISTEMA ..................................................................................................................................................140
25.9 ROTEAMENTO ESPECIAL ...........................................................................................................................................................140
25.9.1 Razes diferentes para se fazer roteamento especial.............................................................................................. 140
25.9.2 Tarefas............................................................................................................................................................................. 141
25.9.3 Arquivos .......................................................................................................................................................................... 141
25.9.4 Mailertable uma opo.............................................................................................................................................. 141
25.10 ROTEAMENTO COMPLEXO ...................................................................................................................................................142
25.10.1 Introduo....................................................................................................................................................................... 142
25.10.2 Princpios........................................................................................................................................................................ 142
25.11 TAREFAS.................................................................................................................................................................................142
25.11.1 Esta regra est ativa..................................................................................................................................................... 143
25.11.2 Para: original................................................................................................................................................................. 143
25.11.3 Para: novo ...................................................................................................................................................................... 143
25.11.4 Reenviar para servidor (opc.) ..................................................................................................................................... 143
25.11.5 Transporte....................................................................................................................................................................... 143
25.11.6 Comentrio..................................................................................................................................................................... 143
25.12 REGRAS DE MASCARAMENTO .............................................................................................................................................144
25.12.1 Princpios........................................................................................................................................................................ 144
25.12.2 De: original .................................................................................................................................................................... 144
25.12.3 De: novo .......................................................................................................................................................................... 144
25.12.4 Comentrio..................................................................................................................................................................... 144
25.12.5 Alguns exemplos ............................................................................................................................................................ 145
25.13 DOMNIO VIRTUAL DE EMAIL ..............................................................................................................................................145
25.13.1 Princpios........................................................................................................................................................................ 145
25.14 A CAIXA DE DILOGO DA DE.NIO DE DOMNIO VIRTUAL ...........................................................................................146
25.14.1 Um nome.......................................................................................................................................................................... 146
25.14.2 Destino de retorno......................................................................................................................................................... 146
25.14.3 Arquivos de apelidos (opc.) ......................................................................................................................................... 147
25.14.4 Apelidos para este domnio.......................................................................................................................................... 147
25.15 UMA NOTA ANTES DE INICIAR.............................................................................................................................................147
25.16 COMO DEFINIR UM DOMNIO VIRTUAL DE EMAIL .............................................................................................................147
25.16.1 Como adaptar os clientes POP ................................................................................................................................... 147
25.16.2 Como instalar o servidor.............................................................................................................................................. 148
25.17 COMO DEPURAR UMA CONFIGURAO ..............................................................................................................................149
25.17.1 Checando o DNS............................................................................................................................................................ 149
25.17.2 Como adicionar usurios POP.................................................................................................................................... 150
25.17.3 Co-administrador.......................................................................................................................................................... 151
25.17.4 Como um usurio pode trocar a sua senha .............................................................................................................. 151
25.18 A LGUNS PROBLEMAS............................................................................................................................................................151
25.18.1 Todos os emails do domnio saem mascarados........................................................................................................ 151
25.19 A PELIDOS...............................................................................................................................................................................152
25.19.1 Tarefas............................................................................................................................................................................. 152
25.19.2 Pseudo-usurio .............................................................................................................................................................. 152
25.19.3 Lista dos pseudo-usurios mais conhecidos............................................................................................................. 153
25.19.4 Apelidos para contas administrativas........................................................................................................................ 153
25.19.5 O pseudo-usurio administrador................................................................................................................................ 153
25.19.6 Onde definir os apelidos............................................................................................................................................... 153
25.19.7 Administrador de listas de discusso ......................................................................................................................... 154
25.20 CON.GURAO DE FILTROS DE SPAM.................................................................................................................................154
25.20.1 Princpio.......................................................................................................................................................................... 154
25.20.2 Usar nomes ou nmeros IP .......................................................................................................................................... 154
25.20.3 Especificando uma rede ............................................................................................................................................... 155
25.20.4 Especificando uma mquina ou um domnio ............................................................................................................ 155
25.21 DEFININDO REMETENTES REJEITADOS...............................................................................................................................155
25.21.1 Definindo _repetir para_ por IP................................................................................................................................. 155
25.21.2 Definindo _repetir para_ por nome............................................................................................................................ 155
25.21.3 Definindo _repetir para_ mquinas........................................................................................................................... 155
26 - ADICIONANDO CONEXES PPP / SLIP PARA MODEM......................................................................................... 156
1- Hist r ia do Linux
Origem no UNIX que foi desenvolvido nos anos 70.
O UNIX muito utilizado hoje no ambiente corporativo, educacional e agora no
ambiente desktop.
Linux uma cpia do Unix feito por Linus Torvalds, junto com um grupo de hackers
pela Internet. Pretende-se que ele siga conforme com o padro POSIX, padro usado pelas
estaes UNIX.
Linus Torvalds que na poca era um estudante de cincia da computao na Finlndia
criou um clone do sistema Minix (sistema operacional desenvolvido por Andrew Tannenbaun
que era semelhante ao UNIX) que o chamou de Linux. Hoje ele ainda detm o controle do
Kernel do sistema.
Em maro de 1992 surge a verso 1.0 do Linus.
Estima-se que sua base de usurios se situe hoje em torno de 10 milhes.
Ele ainda no se enquadra como sendo um sistema operacional UNIX.
Ele inclui proteo entre processos (crash protection), carregamento por demanda,
redes TCP/IP, alm de nomes de arquivos com at 255 caracteres, multi-tarefa real, suporte
a UNICODE, shared libraries, memria virtual, etc.

Processo - Resumidamente... um programa em execuo. As informaes sobre


vrios processos em execuo ficam armazenadas na tabela de processos. O Sistema
Operacional controla o tempo de execuo de cada processo, e ele responsvel por iniciar,
parar/suspender e terminar a execuo de processos. Os usurios tambm pode interferir na
administrao de processos.
Todo processo tem um processo pai que o chamou, portanto o processo tem nome,
nmero de identificao, grupo ao qual pertence, etc. e est inserido na rvore hierrquica de
processos. O processo pai chamado de init.

8
2- Linux como sistema operac iona l
Linux se refere ao Kernel
O conjunto de aplicativos que so executados no Kernel se chamam distribuio.
A funo do Kernel ser a interface entre o Hardware e os sistemas de
gerenciamento de tarefas e aplicativos.
O Kernel do Linux mais leve que o de outros sistemas operacionais para servidores.
So 12 milhes de linhas de cdigo, enquanto outras verses do Unix tm 30 milhes e o
Windows NT, 50 milhes. Isso significa que o Linux trs vezes mais rpido que outros Unix
e at cinco vezes mais rpido que o Windows NT.

Conjunto de Aplicativos para Linux (Distribuio)


Sistema de gerenciamento de tarefas e aplicativos
Ncleo do sistema operacional (Kernel Linux)
Hardware

2.1 Principais caractersticas comentadas no Linux

Multiusurio: Permite que vrios usurios possam rodar o sistema operacional, e no


possui restries quanto licena. Permite vrios usurios simultneos, utilizando
integralmente os recursos de multitarefa. A vantagem disso que o Linux pode ser
distribudo como um servidor de aplicativos. Usurios podem acessar um servidor Linux
atravs da rede local e executar aplicativos no prprio servidor.
Multiplataforma: O Linux roda em diversos tipos de computadores, sejam eles RISC
ou CISC.
Multitarefa: Permite que diversos programas rodem ao mesmo tempo, ou seja, voc
pode estar imprimindo uma carta para sua vov enquanto trabalha na planilha de vendas, por
exemplo. Sem contar os inmeros servios disponibilizados pelo Sistema que esto rodando
em background e voc provavelmente nem sabe.
Multiprocessador: Permite o uso de mais de um processador. J discutida, h
muitos anos, a capacidade do Linux de poder reconhecer mais de um processador e
inclusive trabalhar com SMP, clusters de mquinas, na qual uma mquina central controla os
processadores das outras para formar uma s mquina.
Protocolos: Pode trabalhar com diversos protocolos de rede (incluindo o TCP/IP que
nativo Unix).
Sistemas de arquivos: Suporta diversos sistemas de arquivos, incluindo o HPFS,
DOS, CD-ROM, Netware, Xenix, Minix, etc.

Sistema de arquivos - uma forma de armazenamento de arquivos em estruturas


(na maneira hierrquica) de diretrios. Assim, o usurio no precisa necessita conhecer
detalhes tcnicos do meio de armazenamento. Ele apenas precisa necessita conhecer a
estrutura (rvore) de diretrios para poder navegar dentro dela e acessar suas informaes.

9
Consoles virtuais: Permite que o usurio tenha mais de um console para trabalhar,
sendo que em cada console voc pode ter diversas tarefas sendo executadas em
background e mais em foreground (segundo plano e primeiro plano).
Fontes TrueType: Fontes TrueType so agora suportadas pelo Conectiva Linux. A
carga dinmica de fontes suportada e pode ser usada como um servidor de fontes em uma
mquina local. Nota: os usurios que estejam efetuando uma atualizao tero que atualizar
os caminhos padres das fontes. Para tanto, edite o arquivo /etc/X11/XF86Config. Procure
no arquivo at encontrar os caminhos configurados. Altere para o seguinte unix/:-1. Deve-se
ainda estar seguro de que o xfs, o Servidor de Fontes X, esteja sendo executado. Atravs do
comandos /sbin/chkconfig -add xfs pode-se garantir que ele seja inicializado a cada vez que
o Linux seja carregado.

2.2 Linux como software gratuito

Uma forma de combater as prticas monopolistas da Microsoft.


Existem rumores que a Microsoft ir alterar os termos de licenciamento de seus
produtos. Na nova verso, o software no ser mais adquirido, e, sim, licenciado em bases
anuais, exigindo pagamento de uma nova licena para uso continuado. Isso poder provocar
a marginalizao das populaes ou pases que no tenham os recursos necessrios para
investimentos nesta rea.
O criador do movimento pelo software aberto e livre foi Richard Stallman. Em
determinada ocasio, ele precisou corrigir o driver de uma impressora que no estava
funcionando. Solicitou ento, ao fabricante do driver o cdigo fonte do programa para que
pudesse realizar as correes necessrias. Para sua surpresa, o pedido foi negado. Da ele
iniciou ento um esforo gigantesco para conceder verses abertas para todas as categorias
de software existentes, comercializadas sem acesso ao cdigo fonte.
Richard Stallman fundou a FSF Free Software Foundation. A FSF criou os
aplicativos utilizados por todos os sistemas semelhantes ao Unix, como Linux e FreeBSD,
hoje to populares.
Para evitar que algum obtivesse o programa com o seu cdigo fonte, fizesse
alteraes e se declarasse como dono do produto, ele estabeleceu a forma sob a qual esses
programas poderiam ser distribudos.
O documento especifica que o programa pode ser usado e modificado por quem quer
que seja, desde que as modificaes efetuadas sejam tambm disponibilizadas em cdigo
fonte. Esse documento chama-se GNU (General Public License).
O Kernel do Linux tambm distribudo sob a GNU (General Public License).
O Kernel do Linux, associado a esses programas, tornou possvel a milhes de
pessoas o acesso a um excelente ambiente computacional de trabalho e que melhora a cada
dia.
O Linux, na pessoa de seu criador e coordenador, soube melhor aglutinar o imenso
potencial de colaboradores da Internet em torno de seu projeto. Contribuies so aceitas,
testadas e incorporadas ao sistema operacional e uma velocidade nunca vista.

2.3 Documentao de Pacotes

Muitos programas tm o arquivo README e outras documentaes como parte


integrante do pacote. O Conectiva Linux utiliza normalmente os subdiretrios sob /usr/doc
como local padro para o armazenamento, sem que seja necessrio instalar todos os fontes
para acessar a documentao; porm o nome do subdiretrio depende do nome do pacote e
10
da sua verso. Por exemplo, o pacote zip na sua verso 2.1, ter como caminho para
acesso sua documentao o seguinte: /usr/doc/zip-2.1.
Em sua maioria a documentao est em arquivos padro ASCII, os quais podem ser
visualizados com os comandos more arquivo ou less arquivo.
Caso voc esteja procurando pela documentao de um comando especfico (ou
arquivo) e no em qual pacote ele est contido, ser possvel descobr-la de forma simples.
Por exemplo, para conhecer onde est a documentao do arquivo /usr/bin/at utilize o
comando:
rpm -qdf /usr/bin/at
Este comando retornar uma lista de toda a documentao (inclusive pginas de
manual) do pacote que contenha o arquivos /usr/bin/at. O RPM capaz ainda de uma srie
de outras funcionalidades. Para maiores informaes sobre ele, veja o Guia do Usurio do
Conectiva Linux.

11
2.4 Como Fazer e FAQs

Caso tenha sido selecionado durante a instalao, o contedo do Projeto de


Documentao do Linux (LDP) estar disponvel no diretrio /usr/doc de seu sistema.
O diretrio /usr/doc/HOWTO contm verses em arquivos ASCII de todos os Como
Fazer disponveis na poca de impresso do CD-ROM. Estes arquivos podem ser lidos
atravs do comando less.

Ex.: less Tips-HOWTO

Voc tambm pode encontrar arquivos com extenso .gz . Eles esto compactados
com gzip para economia de espao, sendo necessrio ento descompacta-los antes de sua
utilizao. Para utiliz-los pode-se executar o comando gunzip para descompact-los ou
ento utilizar o comando zless que lista os arquivos sem criar uma verso descompactada
em seu disco :

Ex.: zless HAM-HOWTO.gz

O comando zless usa as mesmas teclas de operao que o comando less,


permitindo a navegao pelo documento.
O diretrio /usr/doc/HOWTO/mini contm verses ASCII de todos os mini-Como Fazer
disponveis. No esto compactados e podem ser acessados normalmente com more ou
less. /usr/doc/HTML contm verses HTML de todos os Como Fazer e dos guias Instalao
do Linux e Linux para Iniciantes. Para visualiz-los basta utilizar um browser WWW de sua
prefercia. Por exemplo:
cd /usr/doc/HTML netscape index.html
O diretrio /usr/doc/FAQ contm uma verso ASCII (e algumas verses HTML) de
FAQs mais utilizados, incluindo o faq do Conectiva Linux.
O diretrio /usr/doc/HOWTO/translations/pt_BR/ possui diversos documentos
traduzidos para o portugus.

2.5 O Comando locate

Quando no se conhece o nome completo do comando ou arquivo que se busca,


pode-se facilmente encontr-lo atravs do comando locate. Este comando utiliza uma base
de dados para localizar todos os arquivos no sistema. Normalmente esta base construda
automaticamente toda noite, desde que o Linux esteja ativo. Caso isso no ocorra possvel
cri-la atravs do comando (executado como superusurio root):
locate bison
E a resposta ser algo como:
/usr/bin/bison
/usr/include/bison2cpp.h
/usr/info/bison.info.gz
/usr/lib/bison.hairy

A resposta fornecida atravs do nome e rota completa do arquivo.

12
2.6 Info

Enquanto as pginas de manual utilizam tcnicas simples de apresentao de


documentos, as funes info so muito mais poderosas. Elas provm funes de hipertexto,
tornando mais simples a leitura de grandes documentos, alm de disponibilizarem diversas
ferramentas para a criao de documentos. H diversos documentos em formato info no
Conectiva Linux (especialmente alguns do Projeto GNU).
Para acessar a documentao, basta utilizar o programa info sem argumentos. Ser
apresentada uma lista dos documentos disponveis. Caso nada seja encontrado porque
provavelmente no foram instalados os pacotes de documentao, o que pode ser feito a
qualquer momento atravs do utilitrio RPM.
Caso se tenha conhecimento de emacs , pode-se acessar a documentao info
diretamente dentro do emacs atravs da seqncia das teclas Ctrl-h i.
Todo texto que esteja destacado de forma luminosa uma ligao que leva a alguma
informao adicional. Utilize Tab para mover o cursor para a ligao e pressione Enter para
ativ-lo. Pressionando-se p retorna para a pgina anterior, n vai para a prxima pgina e u
sobe um nvel. Para sair basta pressionar Ctrl-x Ctrl-c (control-x seguido de control-c).
A melhor maneira de aprender como utilizar a documentao do info acessar o
programa e verificar as informaes disponveis na primeira tela.

2.7 Listas de Discusso Linux

A Conectiva mantm listas para discusso sobre assuntos gerais do Linux:


http://linux-br.conectiva.com.br
http://listas.conectiva.com.br/listas

mantida ainda a lista Conectiva-Anncios (inscries na primeira pgina da


Conectiva) para recepo de novidades sobre os lanamentos e os trabalhos desenvolvidos
pela Conectiva.
Todas as listas so abertas ao pblico em geral.

13
3- O que uma distr ibu io
Ao "kernel" freqentemente acrescentado uma srie de aplicaes, formando um
sistema ou distribuio Linux.
Distribuio nada mais que um pacote do kernel do sistema operacional mais os
programas que o acompanham. Este pacote, incluindo as ferramentas necessrias para sua
instalao, chamado de distribuio.
Uma distribuio atende a uma determinada necessidade.
As distribuies podem ser produzidas em diferentes verses do Kernel, podem incluir
diferentes conjuntos de aplicativos, utilitrios, ferramentas e mdulos de driver , e podem
oferecer diferentes programas de instalao e atualizao para facilitar o gerenciamento do
sistema.

3.1 O mesmo, porm diferente

Na maioria das distribuies existe um conjunto comum de programas bsicos,


utilitrios e bibliotecas, que os projetistas de aplicativos podem esperar encontrar em um
sistema Linux.
Padro seguido pelas distribuies = Linux file system standart.

3.2 As principais distribuies

Red Hat Famoso por suas ferramentas de instalao e atualizao do sistema


operacional e por seu sistema bem projetado de instalao, desinstalao e controle de
pacotes de aplicativos de software.
Slackware Era a distribuio mais popular. No vem com RPM. Ganha em
performance, mas peca ma interatividade. Usado mais para servidores de rede.
Caldera OpenLink O OpenLink 1.3 inclui o K Desktop Environment, uma licena
no-comercial do StarOffice for Linux, Suporte Netware, uma licena do DR-DOS para
compatibilidade DOS.
S.u.S.E Linux uma conhecida distribuio de Linux, disponvel principalmente na
Europa e oferecida nas verses em ingls e alemo.
Debian / GNU No possui uma organizao comercial patrocinadora. produzida
por uma equipe de voluntrios. Utiliza seu prprio sistema de gerenciamento de pacotes.

3.3 Red Hat Linux

O que popularizou o Red Hat foi seu sistema de gerenciamento de pacotes. Esse
sistema permite que os aplicativos de software sejam testados, configurados e fornecidos em
um estado pronto para funcionar no Red Hat Linux. Usando-se ferramentas de
gerenciamento de pacotes simples, novos pacotes podem ser obtidos por download,
instalados e executados sem a configurao tortuosa, s vezes exigida por outros pacotes.
Outra vantagem do gerenciamento de pacotes a capacidade de atualizao:
impossvel atualizar verses do Red Hat sem a necessidade de reinstalar o Linux desde o
incio.
Voc pode usar o Red Hat em PC Intel, Alpha digital e Sun SPARC.

14
3.4 O que h de novo no Red Hat 6.0

Instalao aprimorada - Reconhece melhor dispositivos PCI, novo software de


particionamento de disco e capacidade de escolher quais servios sero carregados
automaticamente no momento da inicializao.
Novas e melhores ferramentas de administrao Inclui uma poderosa ferramenta
de configurao grfica Linux, o LinuxConf. Tambm inclui uma ferramenta para a
configurao da verso gratuita de X-Windows , XFree86, chamada de Xconfigurator.
Introduo do Gnome um ambiente desktop para X-Windows projetado para
tornar mais fcil o desenvolvimento de aplicativos e proporcionar um ambiente desktop mais
consistente, de qualidade profissional para usurios Linux.
Desempenho Melhor implementao de multiprocessamento simtrico (SMP) e
introduo de RAID baseado em software (fornece mecanismo para combinar mltiplos
discos para melhorar a confiabilidade e o desempenho).

15
4- O PC m n imo pa ra Linux
Um 386 com 4MB, porm no pode executar X-Windows e o nmero de programas
que ela pode executar simultaneamente limitado pela quantidade de RAM fsica, seu
desempenho ser lento na maioria dos aplicativos de misso crtica (servidor de Web). Esse
portanto mais adequado como terminal de acesso a outro servidor Linux ou Unix; ou um
servidor de baixo desempenho para servios como DNS (converte nomes host em endereo
IP reais) ou um servidor de autenticao para uma pequena empresa.

4.1 Acessrios ideais para um servidor em sua Intranet

Uma placa SCSI - Ideal para um sistema multiusurio (Ex.: Servidor de arquivos,
servidor Web ou servidor de aplicativos). Escolha uma placa com suporte a Ultra-DMA SCSI.
O ideal utilizar HDs em separado para dividir o processamento de dados / sistema e
software.

4.2 Verificando a compatibilidade de seu hardware

O hardware precisa ser suportado por drivers includos na distribuio de Linux do


usurio ou por software acessrio que fornea drivers para o hardware em questo.

4.3 Registrando suas informaes de hardware

Placa de vdeo - Fabricante e modelo; chipset de vdeo; quantidade de memria; tipo


de relgio na placa.
Placa de som Fabricante e modelo; IRQ da placa , endereo de I/O da placa e
endereo de DMA.
Monitores Fabricante e modelo; resoluo mais alta de monitor; intervalo de
sincronismo horizontal e intervalo de sincronismo vertical.
Mouse Fabricante e modelo; nmero de botes; protocolo do mouse e porta serial.
Unidades de disco rgido Capacidade de armazenamento total do HD; nmero de
cilindros, nmero de cabeas e nmero de setores por trilha.
Modems - Fabricante e modelo; velocidade do modem e porta serial.

16
5- O que um comando Linux?
No MS-DOS os comandos no poderiam ser criados pelos usurios, ou sejam, eram
limitados e geralmente estticos.
No mundo Unix e por extenso, no Linux, o conceito diferente. Um comando
qualquer arquivo executvel.

5.1 Su

usado geralmente para alternar entre diferentes usurios dentro de um terminal


virtual.
Exemplo de comando: $ su user2 (ser solicitada a senha do user2).
Quando acabarmos de trabalhar basta usar o comando exit para voltar ao usurio
anterior.
Se voc est logado como usurio e der o comando su sem nome de usurio, ser
solicitada a senha do Root e, quando ela for fornecida, ser trocada para trabalhar como
usurio-root.
Se voc est logado como Root e der o comando su <o nome de algum usurio>, no
ser solicitado nenhum pedido de senha. Isso interessante para o administrador, pois ele
pode precisar se tornar diferentes usurios para depurar problemas, mas no
necessariamente conhecer as senhas de outros usurios.

5.2 pwd, Cd

Esses comandos fornecem as ferramentas bsicas de que voc precisa para trabalhar
com diretrios e arquivos.
O comando Pwd informa em qual diretrio est atualmente.
O comando Cd muda seu diretrio atual para qualquer diretrio acessvel no sistema.

5.3 ls

O comando ls usado para ver o contedo do diretrio corrente.


Entre as opes mais teis temos:

a Inclui, na listagem, todos os arquivos contidos no diretrio, mesmo as


referncias do diretrio onde estamos posicionados e do diretrio pai, ou seja, o
superior quele onde estamos posicionados que so representados por .
(diretrio atual) e .. (diretrio pai).
F Anexa aos nomes dos arquivos um caractere, indicando seu tipo: diretrio (/),
programas executveis (*), links simblicos (@), para FIFOs (|), para sockets (=) e
nada para arquivos comuns.
l Uso de formato longo, detalhando os dados referentes a (siga os nmeros no
exemplo abaixo): (1) permisses, (2) quantidade de sub-diretrios ou se for 1 se
trata de um arquivo, (3) nome do usurio que criou o arquivo e (4) do grupo a que
este usurio pertence, (5) tamanho, (6) data da ltima alterao e (7) nome
completo do arquivo. Veja o exemplo com os nmeros indicando estas
informaes:

17
drwxr-xr-x 2 root root 1024 Dec 23 15:22 bin
drwxr-xr-x 2 root root 1024 Dec 31 05:48 boot
drwxr-xr-x 2 root root 1024 Dec 6 15:51 cdrom
drwxr-xr-x 3 root root 8192 Mar 11 10:17 dev
drwxrwxr-x 2 root root 1024 Feb 27 13:52 dosa
|-----(1)----| (2) (3) (4) (5) |-------(6)------| (7)

R Listagem recursiva. Ir tambm acessar os arquivos que esto colocados


internamente nos subdiretrios, a partir do ponto em que estamos.
u Usa a data do ltimo acesso ao arquivo para a classificao da sada.
X Usa a extenso do nome de arquivo para a ordenao.
L Mostra entradas apontadas pelos links simblicos.
n - Mostra UIDs e GIDs numricos em vez dos nomes
S Ordenar pelo tamanho do arquivo

5.4 mkdir

Cria usado para a criao de novos diretrios.

Sintaxe : mkdir (diretrio 1) (diretrio 2) ...(diretrio n)

onde (diretrio 1) at (diretrio n) so os diretrios a serem criados.


As entradas padro em um diretrio (por exemplo, os arquivos ".", para o prprio diretrio, e
".." para o diretrio pai ) so criadas automaticamente. A criao de um diretrio requer
permisso de escrita no diretrio pai.
O identificador de proprietrio (owner id), e o identificador de grupo (group id) dos
novos diretrios so configurados para os identificadores de proprietrio e de grupo do
usurio efetivo, respectivamente.

Opes:
m (mode) - Esta opo permite aos usurios especificar o modo a ser usado para
os novos diretrios.
p - Com esta opo, mkdir cria o nome do diretrio atravs da criao de todos os
diretrios-pai no existentes primeiro.
Exemplo: mkdir -p diretrio 1/diretrio 2/diretrio 3
cria a estrutura de subdiretrios "diretrio 1/diretrio 2/diretrio 3".

5.5 More e Less

O comando more permite que o usurio se movam uma linha ou uma tela para frente
por vez, em um longo corpo de texto, assim como pesquisar esse texto. Pressiona a barra
de espao faz pular para frente uma pgina, enquanto pressionar Enter mover para frente
uma linha por vez.
Para pesquisar para frente o arquivo inteiro, pressione a tecla de barra (/), seguida da
palavra ou frase que voc deseja pesquisar e, em seguida, pressione Enter. Voc pode
repetir o processo pressionando a tecla n, aps a primeira busca, evitando a necessidade de
digitar a mesma palavra ou frase repetidamente.
18
O comando Less uma verso amplamente aprimorada do comando more. Alm das
funes bsicas descritas anteriormente, a seguir esto algumas das outras aes que
podem ser realizadas em um corpo de texto:
Pular diretamente para uma linha Coloque o nmero da linha seguido da letra g.
Pular diretamente para o incio ou final do arquivo - Se digitar g voc pula para a
primeira linha do texto. Com o G sozinho voc pula para a ltima linha do texto.
Retroceder em um arquivo A seta para cima faz mover para cima uma linha de
texto por vez e a seta para baixo faz mover uma linha de texto para baixo.
Pesquisar retroativamente em um arquivo Uma barra normal (/) seguida de uma
palavra ou frase, pesquisar para frente do texto, e um ponto de interrogao

5.6 Find

O comando Find pode ser usado para pesquisar arquivos pelo nome, data de criao
ou modificao, proprietrio, tamanho do arquivo e at o tipo do arquivo.
A sua estrutura bsica :
$ find [diretrio inicial] [parmetros] [aes]
Diretrio inicial especifica onde a pesquisa vai iniciar.
Os parmetros representam o lugar em que voc especifica os critrios de busca.
A seo referente s aes indica a ao que ser executada nos arquivos
encontrados. Geralmente, voc desejar usar a ao print, o que indica que o nome e o
caminho completos do arquivo devem ser apresentados.
Tambm possvel pesquisar nomes de arquivo parciais. Por exemplo, se voc sabe
que o arquivo que est procurando comea com fo, ento pode usar a expresso fo* para
indicar todos os arquivos que comeam com fo e terminam com qualquer combinao.
Quando voc usa o caractere *, importante colocar apstrofos em torno da expresso
inteira.
Ex.: $ find / -name fo* print

5.7 Grep

Comando Grep usado para verificar o contedo de um ou mais arquivos na tentativa


de encontrar a ocorrncia de um padro de texto especfico dentro dos arquivos.
Em geral, o padro para o comando :
$ grep <opes> [texto para pesquisa] [arquivos]
Se voc quiser procurar uma frase, como rio de janeiro, precisar colocar o texto
padro entre aspas:
$ grep rio de janeiro *
Opes:
l Mostra os nomes dos arquivos que contm o texto de busca.
c Informa o nmero de linhas num arquivo que atende pesquisa feita.
i No diferencia letras maisculas de minsculas para o termo que est sendo
pesquisado.

19
Considere a situao em que voc deseja uma listagem de todos os arquivos do
diretrio corrente, com a data da modificao de 12 de maio. Voc poderia encontrar essa
informao usando pipe com ls l, atravs de um comando grep:
$ ls l | grep may 12

5.8 Tar

O programa tar era usado originalmente para criar backups de sistema em fitas
A criao de um arquivo tar fcil:

$ tar cvf tar-nome-arquivo lista-arquivo

Esse comando criar um novo arquivo, especificado pelo nome de arquivo tar-nome-
arquivo (geralmente tem extenso .tar), e depois armazenar todos os arquivos da lista
nesse arquivo.
Cada uma dessas opes usada para controlar diferentes aspectos do
comportamento do comando tar. O c indica que estamos criando um arquivo, v indica que o
comando deve ser executado no modo verbose (o que significa que cada nome de arquivo
ser apresentado, medida que copiado no arquivamento) e f significa que estamos
gerando um arquivo (em oposio a uma unidade de fita).
comando tar copia todos os arquivos e subdiretrios de um diretrio e um arquivo,
caso o diretrio faa parte da lista de arquivos. Assim, se temos um diretrio chamado vnc e
queremos que todo o contedo desse diretrio seja copiado em um novo arquivo, chamado
vnc.tar, podemos usar
$ tar cvf vnc.tar vnc
e obter o seguinte resultado:
$ tar cvf vnc.tar vnc
vnc/
vnc/license.txt
vnc/readme
vnc/classes/
vnc/classes/rfprrre.class

Voc notar que a primeira linha indica a criao do diretrio vnc no arquivo e depois
a cpia dos arquivos deste diretrio do arquivo .tar.
Para ver o contedo de um arquivo .tar existente, substitumos a opo c por t.

$ tar tvf vnc.tar

Para extrair o contedo de um arquivo .tar no diretrio corrente, substitumos o c ou t


por x:

$ tar xvf vnc.tar

20
5.9 Gzip

Embora o comando tar seja til para o armazenamento de arquivos, ele no realiza
qualquer compactao nos exemplos anteriores. No Linux, a compactao obtida com o
comando gzip.
Ao contrrio dos arquivos ZIP do Windows, que compacta muitos arquivos em um
nico arquivo compactado, o comando gzip compacta apenas arquivos individuais, sem
compact-lo em um arquivo.
Por exemplo, se temos um arquivo particularmente grande, chamado test.pdf , que
no usaremos por algum tempo e queremos compact-lo para economizar espao em disco,
usamos o comando gzip:

$ gzip test.pdf

Isso compactar o arquivo e incluir a extenso . gz no final do nome de arquivo,


mudando o nome para test.pdf.gz.
Para fazer a compresso mxima usamos a extenso 9.

$ gzip 9 test.pdf

Voc pode listar o contedo do arquivo compactado usando a extenso l.

$ gzip l test.pdf

Para descompactar um arquivo .gz, retornando o arquivo ao seu estado


descompactado original, com o nome teste.pdf.

$ gzip -d teste.pdf.gz

Um comando alternativo, gunzip, elimina a necessidade de usar a opo d:

$ gunzip test.pdf.gz

5.9.1 Combinando gzip e tar

As verses recentes de tar fornecem um mtodo para acessar diretamente e criar


arquivos tar compactados com gzip.
Apenas incluindo uma opo z em qualquer um dos comandos tar discutidos
anteriormente, podemos criar um arquivo compactado sem a necessidade de um segundo
comando.

$ tar czvf vnc.tar.gz vnc (inclui todos os arquivos do diretrio e subdiretrios de vnc
compactando-os automaticamente)

$ tar tzvf vnc.tar.gz vnc (apresenta o contedo de nosso arquivo text.tar.gz


compactado)

$ tar xzvf vnc.tar.gz vnc (extrai o contedo do arquivo).

21
5.10 cp

Para copiar um arquivo (ThisFile) do diretrio corrente em um segundo arquivo (a ser


chamado ThisFile-Acopy)

$ cp ThisFile ThisFile-Acopy

Se quisermos copiar ThisFile em /tmp, mas fornecer um nome diferente para o novo
arquivo, podemos usar

$ cp ThisFile /tmp/NewFileName

Se voc desse o comando cp ThisFile NewFile o contedo de NewFile seria


sobrescrito por uma cpia de ThisFile e seria perdido para sempre.
Para evitar essa dificuldade, voc pode usar o flag i do comando cp, que obriga o
sistema a confirmar quando qualquer arquivo for sobrescrito por uma cpia.
Voc pode criar um alias para o comando cp executando o comando

$ alias cp=cp i

Podemos configurar nosso shell Bash usando o arquivo oculto .bashrc para garantir
que, sempre que nos conectarmos, esse alias esteja definido. Para isso devemos editar esse
arquivo com qualquer editor de texto (Ex.: mcedit) e incluir o alias dentro dele.
Para criar um alias para todos os usurios v ao diretrio /etc/rc.d e crie um arquivo
qualquer definindo todos os alias que desejar. Ao dar boot na mquina todos os arquivos que
esto abaixo desse diretrio so executados, incluindo seu arquivo de alias que acaba de
criar.
Podemos passar vrios argumentos para o comando e o ltimo deles ser tratado
como o destino e todos os arquivos precedentes sero copiados no destino.

$ cp FileOne FileTwo FileThree /tmp

Ao copiar vrios arquivos desse modo, importante lembrar-se de que o ltimo


argumento deve ser um diretrio.
Se quisermos copiar um diretrio inteiro e todos os seus subdiretrios, podemos usar
o flag R do comando cp.

$ cp -R SomeDir /tmp

Esse comando copia a totalidade do subdiretrio SomeDir para o diretrio /tmp


criando o diretrio /tmp/Somedir.

5.10.1 Cpia avanada


Quando voc copia um arquivo, o arquivo resultante normalmente pertence a quem
copiou, e no a quem criou o arquivo.
Analogamente, quando um arquivo criado em um diretrio, ele possui um conjunto
de permisses padro atribudas a ele. Ao copiar um arquivo, a cpia ter as permisses
definidas de acordo com o padro do diretrio de destino, em vez de manter as permisses
do arquivo original. Para mantermos os atributos originais usamos o flag p
22
$ cp -p /tmp/TheFile .

Normalmente, quando voc copia um vnculo simblico, o arquivo resultante uma


cpia do arquivo apontado pelo vnculo para o mesmo arquivo.

Lrwxrwxrwx 1 user2 users 2 Aps 5 13:10 TheFile - > OtherFile

Ento a execuo do comando cp

$cp /tmp/TheFile ~/NewFile ( o ~ significa que voc ir fazer a cpia debaixo do


diretrio home do usurio atual)

resultaria em um arquivo que seria uma cpia de OtherFile.


Mas, e se quisssemos copiar o vnculo, em vez do prprio arquivo? Para isso o
comando cp tem um flag para tratar dessa situao: o flag d, que indica a no-eliminao
da referncia ao vnculo simblico. Poderamos simplesmente usar o comando

$ cp d /tmp/TheFile ~/NewFile

Dito isso, hora de reunir tudo. E se quisermos usar o comando cp para criar uma
cpia de backup til de um diretrio existente e todos os seus subdiretrios?

$ cp -pdR TheDirectory /backups (cria uma cpia exata de TheDirectory no


diretrio /backups/TheDirectory)

Porm o comando cp fornece um modo simplificado para obter isso: o flag a.

$ cp -a TheDirectory /backups

5.10.2 Evitando erros


Voc pode usar o flag b para criar uma cpia de backup de qualquer arquivo que v
ser sobrescrito. Por padro, o backup ser o nome de arquivo original com um til (~)
depois dele.
possvel alterar o modo como o comando cp atribui nomes aos arquivos de backup,
usando dois flags diferentes: S e V. O flag s permite que voc mude o caractere
de til usado em nomes de backup para outra coisa.

$ cp b S_ FileOne FileTwo

O flag V proporciona ainda mais flexibilidade, permitindo que o usurio especifique


um dos trs tipos de esquemas de atribuio de nomes de backup:

v t ou numbered : cria backups numerados em seqncia. Se um arquivo de


backup numerado j existir, ento o novo arquivo de backup ser numerado
seqencialmente, aps o arquivo de backup existente; os nomes de arquivo
resultantes so como os seguintes: FileName.~Number~ (Ex.:FileName.~2~)

$ cp -b -V t FileOne FileTwo
23
v Nil ou existing: se um arquivo de backup numerado j existe, ento cria um
arquivo de backup numerado; caso contrrio, cria um arquivo de backup
simples normal.
v Never ou simples: cria um arquivo de backup simples usando o til padro ou
um caractere alternativo, indicado pelo flag s.

5.11 rm

Este comando utilizado para apagar arquivos. importante lembrar que quando os
arquivos so apagados, no sistema Unix, impossvel recuper-los.

Sintaxe: rm (arquivo 1) (arquivo 2) ... (arquivo n)

onde (arquivo 1) at (arquivo n) so os arquivos a serem apagados. Se um arquivo


no possuir permisso de escrita e a sada-padro for um terminal, todo o conjunto de
permisses do arquivo ser exibido, seguido por um ponto de interrogao. um pedido de
confirmao. Se a resposta comear com "y" ("yes" = sim), o arquivo ser apagado, caso
contrrio ele ser mantido no sistema.
Quando voc apaga um arquivo com o comando "rm", voc est apagando somente
um link (ligao ou entrada) para um arquivo. Um arquivo somente ser apagado
verdadeiramente do sistema quando ele no possuir mais nenhuma ligao para ele, isto ,
nenhum link referenciando-o. Geralmente, arquivos possuem somente um link, portanto o
uso do comando "rm" ir apagar o(s) arquivo(s). No entanto, se um arquivo possuir muitos
links, o uso de "rm" ir apagar somente uma ligao; neste caso, para apagar o arquivo,
necessrio que voc apague todos os links para este arquivo.
Voc pode verificar o nmero de links que um arquivo possui utilizando o comando ls,
com a opo "-l".

Opes:

f - Remove todos os arquivos (mesmo se estiverem com proteo de escrita) em


um diretrio sem pedir confirmao do usurio.
i - Esta opo pedir uma confirmao do usurio antes de apagar o(s) arquivo(s)
especificado(s).
r - Opo recursiva para remover um diretrio e todo o seu contedo, incluindo
quaisquer subdiretrios e seus arquivos.

CUIDADO : diretrios e seus contedos removidos com o comando "rm -r" no podem
ser recuperados.

5.11.1 Excluindo diretrios inteiros


Voc pode remover o diretrio inteiro usando o flag r

$ rm -r tempInstall

Quando voc est certo de que deseja excluir um diretrio inteiro, vai querer usar o
flag f do comando rm.

24
$ rm -rf tempInstall

5.12 rmdir

utilizado para apaga diretrios vazios.

Sintaxe: rmdir (diretrio 1) (diretrio 2) ... (diretrio n)

onde (diretrio 1) at (diretrio n) so os diretrios a serem apagados. O comando


"rmdir" se recusa a apagar um diretrio inexistente, exibindo a mensagem:

rmdir : (nome-do-diretrio) : No such file or directory

Quando usar "rmdir", lembre-se que o seu diretrio de trabalho corrente no pode
estar contido no(s) diretrio(s) a ser(em) apagado(s). Se voc tentar remover seu prprio
diretrio corrente, ser exibida a seguinte mensagem:
rmdir : . : Operation not permited

Se o diretrio o qual voc deseja remover no estiver vazio, utilize o comando "cd"
para acessar os arquivos dentro do diretrio, e ento remova estes arquivos utilizando o
comando "rm".
Opes:
-p Permite aos usurios remover o diretrio e seu diretrio pai, o qual se torna vazio. Uma
mensagem ser exibida na sada padro informando se o caminho ("path") inteiro foi
removido ou se parte do caminho persiste por algum motivo.
CUIDADO : diretrios removidos com o comando "rmdir" no podem ser
recuperados!

5.13 mv

Vamos comear considerando a operao bsica de movimentao:

$ mv FileOne /tmp

possvel mover o arquivo para o diretrio /tmp e mudar o seu nome usando o
seguinte comando:

$ mv FileOne /tmp/NewFileName

Usando esse conceito, voc pode renomear um arquivo. Basta mover um arquivo de
seu nome existente para um novo nome no mesmo diretrio:

$ mv FileOne NewFileName

Ao copiar arquivos, possvel mover vrios deles de uma vez, pois o comando mv
pode aceitar mais de dois argumentos e o ltimo argumento servir como diretrio de destino
da movimentao.

$ mv *.bak *.tmp *.old /tmp


25
possvel mover diretrios inteiros com o comando mv, sem usar nenhum flag
especial. Se houvesse um subdiretrio chamado TheDir no diretrio atual e quisssemos
mov-lo de modo que ele se tornasse um subdiretrio sob /tmp, usaramos o comando mv
exatamente como fizemos para arquivos:

$ mv /Thedir /tmp
Opes:

b - Far uma cpia de segurana de arquivos que sero sobrepostos pela


movimentao, caso j existam arquivos com aqueles nomes no volume de
destino.
u - Atualiza apenas os arquivos que tiverem data de atualizao anterior ao que
est sendo movido sobre outro, j existente. Assim sendo, apenas os mais novos
iro substituir as verses mais antigas.

5.14 cat

Oficialmente usado para concatenar arquivos. Tambm usado para exibir todo o
contedo de um arquivo de uma s vez, sem pausa.

Sintaxe: cat < arquivo1 > < arquivo2 >... < arquivo n >,

onde (arquivo1) at (arquivo n) so os arquivos a serem mostrados. "cat" l cada


arquivo em seqncia e exibe-o na sada padro. Deste modo , a linha de comando:

cat < arquivo >

exibir o arquivo em seu terminal; e a linha de comando :

cat < arquivo1 > < arquivo2 > > < arquivo3 >

concatenar "arquivo1" e "arquivo2", e escrever o resultado no arquivo 3 . O


smbolo ">", usado para redirecionar a sada para um arquivo, tem carter destrutivo; em
outras palavras, o comando acima escrever por cima do contedo de < arquivo3 >. Se, ao
invs disto, voc redirecionar com o smbolo ">>", a sada ser adicionada a <arquivo3 >, ao
invs de escrever por cima de seu contedo.

5.15 chgrp

Modifica o grupo de um arquivo ou diretrio.

Sintaxe: chgrp [-f] [-h] [-R] gid nome-do-arquivo

"chgrp" modifica o identificador de grupo ("group ID" , gid) dos arquivos passados
como argumentos. "gid" pode ser um nmero decimal especificando o group id, ou um nome
de grupo encontrado no arquivo "/etc/group". Voc deve ser o proprietrio do arquivo, ou o
superusurio, para que possa utilizar este comando.
Opes:
26
-f Esta opo no reporta erros
-h Se o arquivo for um link simblico, esta opo modifica o grupo do link simblico. Sem
esta opo, o grupo do arquivo referenciado pelo link simblico modificado.
-R Esta opo recursiva. "chgrp" percorre o diretrio e os subdiretrios, modificando o
GID medida em que prossegue.

5.16 chmod

Modifica as permisses de um arquivo ou diretrio. Voc deve ser o proprietrio de um


arquivo ou diretrio, ou ter acesso ao root, para modificar as suas permisses.

Sintaxe : chmod permisses nome_do_arquivo


onde :
permisses - indica as permisses a serem modificadas;
nome - indica o nome do arquivo ou diretrio cujas permisses sero afetadas.

As permisses podem ser especificadas de vrias maneiras. Aqui est uma das
formas mais simples de realizarmos esta operao :

1- Use uma ou mais letras indicando os usurios envolvidos: . u (para o usurio) . g


(para o grupo) . o (para "outros") . a (para todas as categorias acima)

2- Indique se as permisses sero adicionadas (+) ou removidas (-).

3- Use uma ou mais letras indicando as permisses envolvidas : . r (para "read") (ler) .
w (para "write") (escrever) . x (para "execute") (executar)

Exemplo : No exemplo a seguir, a permisso de escrita ("write") adicionada ao


diretrio "dir1" para usurios pertencentes ao mesmo grupo. (Portanto, o argumento
"permisses" g+w e o argumento "nome" dir1).

$ ls -l dir1
drwxr-xr-x 3 dir1 1024 Feb 10 11:15 dir1
$ chmod g+w dir1
$ ls -l dir1
drwxrwxr-x 3 dir1 1024 Feb 10 11:17 dir1

Como voc pde verificar, o hfen (-) no conjunto de caracteres para grupo foi
modificado para "w" como resultado deste comando.
Quando voc cria um novo arquivo ou diretrio, o sistema associa permisses
automaticamente. Geralmente, a configurao "default" (assumida) para os novos arquivos :

-rw-r--r--

e para novos diretrios :

drwxr-xr-x

27
5.17 chown

Modifica o proprietrio de um arquivo ou diretrio.

Sintaxe: chown [-fhR] (proprietrio) (nome-do-arquivo)

O argumento "proprietrio" especifica o novo proprietrio do arquivo. Este argumento


deve ser ou um nmero decimal especificando o userid do usurio ou um "login name"
encontrado no arquivo "/etc/passwd".
Somente o proprietrio do arquivo ( ou o superusurio ) pode modificar o proprietrio
deste arquivo.
Opes:
-f Esta opo no reporta erros.
-h Se o arquivo for um link simblico, esta opo modifica o proprietrio do link simblico.
Sem esta opo, o proprietrio do arquivo referenciado pelo link simblico
modificado.
-r Esta opo recursiva. "chown" percorre o diretrio e os subdiretrios, modificando as
propriedades medida em que prossegue.

5.18 du

Exibe o espao ocupado de um diretrio e de todos os seus subdiretrios, em blocos


de 512 bytes; isto , unidades de 512 bytes ou caracteres.
"du" mostra a utilizao do disco em cada subdiretrio.

5.19 date

Exibe a data configurada no sistema.


O comando "date", a nvel de usurio, exibe na tela a data configurada no sistema. Ele
pode ser usado com opes que mostram a data local ou data universal GMT - Greenwich
Mean Time. A configurao dos dados deste comando s podem se realizadas pelo super-
usurio.
Para exibir a data local, basta executar "date". Caso queira a data GMT utilize a opo
"-u".
$date
Wed Jan 8 12:05:57 EDT 1997
Aqui a data exibida em 6 campos que representam o dia da semana abreviado, o
ms do ano abreviado, o dia do ms, a hora disposta em horas/minutos/segundos, a zona
horria e o ano.
Podemos acertar a hora, usando o comando na seguinte forma:
$date s 09:30 (formato hora:minuto)
ou
$date s 09/18 (formato mm/dd)

5.20 file

Exibe o tipo de um arquivo.

28
Alguns arquivos, tais como arquivos binrios e executveis, no podem ser
visualizados na tela. O comando "file" pode ser til se voc no tem certeza sobre o tipo do
arquivo. O uso do comando permitir a visualizao do tipo do arquivo.
Exemplo : $file copyfile
copyfile: ascii text

5.21 init / telinit

o pai dos processos. O seu papel principal criar os processos a partir de


programas armazenados no arquivo /etc/inittab. Este arquivo tem entradas que fazem com
que o init inicie gettys em cada linha que os usurios podem usar para acessar o sistema.
Ele controla ainda processos autnomos requeridos por qualquer sistema em particular.

5.21.1 Nveis de execuo


uma configurao de software do sistema que permite que um grupo selecionado de
processos sejam inicializados. Os processos acionados por init para cada um dos nveis de
execuo so definidos no arquivo /etc/inittab. Init pode estar em um dos oito nveis de
execuo: 0-6 e S ou s.

5.21.2 Iniciando
Aps o init ser iniciado com o ltimo passo da sequencia de inicializao, ele procura
pelo arquivo /etc/inittab e verifica se h alguma entrada para o tipo initdefault. A entrada
initdefault define o nvel de execuo inicial do sistema. Caso no haja tal entrada, um nvel
de execuo deve ser informado na console do sistema.

5.21.3 Telinit
/sbin/telinit um link simblico de /sbin/init. Ele recebe um argumento de um
caracter e sinaliza ao init para executar a ao apropriada. Os seguintes argumentos servem
como diretivas para telinit:

0,1,2,3,4,5 ou 6 - Dizem ao init para mudar o nvel de execuo.

a,b,c - Dizem ao init para processar somente aquelas entradas no arquivo


/etc/inittab que tenham os nveis de execuo a,b ou c.

Q ou q - Dizem ao init para reexaminar o arquivo /etc/inittab.

S ou s - Dizem ao init para entrar em modo monousurio.

5.22 runlevel

Encontra o nvel de execuo anterior e o atual do sistema.

# runlevel [utmp]

O comando runlevel l o arquivo utmp do sistema (normalmente /var/run/utmp) para


localizar o registro do nvel de execuo, mostrando o nvel de execuo anterior e o atual na
29
sada padro, separado por um espao simples. Se no existir um nvel de execuo
anterior, a letra N ser impressa em seu lugar.

5.23 type

Mostra a localizao de um arquivo. type


Este comando mostra a localizao de um arquivo, atravs do caminho do sistema.

[marisa@guarani log]$ type bash


bash is /bin/bash

5.24 diff

Compara dois arquivos em formato texto linha a linha.


O comando diff procura encontrar o menor conjunto de diferenas entre as linhas dos
arquivos, listando as que devem ser mudadas no primeiro arquivo para torn-lo idntico ao
segundo.
Exemplo:

[marisa@guarani log]$ diff linguagens linguagens.old


2c2
< java - ainda vai ser boa um dia
---
> java - ainda vai ser uma boa linguagem um dia

5.25 zip

Programa de compactao de arquivos.


O zip um comando de compresso e empacotamento de arquivos. Ele anlogo
combinao dos comandos tar e compress e compatvel com o pkzip e winzip das
plataformas DOS/Windows.
Exemplo:
[marisa@guarani log]$ l previsao
-rw-rw-r-- 1 marisa marisa 3274 jul 27 11:37 previsao
[marisa@guarani log]$ zip previsao previsao
adding: previsao (deflated 59%)
[marisa@guarani log]$ l previsao*
-rw-rw-r-- 1 marisa marisa 3274 jul 27 11:37 previsao
-rw-rw-r-- 1 marisa marisa 1497 jul 27 11:44 previsao.zip

5.26 sort

Ordena as linhas de arquivos texto.


O comando sort ordena as linhas de um arquivo texto. Existem diversas opes de
ordenamento: ascendente, descendente, por campo do arquivo, etc.
Exemplo:

30
[marisa@guarani log]$ ls l alunos
-rw-rw-r-- 1 marisa marisa 3274 jul 27 11:37 alunos

[marisa@guarani log]$ cat alunos


linus
alan
bill
eric

[marisa@guarani log]$ sort alunos


alan
bill
eric
linus

[marisa@guarani log]$ sort r alunos


linus
eric
bill
alan

5.27 cut

Seleciona campos de uma tabela. cut


A entrada padro tratada como uma tabela. O comando seleciona colunas da tabela
para serem removidas ou copiadas na sada padro.
Exemplo:
[marisa@guarani log]$ cat linguagens
C - o assembler do passado
Java ainda vai ser boa um dia
Perl - existe mais de um jeito de fazer isso
Php - pr processador html
[marisa@guarani log]$ cut -c1-5 linguagens
C - o
Java
Perl
Php
[marisa@guarani log]$ cut -d - -f 1 linguagens
C
Java
Perl
Php

[marisa@guarani log]$ cut -d - -f 2 linguagens


o assembler do passado
ainda vai ser boa um dia
existe mais de um jeito de fazer isso
pr processador html

31
5.28 tr

Converte ou remove caracteres. tr


Este comando copia da entrada padro para a sada padro substituindo ou
removendo os caracteres selecionados. Qualquer caractere de entrada encontrado em expr1
convertido para o caractere da posio correspondente em expr2.
Exemplo:

[marisa@guarani log]$ tr a-z A-Z < linguagens


C - O ASSEMBLER DO PASSADO
JAVA AINDA VAI SER BOA UM DIA
PERL - EXISTE MAIS DE UM JEITO DE FAZER ISSO
PHP - PR PROCESSADOR HTML

5.29 Outros comandos

comm: Compara dois arquivos para determinar quais linhas so comuns entre eles.
mail: Usado para receber ou enviar e-mail.
tset: Escolher o tipo de terminal.
umask: Permite que o usurio especifique uma nova criao de camuflagem.
uniq: Compara dois arquivos. Procura e exibe em linhas o que e incomparvel em um
arquivo.
wc: Exibe detalhes no tamanho do arquivo.
write: Usado para mandar mensagens para outro usurio.

5.30 Criando vnculos simblicos

Os vnculos simblicos (que so apenas ponteiros para um arquivo real em outra


posio) so usados normalmente por administradores de sistema e projetistas de
aplicativos.
Usa-se o comando ln com o flag s para indicar um vnculo simblico.

$ ln -s /bin/cp MyCopy (cria um vnculo chamado MyCopy para acessar


virtualmente o diretrio /bin/cp).

32
6- Processadores de textos sob Linux

6.1 PICO

O editor de textos pico de domnio pblico. Foi elaborado para ser simples, amigvel
ao usurio, com layout similar ao programa de correio eletrnico PINE.
Os comandos de edio e de movimentao de cursor (alm das teclas de setas) so
obtidos no pico atravs da digitao de seqncias " tecla control + letra " . A designao "^"
utilizado para indicar a tecla control, de forma que a seqncia control q, por exemplo,
representada por " ^Q " , indicando que as teclas control e q devem ser pressionadas
simultaneamente.
Utilizamos como conveno o carter " % " para indicar o prompt da sua mquina.
Para obter mais informaes sobre o pico, digite :

% man pico

,ou solicite o help interativo quando estiver utilizando o editor, acionado sempre com "
^G "

6.1.1 Acionando o Pico


Digite pico no prompt da sua conta:
%pico
Imediatamente aparecer a tela de trabalho do editor. A linha de status no alto da tela
mostra verso do programa que voc est usando, o nome do arquivo que est sendo
editado e indica se este arquivo foi ou no alterado. A terceira linha a partir do rodap da tela
utilizada para mensagens de informao ou para comandos adicionais. As duas linhas no
rodap possuem os principais comandos do pico.
Se voc digitar pico seguido de um nome, da seguinte forma:
% pico catlogo
, ser criado um novo arquivo com o nome informado.

Cada caracter digitado aparece automaticamente no arquivo editado, exatamente na


posio em que se encontra o cursor.
Para editar um arquivo j existente, digite pico seguido do nome do arquivo:
%pico teste
e o arquivo aparecer automaticamente na tela de edio.

6.1.2 Comandos de movimentao bsica do cursor


O cursor pode ser movimentado utilizando-se das teclas de setas.
^C - informa a posio do cursor ao ser digitado o comando. Informa a linha em que o
cursor se encontra, o total de linhas e o caracter em que se encontra.
^F - move o cursor para o prximo caracter
^B - move o cursor para o caracter anterior
^P - move o cursor para a linha imediatamente superior
33
^N - move o cursor para a linha imediatamente inferior
^E - move o cursor para o final na linha em que se encontra
^A - move o cursor para o inicio da linha em que se encontra

6.1.3 Comandos de movimentao da tela

^V - Prev Pg - move o cursor para a tela seguinte (abaixo)


^Y - Next Pg - move o cursor para a tela anterior (acima)

6.1.4 Comandos de deleo


So os comandos que permitem eliminar palavras ou trechos do arquivo.
^D - apaga o caracter sob o cursor
^K - Del Line - apaga toda a linha em que o cursor se encontra
A tecla de backspace apaga o caracter imediatamente anterior ao cursor

6.1.5 Errou? Como cancelar uma operao


O pico possui os seguintes comandos para cancelamento de operaes:
^U - Underline- volta a inserir as linhas anteriormente apagadas
^C - Cancel - cancela a operao. Este comando no est disponvel o tempo inteiro.
Ele pode ser usado para cancelar as seguintes operaes:
- insero de um arquivo: ^R
- sair do editor: ^X

6.1.6 Outros comandos de edio

^I - Insere uma tabulao aonde se encontra o cursor.


^O - WriteOut - escrevendo por cima . Este comando grava o arquivo em edio com
novo nome. Ao ativar o comando, o programa pedir o novo nome do arquivo.
^J - Justify - justifica o texto digitado, eliminando quebras de linha, linhas em branco e
o alinhamento normal a esquerda.

6.1.7 Busca/substituio
^W - Este comando realiza a busca de uma letra, palavras ou seqncias de palavras.
Voc digita o comando e em seguida ele solicita que informe a seqncia para busca.

6.1.8 Inserindo um arquivo no meio de um texto.


Para inserir um arquivo no meio de um texto que estiver sendo editado, utilize os
seguintes procedimentos:

^R - Read File - Inserindo um arquivo no meio do texto. Este comando permite que
voc insira um arquivo j existente em sua conta, no corpo do texto que estiver editando. O
arquivo inserido aparecer a partir da posio em que se encontrar o cursor.
Ao digitar o comando ^R , vo aparecer as seguintes opes:
34
Insert file:
^G - Get Help ^C - Cancel ^T - To files
Caso voc j saiba o nome do arquivo, basta digita-lo ao lado da linha
Insert file:
Com os novos comandos:
^G - Get Help - voc obtm uma explicao sobre o comando ^R
^C - to cancel - cancela a operao
^T - oferece a lista dos arquivos e diretrios que existem no seu diretrio corrente.
Para caminhar nesta lista, utilize as teclas com seta e para selecionar um arquivo ou
diretrio, pressione a tecla enter ou return.

6.1.9 Refresh
^L - comando para "limpar" a tela. utilizado por exemplo para retirar do meio do seu
texto uma chamada de talk ou mensagem recebida atravs do comando write.

6.1.10 Salvar

Para salvar um texto durante a edio, sem sair do editor, digite o comando ^O e informe
ao sistema o nome do arquivo em que deve ser gravado o texto digitado.

6.1.11 Salvar e sair/ Sair sem salvar


^X - saindo do pico

Ao ativar este comando o editor vai perguntar ser voc deseja salvar ou no o arquivo.
Caso voc diga que no, a edio abandonada. Caso diga que sim, ele solicita que voc
d um nome ao arquivo.
Oferece tambm a opo de help sobre o comando X , obtido com G e a opo de
cancelar a operao ( ^C ) ou de listar arquivos ( ^T ).

35
7- Entendendo o Shell
O Shell (concha) como o prprio nome indica serve de ponto de contato entre o
utilizador e o sistema. o ambiente de linha de comandos um interpretador de comandos
semelhante ao prompt do DOS.
Ao contrrio do prompt do DOS que um ambiente fixo com flexibilidade limitada, os
shells do Unix so pequenos programas aplicativos, executados como processos quando
voc se conecta, que fornece uma variedade de caractersticas de interface de linha de
comandos e recursos de acordo com diferentes usurios e aplicativos.
De um lado temos o utilizador que no entende o funcionamento e a complexidade
inerente ao corao do sistema operativo(kernel) , e que no consegue estabelecer qualquer
tipo de comunicao diretamente com este. Do outro, temos o sistema operativo que no
entende a linguagem humana, e que se gere por um conjunto de regras e definies
complexas. Entre os dois existe o shell.
Ela recebe as instrues do utilizador e passa-as para o sistema. Por exemplo,
quando se executa um simples "cat", a shell lana um processo filho que ir disparar um
conjunto de bibliotecas de sistema que por sua vez iro reservar recursos, mapear e proteger
zonas de memria (entre outras operaes complexas), no entanto, para o utilizador a nica
conseqncia visvel ser o de ver o contedo de um ficheiro na sua console.
No mundo Unix e, por extenso, no Linux existem numerosos shells para se escolher.
Cada shell oferece um conjunto de caractersticas e recursos diferentes, e a maioria oferece
sua prpria linguagem de script (programa de execuo automtica).
As principais funes de uma shell so:
Interpretao de comandos : quer em modo interativo, quer como interpretador de
shell script.
Controle de processos : Gesto de "jobs".
Mecanismo de memorizao de comandos: Guarda os ltimos comandos dados pelo
utilizador.
Correo de Erros: Correo ortogrfica de erros.
Completa/Lista comandos/ficheiros: Com a tecla TAB permite "adivinhar" a partir da
letra inicial os possveis comandos/ficheiros (timo quando surgem os diretrios com
nome extensos, tpicas em Unix)

7.1 Comparando Shells

Existem duas classes principais de shell - aqueles que derivam sua sintaxe bsica e
design do Bourne Shell (Bash) e aqueles cujo modelo tem por base o C Shell.
Bourne Shell (sh) - Sob diversos aspectos, ele muito limitado, carecendo de
recursos como uma lista de histrico e edio de linha de comandos. Ele capaz de testar
programas quanto ao status de sucesso e falha ao terminarem a execuo, o que possibilitou
a existncia de scripts sofisticados.
C Shell (csh) - O C-shell13.3 ao mesmo tempo interpretador de comandos e
linguagem de programao (baseada em C), tem variveis shell e variveis de usurio.
Oferece funes especficas como por exemplo:
Funo HISTORY: Permite que o usurio repita e manipule os comandos que
constam da lista.
Funo ALIAS: Possibilita a criao de uma grande variedade de comandos
simples.
36
Bourne Again Shell (bash) - o shell mais comum instalado com as distribuies
Linux. Tem por base o Bourne Shell, mas fornece um conjunto de recursos mais amplo,
incluindo edio de linha de comandos, uma lista de histrico e trmino de nome de arquivo.
Korn Shell (ksh) - O Korn Shell foi provavelmente o primeiro a introduzir muitos dos
recursos populares que agora vemos no bash, incluindo a edio de linha de comandos.

7.2 Experimentando diferentes shells

Voc pode experimentar os shells sem torn-los padro apenas executando-os como
um programa dentro de seu shell padro. Os shells se encontram no diretrio /bin. Para
voltar ao shell anterior basta digitar exit.
Para mudar o shell padro que executado quando voc se conecta em seu sistema,
preciso mudar sua entrada no arquivo de senhas do Unix. Voc pode fazer isso usando o
comando chsh.

$ chsh -s /bin/tcsh someuser (muda o shell de someuser para /bin/tcsh)

7.3 Viso geral do Shell Bash

Quando voc se conecta no prompt login:, vrias coisas acontecem. A primeira delas
a ativao de seu Shell (nesse caso, o Bash), seguida da execuo de todo arquivo de
configurao que voc possa ter criado para seu ambiente Bash pessoal.
Para fornecer uma configurao personalizada no Bash, voc precisa criar um arquivo
chamado .bashrc em seu diretrio de base. Trata-se de um simples arquivo de texto, que
executado pelo Bash quando voc ativa o Shell - geralmente, quando voc se conecta.
no arquivo .bashrc que voc pode configurar o comportamento do Bash, definir
variveis de ambiente, como o seu path, e ativar todos os programas que quiser, sempre que
executar o Shell Bash.

7.4 Definindo variveis de ambiente no Bash

Cada Shell possui sua prpria sintaxe para a definio de variveis de ambiente. No
Bash, geralmente isso feito em duas etapas:

1. Definir o valor de uma varivel.


2. Exportar a varivel para o ambiente.

Se quisermos designar o emacs como nosso editor de textos padro, poderemos


definir a varivel de ambiente EDITOR com o comando
$ EDITOR=emacs
e export-la com
$ export EDITOR
As duas etapas podem ser combinadas em uma s, onde atribumos um valor para
EDITOR e exportamos EDITOR em um nico comando:

$ export EDITOR=emacs
37
O valor das variveis de ambiente podem ser acessados incluindo-se o smbolo $ no
incio do nome da varivel em um comando Bash. Desse modo, podemos incluir informaes
no valor atual de uma varivel de ambiente. Por exemplo, se a varivel PATH contm
atualmente

/bin:/usr/bin:/usr/X11R6/bin

podemos incluir /usr/local/bin no path, usando o comando

$ export PATH=$PATH:/usr/local/bin

7.5 Shell Script

O shell possibilita a interpretao tanto de comandos digitados quanto de shell script,


que no nada mais do que um arquivo texto com seqncias de comandos e com
permisso de execuo. Para criar o shell script, crie um arquivo de texto e ajuste suas
permisses para que ele se torne executvel. Este arquivo pode ser criado com um editor
como o vi ou simplesmente o redirecionamento para um arquivo da sada de um comando
cat. Nota: para tornar um arquivo texto em um shell script deve-se usar o comando chmod
para mudar suas permisses de acesso.

7.6 Redirecionamento de entrada e sada

Normalmente os programas no-interativos recebem seus dados de entrada atravs


da entrada padro normalmente o teclado. Analogamente, eles apresentam seus
resultados na sada padro normalmente, a tela. O usurio pode, atravs do
redirecionamento de E/S, redefinir de onde um comando ou programa receber sua entrada
e para onde enviar sua sada. A entrada de um comando so os dados sobre os quais o
comando ir operar. Estes dados podem vir de um arquivo especificado pelo usurio, de um
arquivo de sistema, do terminal ou da sada de outro comando. A sada de um comando o
resultado da operao que ele realiza sobre a entrada. A sada dos comandos pode ser
impressa na tela do terminal, enviada a um arquivo, ou servir de entrada para outro
comando.
Exemplos de Sadas Padro:

[marisa@guarani marisa]$ ls -l /bin > /tmp/arquivos_bin

[marisa@guarani marisa]$ l /tmp/arquivos_bin


-rw-rw-r-- 1 marisa marisa 5469 jul 29 10:05 /tmp/arquivos_bin

[marisa@guarani marisa]$ echo "teste de sada padro"


teste de sada padro

[marisa@guarani marisa]$ echo "teste de sada padro" > /tmp/sada

[marisa@guarani marisa]$ cat /tmp/sada


teste de sada padro

38
Exemplos de Entrada Padro:

[marisa@guarani marisa]$ sort < /etc/fstab


/dev/fd0 /mnt/floppy ext2 noauto 00
/dev/hda1 swap swap defaults 00
/dev/hda5 / ext2 defaults 11
/dev/hda6 /usr ext2 defaults 12
/dev/hda7 /home ext2 defaults 12
none /proc proc defaults 00

7.6.1 Dutos ou Pipes ( | )


Utilizado como conexo de utilitrios. uma maneira de redirecionar as entradas e
sadas, de modo que a sada de um comando torna-se a entrada do comando seguinte.
Pode-se usar vrios dutos em uma mesma linha de comando, de maneira que possvel
combinar tantos comandos quantos forem necessrios.

$ ls -l | more

7.7 Trmino de nome de arquivo

Se voc digitar caracteres suficientes para identificar exclusivamente um arquivo,


comando ou nome de diretrio, o bash poder completar o restante do nome

$ /usr/lo

Simplesmente pressionando-se a tecla Tab, o bash tentar completar o nome para


voc, neste caso preenchendo o texto para indicar /usr/local.
Em algumas ocasies voc pode ter mais de uma referncia e o bash ficar confuso ao
completar o nome. Nesse caso voc deve teclar o Tab duas vezes. Ser apresentado todas
as alternativas possveis. Voc tem a liberdade de digitar caracteres suficientes para
identificar exclusivamente o nome desejado e pressionar Tab novamente.
O Bash consegue completar nomes de arquivo ou diretrio sem fornecer um PATH
completo

$ gr

o Bash procurar no PATH, nomes que combinem com os caracteres introduzidos.


O Bash apresentar a voc uma lista de alternativas possveis:

grep groff grotty

Se voc quiser o comando grep, basta digitar e e, em seguida, pressionar Tab


novamente, e o Bash completar o comando automaticamente.

39
7.8 Alias de comando

Permite definir seus prprios comandos personalizados.

$ alias psa= ps -aux | more

Se voc quiser criar alias de comando permanentes, deve defini-los em seu arquivo
.bashrc
Alm de oferecer um modo de criar atalhos para os comandos mais usados, o alias de
comando pode ser usado para proteg-lo de erros importantes.

alias cp=cp -i
alias mv=mv -i
alias rm=rm -i

7.9 Edio de linha de comandos

Permite que voc use as teclas de seta para se mover na linha de comando atual,
exclua e insira os caracteres necessrios e pressione Enter para executar o comando sem
mover o cursor para o final da linha.
Por padro, o Bash tem a insero ativada; portanto, se voc digitar novos caracteres,
eles sero inseridos no cursor, em vez de sobrescrever os caracteres existentes.
O Bash fornece vrios atalhos de teclado teis para acelerar a edio, especialmente
com linhas de comando longas.

Atalho de Ao
teclado
Ctrl + A Pula para o incio da linha
Ctrl + E Pula para o final da linha
Esc, B Retrocede uma palavra
Esc, F Avana uma palavra
Ctrl + L Limpa a tela e apresenta o comando corrente como a primeira linha da
tela
Ctrl + T Transpe o caractere esquerda do cursor com o caractere de sua
posio atual
Esc, T Transpe o palavra esquerda do cursor com o palavra de sua
posio atual
Esc, U Transforma a palavra atual em maisculas
Esc, L Transforma a palavra atual em minsculas
Ctrl + K Exclui da posio atual do cursor at o final da linha.

7.10 Lista de histrico de comandos

Todo comando que voc executa includo em um buffer de lista de histrico, que
pode ser acessado na ordem inversa a partir do comando mais recente executado,
terminando com o ltimo.

40
Assim como na edio de linha de comandos, existem alguns atalhos de tecla
avanados para executar funes mais elaboradas com a lista de histrico de comandos.

Atalho de Ao
teclado
Ctrl + P Move para o comando anterior na lista de histrico
Ctrl + N Move para o prximo comando na lista de histrico
Esc, < Pula para o incio da lista de histrico (o comando menos recente)
Esc, > Pula para o final da lista de histrico (o comando mais recente)
Ctrl + R Pesquisa reversa na lista de histrico

O mais interessante deles Ctrl + R, que permite pesquisar para trs na lista de
histrico de maneira dinmica e interativa: quando voc comea a digitar um comando, o
Bash mostra o comando mais recente que combina com o que foi digitado at o momento.

(reverse-i-search) :

A medida que voc digita as letras do comando especfico, o Bash localiza o comando
mais recente que corresponda string introduzida. Demonstrado o comando que voc
deseja executar apenas tecle Enter.

7.11 Controle de tarefa


Usando o controle de tarefas possvel utilizar um nico shell para executar e
controlar vrios programas que estejam em execuo simultnea.
Normalmente, quando voc executa um comando, ele atua em primeiro plano. Ou
seja, o shell executa o comando e o prompt no retorna at que o comando esteja concludo.
No caso de programas interativos, como o emacs, isso significa que o programa assume o
controle da tela ou janela em que o shell est funcionando e somente quando voc sai do
programa que o prompt de comando se torna novamente disponvel. No caso de
programas no-interativos, como o find, o programa ser executado e, mesmo que no
apresente nada na tela, o prompt de comandos no retorna at o programa termine.

$ find / -name *.tmp -print >templist

a que entra a idia de execuo de um programa em segundo plano. O modo mais


fcil de colocar uma tarefa em segundo plano incluindo um E comercial (&) no final do
comando, quando voc execut-lo.

find / -name *.tmp -print >templist &

Usando o comando jobs do Bash possvel controlar as tarefas que esto em


execuo em segundo plano.

[1] Running find / -name *.tmp -print >templist &


[2] + Running ls -lR / >dirlist &

Se voc j iniciou um programa em primeiro plano e quer coloc-lo em segundo plano,


pode fazer isso. O atalho Crtl + Z interpretado pelo Bash como um pedido para suspender
41
temporariamente o processo atual. Podemos ento colocar a tarefa em segundo plano com o
comando bg

$ bg 1

onde 1 especifica o nmero da tarefa. Se houver apenas uma tarefa interrompida, no


ser necessrio especificar o seu nmero. Quando uma tarefa interrompida for colocada em
segundo plano, digitar jobs voc ver ativar novamente (running).
s vezes, til suspender temporariamente uma tarefa sem coloc-la em segundo
plano. Isso particularmente verdade quando voc est usando um aplicativo interativo,
como o emacs ou outro editor de textos, e quer executar um ou mais comandos e depois
retornar sua edio. Em vez de sair do editor, mais fcil usar Ctrl + Z para interromper a
tarefa do editor, executar seus comandos desejados e depois retornar a tarefa interrompida
para o primeiro plano.
Para enviar uma tarefa interrompida para o primeiro plano, voc pode usar o comando
fg.

$ fg nmero da tarefa

Existem ocasies em que voc desejar finalizar ou eliminar uma tarefa interrompida
ou de segundo plano. O comando kill pode ser usado para eliminar um comando de acordo
com uma ID de processo (PID) ou nmero da tarefa.

$ kill %2 ( necessrio o sinal de % para identificar a tarefa)

7.12 Expanso de padro

Uma das vantagens do Bash a capacidade de usar padres poderosos para


especificar um ou mais comandos ou arquivos.
Suponhamos que queiramos encontrar um arquivo especfico e tudo que sabemos
que o nome de arquivo comea com a letra z. Ento, o comando

$ ls -l z*

O que acontece aqui que o Bash constri uma lista de todos os nomes que
comeam com z e depois substitui z* por essa lista, efetivamente passando todos os
nomes de arquivo como argumentos para o comando ls l.

7.13 Expanso de nome de Path

Suponhamos que queiramos listar todos os arquivos cujos nomes tenham trs letras
de comprimento e comecem com a e terminem com z.

$ ls -l a?z

Suponhamos que queiramos listar todos os arquivos que comeam com as letras a, b,
c ou d.

$ ls l [abcd]*
42
Entretanto, como a, b, c e d so uma seqncia contnua de letras, poderamos usar

$ ls - [a-d]*

Considere os casos em que estamos produzindo um arquivo compactado de todos os


diretrios de base em um sistema para propsitos de backup. Digamos que queremos
produzir um arquivo de todos os diretrios de base, exceto aqueles que comeam com a
letra m.

$ tar czvf home.tar.gz /home/[a-l]* /home/[n-z]*

Entretanto, podemos tornar as coisas mais fceis com

$ tar czvf home.tar.gz /home/[!m]*

7.14 Expanso de chave

Fornece um mtodo pelo qual possvel expandir uma expresso independentemente


de os nomes que estejam sendo gerados existirem realmente como arquivos ou diretrios.

$ mkdir testedir {1,2,3,4} (Cria os diretrios testedir 1, 2, 3 e 4)

importante lembrar que expresso de chave deve conter pelo menos uma vrgula.

Um recurso interessante da expanso de nome de path e da expanso de chave


que elas podem ser usadas dentro de outra expresso de chave. Isso possvel porque a
primeira expanso a ocorrer a expanso de chave.

$ chmod 644 testefile.{tx?,Bak,0[0-9]}

Isso mudaria as permisses em uma srie de arquivos, incluindo todo arquivo que
combinasse com a expresso testefile.tx?, testefile.Bak e testefile.00 a testefile.09.

7.15 Substituio de comandos

Com a substituio de comandos, a sada padro de um comando se torna um


argumento ou parmetro para outro comando.

$ gzip $ (find / -name *.bak -print)

Nesse caso compactaremos todos os arquivos que tenham a extenso .bak.

43
8- Dicas sobre modo texto
8.1 Configurando seu PATH

Para ver os atuais diretrios que esto como PATH, digite o seguinte:

echo $PATH

Se o diretrio desejado no estiver na lista, coloque-o assim:

PATH=$PATH:/diretrio/a/ser/colocado/no/path

Isso colocar o /diretrio/a/ser/colocado/no/path no PATH.

Obs.: Essas instrues so vlidas somente para uma seo! Ou seja, so


temporrios. Se voc quiser colocar um PATH permanente, coloque num profile pessoal. Se
quiser ser um PATH GLOBAL, coloque o diretrio no arquivo /etc/profile aonde indicado.

8.2 Qual a verso do Linux que estou a usar na minha mquina?

Para saber qual a verso do Linux existente na sua mquina, digite:

uname -a

8.3 Tudo sobre Linux para quem est migrando do DOS

Vamos agora aprender coisas simples:

Como sair do Linux. Se voc estiver no modo texto (terminal), s digitar


CTRL+ALT+DEL, se voc estiver no X-Window, voc ter primeiro que digitar
CTRL+ALT+BACKSPACE, depois voc digita CTRL+ALT+DEL. Nunca d Reset
na "tora", pois isso pode danificar seu sistema de arquivos, e algumas coisas voc
fez no vo ser salvas.

O Linux tem uma coisa que o DOS no tem, permisses, acessos. Voc est
logado como um usurio normal, e de repente quer executar algum programa ou
editar algum arquivo mas quando tenta, d "Permisson Denied". Quer dizer o que
voc est tentando no possvel fazer por voc como esse usurio. O usurio
que pode fazer tudo, eu disse TUDO no sistema, o root, ou seja, o administrador
do sistema.

Voc agora est no prompt. Se o prompt terminar em $ voc estar como usurio
normal, e quando estiver terminando em #, voc est como root. Voc agora quer
obter ajuda, tente o bom e velho:

$ help

44
Este comando lhe d ajuda sobre o bash (uma shell), se voc quiser ajuda sobre um
determinado comando, tente os manuais online:
$ man comando
Isso invoca o manual do comando. Voc pode tentar tambm:
$ apropos comando
$ whatis comando
e pressione 'q' para sair.
Quando voc v a sintaxe do comando, voc ter que saber que:

Na sintaxe do comando: $ tar -tf < file.tar > [> redir_file]


o < ... > significa uma coisa essencial ao comando
o ( ... ) significa uma coisa opcional

No exemplo acima, "file.tar" tem que ser identificado, e "> redir_file" opcional.

8.3.1 Comparando os comandos

Veja a tabela a seguir:

DOS Linux Notas


------------------------------------------------------------------------------------------------------

BACKUP tar -Mcvf device dir/ completamente diferente


CD dirname\ cd dirname/ quase a mesma sinta xe
COPY file1 file2 cp file1 file2 igual
DEL file rm file igual
DELTREE dirname rm -R dirname/ igual
DIR ls no exatamente a mesma sintaxe
EDIT file vi file eu acho que voc no vai gostar
emacs file este melhor
jstar file este tipo o edit do DOS
FORMAT fdformat, mount, umount sintaxe um pouco diferente
HELP command man command a mesma filosofia
MD dirname mkdir dirname/ quase a mesma sintaxe
MOVE file1 file2 mv file1 file2 igual
NUL /dev/null igual
PRINT file lpr file igual
PRN /dev/lp0, /dev/lp1 igual
RD dirname rmdir dirname/ quase a mesma sintaxe
REN file1 file2 mv file1 file2 no pra arquivos mltiplos
RESTORE tar -Mxpvf device sintaxe diferente
TYPE file less file MUITO melhor
WIN startx poles apart!
---------------------------------------------------------------------------------

45
8.3.2 Arquivos
A estrutura de arquivos do Linux similar ao do DOS, so estocados em diretrios,
alguns executveis outros no...

Aqui vai alguns conceitos bsicos:

No DOS, os arquivos so de forma 8.3, ou seja, no podem passar de


8digitos.3digitos. Um exemplo: NOTENOUG.TXT. No Linux, se voc instalou o
Linux usando uma partio ext2 ou umsdos, voc pode fazer melhor, pode colocar
nomes de arquivos longos (no mximo 255 caracteres)., um exemplo de arquivo
que o Linux pode fazer e o DOS no pode:

Este..um.arquivo.MUITO_grande

No DOS, os caracteres MAISCULOS e minsculos so tratados da mesma


forma. No Linux, eles so completamente diferentes, exemplo: ARQUIVO.tar.gz e
arquivo.tar.gz so dois arquivos diferentes, ls um comando e LS um erro.

No Linux no existe extenses .EXE, .COM especial para programas como o DOS.
Os programas executveis no Linux so marcados com um asterisco no final do
arquivo. Por exemplo:

$ ls -F
letter_to_Joe cindy.jpg cjpg* I_am_a_dir/ my_1st_script* old~

Os arquivos cjpg* e my_1st_script* so executveis. No DOS, arquivos de backup


terminam com extenso .BAK, no linux, eles terminam com um ~ (tio). No Linux, os
arquivos que comeam com um ponto so considerados ocultos. Por exemplo: o
arquivo .eu.sou.um.arquivo.oculto no mostrado com um comando ls normal;

8.3.3 Links Simblicos

No Unix, existe um tipo de arquivo que no existe no DOS: O link simblico. Ele pode
funcionar como um redirecionador para um arquivo ou um diretrio, e pode ser usado em
arquivos ou diretrios tambm. similar com os atalhos do Windows95. Exemplo de links
simblicos: /usr/X11, que redireciona para /usr/X11R6; /dev/modem, que redireciona para
/dev/cua0 ou /dev/cua1

Para criar um link simblico:

$ ln -s < file_or_dir > < linkname >

Exemplo:

$ ln -s /usr/doc/g77/DOC g77manual.txt

Agora voc pode referir para g77manual.txt ao invs de /usr/doc/g77/DOC.

46
Operadores de Redireo e Direo: < > >> |
Wildcards: * ?
nul: /dev/null
prn, lpt1: /dev/lp0 or /dev/lp1; lpr

- EXAMPLES -

DOS Linux
----------------------------------------------------------------------------
C:\HUGO>copy joe.txt joe.doc $ cp joe.txt joe.doc
C:\HUGO>copy *.* total $ cat * > total
C:\HUGO>copy fractals.doc prn $ lpr fractals.doc
C:\HUGO>del temp $ rm temp
C:\HUGO>del *.bak $ rm *~
C:\HUGO>move paper.txt tmp\ $ mv paper.txt tmp/
C:\HUGO>ren paper.txt paper.asc $ mv paper.txt paper.asc
C:\HUGO>print letter.txt $ lpr letter.txt
C:\HUGO>type letter.txt $ more letter.txt
C:\HUGO>type letter.txt $ less letter.txt
C:\HUGO>type letter.txt > nul $ cat letter.txt > /dev/null
n/a $ more *.txt *.asc
n/a $ cat section*.txt | less

Notas:

* melhor no Linux:
* mostra todos os arquivos exceto os ocultos;
.* mostra todos os arquivos ocultos; *.* mostra somente os que tiverem;
um "." (sem aspas) no meio, seguido de caracteres;
p*r mostra tudo que comear com p e terminar com r;
*c* mostra todos os arquivos que tiverem um c no meio.

Quando usado more, pressione SPACE para ler o arquivo, q ou CTRL-C para sair,
less melhor e deixa que voc use as setas do teclado.

No h UNDELETE, ento pense duas vezes antes de apagar alguma coisa;

Adicionando aos < > >> do DOS, o Linux tem 2> para redirecionar mensagens de
erro (stderr); 2>&1 redireciona srderr para stdout, enquanto 1>&2 redireciona
stdout para stderr;

O Linux tem mais um wildcardL o [ ].


v Use [abc]* mostra arquivos comeando com a, b, c;
v *[I-N,1,2,3] mostra arquivos terminando com I,J,K,L,M,N,1,2,3;

No existe um DOS RENAME; para isso se utiliza mv *.xxx *.yyy;

Use cp -i e mv -i para ser avisado quando um arquivo est para ser sobrescrito.
47
8.3.4 Multi-tarefa
O Linux um sistema multi-tarefa, por isso, ele pode ser acessado por vrios consoles
ao mesmo tempo, assim como pode ser rodado vrios programas ao mesmo tempo. Para
mudar o console do 1 a 6, utilize:

ALT+N (Onde N o nmero do console)

Exemplo:

ALT+1, ALT+2, ALT+3, ALT+4, ALT+5, ALT+6

Agora voc pode ir para o prximo console e o antecedente com:

ALT+RIGHT (Vai pra 1 console A FRENTE)


ALT+LEFT (Vai pra 1 console ATRS)

Se voc quiser ir para outra sesso em sair do console, utilize o comando su:

su < usurio >

Exemplo:

su root

Para sair da sesso:

$ exit

Cada programa executado, seja pelo boot ou a manualmente mesmo, fica identificado
com um PID. Para vizualizar estes PIDs, use o comando:

$ ps -a

E para terminar esses processos (fechar o programa), use:

$ kill < PID >

Quando algo suspendido, ou seja, deixado temporariamente (a maioria dos


programas so suspendidos com CTRL+Z). Depois de suspendido, voc pode retornar a eles
atravs do comando:

fg < job >

Onda job o programa que voc quer retornar.


Para saber quais programas esto suspendidos, tente o comando:

jobs

Para killar, ou seja, terminar algum programa suspendido:


48
kill < %job >

8.3.5 Diretrios
A estrutura de diretrios do Linux similar ao do DOS, mas existem algumas
diferenas entre o do DOS e o do Linux. Agora vou mostrar um exemplo de diferena:

DOS: C:\DOCS\LINUX\LINUXMAN.TEX
Linux: /home/hugo/docs/linuxmanual.tex
DIR: ls, find, du
CD: cd, pwd
MD: mkdir
RD: rmdir
DELTREE: rm -R
MOVE: mv

- EXAMPLES -

DOS Linux
---------------------------------------------------------------------

C:\GUIDO>dir $ ls
C:\GUIDO>dir file.txt $ ls file.txt
C:\GUIDO>dir *.h *.c $ ls *.h *.c
C:\GUIDO>dir/p $ ls | more
C:\GUIDO>dir/a $ ls -l
C:\GUIDO>dir *.tmp /s $ find / -name "*.tmp"
C:\GUIDO>cd $ pwd
n/a - veja nota $ cd
igual $ cd ~
igual $ cd ~/temp
C:\GUIDO>cd \other $ cd /other
C:\GUIDO>cd ..\temp\trash $ cd ../temp/trash
C:\GUIDO>md newprogs $ mkdir newp rogs
C:\GUIDO>move prog .. $ mv prog ..
C:\GUIDO>md \progs\turbo $ mkdir /progs/turbo
C:\GUIDO>deltree temp\trash $ rm -R temp/trash
C:\GUIDO>rd newprogs $ rmdir newprogs
C:\GUIDO>rd \progs\turbo $ rmdir /progs/turbo

Notas:

1. Quando usando rmdir, o diretrio para remover tem que estar vazio.
Para deletar o diretrio com o que contm dentro, use rm -R (em seu risco)

2. O caractere '~' um atalho para o nome do seu diretrio home. Os comandos cd ou


cd ~ fazem voc ir para seu home de onde voc estiver. o comando cd ~/tmp leva voc para
/home/voc/tmp.

49
8.4 Comandos do programa vi

Comandos do editor de textos vi do UNIX

MODO TEXTO
Subcomandos de insero de texto:
i insere texto antes do cursor
r insere texto no incio da linha onde se encontra o cursor
a insere texto depois do cursor
A insere texto no fim da linha onde se encontra o cursor
o adiciona linha abaixo da linha corrente
O adiciona linha acima da linha corrente
Ctrl + h apaga ltimo caracter
Ctrl + w apaga ltima palavra minscula
Esc passa para o modo comando

MODO COMANDO:
Subcomandos para Movimentao pelo Texto:
Ctrl+f passa para a tela seguinte.
Ctrl+b passa para a tela anterior.
H move o cursor para a primeira linha da tela.
M move o cursor para o meio da tela.
L move o cursor para a ltima linha da tela.
h move cursor para caracter a esquerda.
j move cursor para linha abaixo.
k move o cursor para linha acima.
l move cursor para caracter a direita.
w move cursor para incio da prxima palavra (Ignora pontuao).
W move cursor para incio da prxima palavra (No ignora pontuao).
b move cursor para incio da palavra anterior (Ignora pontuao).
B move cursor para incio da palavra anterior (No ignora pontuao).
0 (zero) move cursor para incio da linha corrente.
^ move cursor para o primeiro caracter no branco da linha.
$ move cursor para o fim da linha corrente.
nG move para a linha n.
G move para a ltima linha do arquivo.

Subcomandos para Localizao de Texto:


/palavra procura pela palavra ou caracter acima ou abaixo do texto.
?palavra move para a ocorrncia anterior da palavra(para repetir a busca usar n).
n repete o ultimo / ou ? comando.
N repete o ultimo / ou ? comando na direo reversa.
Ctrl+g mostra o nome do arquivo, o nmero da linha corrente e o total de linhas.

Subcomandos para Alterao de Texto:


x deleta um caracter que esta sobre o cursor.
dw deleta a palavra, do inicio da posio do cursor at o fim.
dd deleta a linha inteira onde o cursor estiver.
D deleta a linha a partir da posio do cursor em diante.

50
rx substitui o caracter sob o cursor pelo especificado x ( opcional indicar o
caracter).
Rtexto substitui o texto corrente pelo texto indicado (opcional indicar o texto
adicionado).
cw substitui a palavra corrente. Pode-se inserir o novo contedo da palavra
automaticamente.
cc substitui a li nha corrente. Pode-se inserir o novo contedo da linha
automaticamente.
C substitui restante da linha corrente. Pode-se inserir o texto logo aps o
comando.
u desfaz a ltima modificao.
U desfaz todas as modificaes feitas na linha (se o cursor no mudou de
linha).
J une a linha corrente a prxima.

Subcomandos para Salvar o Texto:


:wq salvar as mudanas feitas no arquivo e sai do editor.
:w < nome-arq > salva o arquivo corrente com o nome especificado. Continua
edio normalmente.
:w! < nome-arq > salva (de modo forado) o arquivo corrente no arquivo
especificado
:q sai do editor. Se mudanas no foram salvas apresentada
mensagem de advertncia
:q! sai do editor sem salvar as mudanas realizadas.

8.5 Como posso saber quantos hard links tem um arquivo e quantos ele pode
ter

O nmero de hardlinks de um arquivo aparece no comando ls -l:


drwxr-sr-x 4 user group 1024 Feb 26 1997 xtar
-rwxr-xr-x 1 user group 942 Jun 30 1995 xterm.login
Aquele "4" logo depois das permisses o nmero de links para o arquivo.
> ln: cannot link `/bin/ls' to `/home/user/bin/ls': Too many links
Este erro, em geral, um erro no prprio comando que ao tentar resolver um "link"
acha um "link" que aponta para ele mesmo.

8.6 Mudando o relgio de seu Linux

Para mudar o horrio do relgio de seu linux digite:

date mmddhhmm[yy]

Onde...

mm = mes
dd = dia
hh = hora

51
mm = minuto
yy = ano

Ento... Salve com o comando:

clock -w

Isso tudo tem que ser como root, claro.

8.7 Mudando o Editor de Texto padro

Edite o arquivo /etc/profile e coloque as seguintes linhas:

export EDITOR=pico
export VISUAL=pico

pico o nome do programa. Voc pode substituir pelo seu editor favorito (joe, jove,
jed, etc)

8.8 Shell Scripts - Utilidades e mais Utilidades

8.8.1 Backup para um FTP

Este shell script faz com que se compacte os arquivos mais importantes do Linux e
passe compactado para um ftp.

----------------[CORTE AQUI]-----------------------------
#!/bin/bash

# Faz um TAR com os diretrios mais importantes do Linux

tar cvf /tmp/backup.tar /home /var/spool/mail /var/spool/cron /etc /usr/local

# Compacta o TAR

gzip /tmp/backup.tar

# Faz o ftp para ftp-host.domain.etc

ftp -in <<EOF


open ftp-host.domain.etc
user usurio senha
bin
hash
prompt
cd /home/backup
lcd /tmp
put backup.tar.gz
52
bye
----------------[CORTE AQUI]-----------------------------

8.8.2 Comandos do DOS no Linux


Este Script que far com que seu ambiente Linux se parea um pouco com o ambiente
do DOS, perfeito para quem confundi comandos do dos no linux. Voc deve colocar as linhas
no /etc/bashrc ou /etc/profile (global) ou ento no .profile do home do usurio.

----------------[CORTE AQUI]-----------------------------
# /etc/bashrc
# ------------------------------------------------------------------
# Colocar este script no /etc/bashrc
# Este Script que far' com que seu ambiente Linux se parea um
# pouco com o ambiente do DOS, perfeito para quem confundi comandos
# do dos no linux.
# ------------------------------------------------------------------
# Begin!

# System wide functions and aliases


# Environment stuff goes in /etc/profile

export PS1='\u\$ $PWD> ' # Prompt (ex.fica 'user$ /etc>')


alias which="type -path" # Onde esta' arquivo
alias ls="ls -F --color=tty" # ls colorido
alias dir="ls -Fla --color=tty" # dir colorido
alias rd="rmdir" # Remove diretrio
alias md="mkdir" # Cria diretrio
alias cd..="cd .." # cd junto com .. :)
alias copy="cp" # Copiar arquivos
alias move="mv" # Mover arquivos
alias ren="mv" # Renomear arquivos (mover)
alias rename="mv" # Renomear arquivos (mover)
alias win="startx" # Iniciar o x-windows
alias edit="pico" # Um dos melhores editores (o joe bom tb)
alias path="env | grep ^PATH" # Mostra o path
alias home="cd ~" # Vai pra o homedir do usurio
alias cdrom.on="mount /mnt/cdrom" # Monta o CD-ROM (declara no fstab)
alias cdrom.off="umount /mnt/cdrom" # Desmonta o CD-ROM
alias cdrom="cd /mnt/cdrom" # Entre no CD-ROM
alias cls="clear" # Apagar a tela (pra que? :/)
alias del="rm" # Remove arquivos
alias remove="rm" # Remove arquivos
alias deltree="rm -r" # Remove diretrio cheio
alias xcopy="cp -R" # Copia diretrio + subdirectrios
alias config="setup" # Setup :PP
alias diskon="mount /dev/fd0 /mnt/disk" # Monta disquete
alias diskoff="umount /dev/fd0" # Desmonta disquete

# End

53
----------------[CORTE AQUI]-----------------------------

Ordena linhas de arquivos alfabeticamente

Ordena linhas de um arquivo em ordem alfabtica

----------------[CORTE AQUI]-----------------------------
#!/bin/sh
# Eitch
#----------------
# Ordenar - Tkz to Levy, a friend of mine ;)
# Ordena linhas de um arquivo em ordem alfabetica
#
# Sintaxe: $0 <arquivo origem> <arquivo destino>
#----------------
# Begin
echo Ordenando $1 no arquivo $2
cat $1 | sort > $1
# End

8.9 Como alterar a cor do fundo e da letra no console?


[usuario@localhost]$ setterm -background cyan -foreground black

As cores possveis so: black, blue, green, cyan, red, magenta, yellow, white, default
Detalhes: o ls com cores limpa sempre o terminal, ento as opes de cores do ls
devem ser desabilitadas para que funcione, e caso se tenha um prompt colorido, a mesma
coisa, volte-o para o padro. Para tornar essa mudana definitiva, inclua essa linha no seu
arquivo /.bashrc

8.10 Como mudo o idioma de meu Conectiva Linux?

Edite o arquivo /etc/sysconfig/i18n e altere as variveis para a lngua desejada.


As variveis para lngua portuguesa so:
LANG="pt_BR"
LC_ALL="pt_BR"
LC_CTYPE="ISO-8859-1"
LESSCHARSET="latin1"

Para ingls, apenas comente essas linhas:


# LANG="pt_BR"
# LC_ALL="pt_BR"
# LC_CTYPE="ISO-8859-1"
# LESSCHARSET="latin1"

Para lngua espanhola:


LANG="es_ES"
LC_ALL="es_ES"
LC_CTYPE="ISO-8859-1"
LESSCHARSET="latin1"
Em outras distribuies/instalaes, que no da Conectiva, coloque estas variveis em
/etc/profile ou equivalente e as exporte, assim:
[root@localhost]# export LANG LC_ALL LC_CTYPE LESSCHARSET
54
Existe suporte a outras lnguas tambm, mas algumas delas tem muito poucas
tradues, ou nenhuma... Voc pode ver os cdigos das lnguas em /usr/share/locale numa
mquina com Marumbi.
### Marumbi ###
As configuraes so as mesmas, mas o arquivo de configurao fica em
/etc/sysconfig/lang

8.11 Como configuro a proteo de tela na console?

Execute o comando:
[usuario@localhost]$ setterm -blank "nmero"
Sendo "nmero" o nmero de minutos de inatividade para se esperar antes de rodar a
proteo (tela preta).
0 - para desligar 60 - nmero mximo

8.12 Como agendar tarefas de sistema (/etc/crontab)?

Veja o /etc/crontab:

01 * * * * root run-parts /etc/cron.hourly


02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Simplesmente coloque uma tarefa (um executvel) para ser executada, dentro do
diretrio especfico:

/etc/cron.hourly : de hora em hora


/etc/cron.daily : todo dia
/etc/cron.weekly : uma vez por semana
/etc/cron.monthly : uma vez por ms

Agora, se quiser algo mais especfico, apenas adicione linhas ao /etc/crontab seguindo
a mesma lgica.
Por exemplo, executar um programa de backup do sistema, passando para ele o
parmetro "geral", como superusurio (root), de segunda a sexta-feira, de maro a
novembro, s 3:44 da manh:
44 3 * 3-11 1-5 root /root/backup geral
| | | | | | |
| | | | | | +-- comando a ser executado (com a rota)
| | | | | +---------- usurio que executar o comando
| | | | +-------------- dia da semana
| | | +------------------- ms do ano
| | +---------------------- dia do ms
| +------------------------ hora
+-------------------------- minuto

Eventuais mensagens de erro so mandadas para a caixa postal do superusurio


(root).
para maiores informaes, limites, parmetros e sintaxe:
man 5 crontab

55
8.13 Como executar um arquivo?

No Linux no existem extenses como forma de indicar se um arquivo um programa


executvel. Verifique os atributos do arquivo com o comando ls -la e veja se o caractere "x"
aparece. se no aparecer execute:
[root@localhost]# chmod +x nome-do-programa

Outro detalhe: por motivos de segurana o diretrio corrente no faz parte do PATH.
Para executar programas no diretrio corrente basta:
[root@localhost]# ./nome-do-programa

Ou incluir o diretrio corrente (.) no PATH, editando o arquivo /etc/profile

8.14 O que posso apagar para liberar espao em disco?

A maioria dos programas j exclui seus prprios arquivos temporrios.


Exceto o KDE, que deixa vrios arquivos no /tmp com nomes kio* e kfm*, que podem
ser excludos sem problemas.
Pode-se excluir tambm o diretrio $HOME/.netscape/cache que o cache em disco
do netscape.
E ainda resta o /var/log que o diretrio onde so guardados os arquivos de registro
(log) do sistema, que crescem infinitamente e podem ser cortados/editados (ou apagados) de
vez em quando. principais: cron httpd/access_log lastlog maillog messages wtmp
Quanto a esses arquivos de registro, pode-se usar o aplicativo logrotate para
gerenci-los automaticamente (divid-los e apag-los quando muito grande/antigo).
Pode-se excluir tambm os HOWTOs
[root@localhost]# rpm -e `rpm -qa | grep howto`
e numa atitude desesperada e no recomendada, excluir toda a documentao de
todos os pacotes:
[root@localhost]# rm -rf /usr/doc/*
E claro, por ltimo mas o mais importante: Desinstale pacotes que no so
utilizados. Muito dificilmente algum utilizar TODOS os pacotes que esto na distribuio
(dezenas de jogos, servidores, editores, etc), principalmente os maiores como tetex-*,
octave, emacs...

8.15 Como usar o tar ?

Supondo o nome do arquivo "grande.tgz" e disquetes de 1,44 Mb


[root@localhost]# tar cvM -f /dev/fd0H1440 grande.tgz
||| | | |
||| | | |
||| | | + arquivo grande
||| | +----------- dispositivo destino
||| +-------------------- salvar no
arquivo/dispositivo
||+----------------------- volumes mltiplos
|+------------------------ detalhado
+------------------------- criar
Para descompactar:
[root@localhost]# tar xvM -f /dev/fd0

56
8.16 Como fao para deixar o 'ls' sempre colorido?

Coloque em seu /etc/bashrc a linha alias ls="ls --color"


Dentro das aspas, pode-se colocar qualquer outra opo do 'ls';
Essa alterao s ter efeito na prxima console que voc se logar;
Ou, para inclu-las na console atual, digite: [root@localhost]$. /etc/bashrc

57
9 - Admin ist rao de sistema geral
O gerenciamento de usurios de qualquer sistema Linux fundamental, desde um
servidor de rede at um computador pessoal compartilhado. Isso vai desde a criao de
novas contas de usurio at a mudana de senhas de usurio.
O acesso dos usurios aos recursos do sistema ser governado de acordo com cada
usurio e com cada grupo, onde um grupo consiste em vrios usurios associados em uma
entidade organizacional comum, com um nome nico.
Outro item administrativo fundamental a automao de tarefas, tanto na inicializao
como nas tarefas programadas.
O Linux oferece sofisticados recursos de log, que tornam possvel saber exatamente o
que est ocorrendo em seu sistema.

9.1 Inicializao do sistema

As mensagens de inicializao so salvas no arquivo de log de sistema


/var/log/messages.

O que acontece durante a inicializao

Existem dois estgios no processo de inicializao:

1. Inicializao do kernel. Durante essa fase, o Kernel carregado na memria e


imprime mensagens medida que inicializa cada driver de dispositivo.
2. Execuo do programa init. Esse programa manipula a ativao de todos os
programas, incluindo daemons de sistema essenciais e outro software especificado
para ser carregado no momento da inicializao.

O programa Init

Aqui voc pode personalizar facilmente quais programas so carregados durante o


ciclo de inicializao.
O Linux tem um sistema de nveis de execuo. Um nvel de execuo um nmero
que identifica o estado atual do sistema e quais processos o init deve executar e manter em
execuo nesse estado do sistema. No arquivo /etc/inittab, a primeira entrada especifica o
nvel de execuo padro que carregado durante a inicializao.

id:3:initdefault: (nvel de execuo 3)

Assim, para o nvel de execuo 3, as seguintes linhas so relevantes:

13:3:wait:/etc/rc.d/rc 3
1:12345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

58
As ltimas seis linhas configuram os seis consoles virtuais fornecidos no Linux. A
primeira linha executa o script de inicializao /etc/rc.d/rc 3. Isso executar todos os scripts
contidos no diretrio /etc/rc.d/rc3.d. Esses scripts representam programas que precisam ser
iniciados na inicializao do sistema, como sendmail, servios PCMCIA, o daemon de
impressora e crond.

Daemons - So processos servidores, inicialmente inicializados durante o boot, que


rodam continuamente enquanto o sistema estiver ativo, esperando, em background, at que
um processo requisite seus servios. Por exemplo, network daemons em estado idle at que
um processo requisite servios de rede.

O ltimo script a ser executado ser o AS99local. Esse script , na verdade, um


vnculo para o arquivo /etc/rc.d/rc.local; aqui que voc pode colocar todos os programas de
inicializao personalizada que quiser ativar no momento da inicializao.

9.2 Programando tarefas com crond

O crond um daemon que geralmente instalado para iniciar sempre que o sistema
for inicializado. Quando ele inicia ativado a cada minuto e verifica se alguma tarefa foi
programada para executar durante esse minuto.
Todas as tarefas programadas so armazenadas em um arquivo de configurao
individual (conhecido como arquivo crontab) do usurio, com cada linha representando uma
tarefa programada.
Cada entrada tem a forma

time-date command

A entrada time-date consiste em cinco campos numricos, cada um separado por


espaos, que indicam quando uma tarefa deve ser executada. Os cinco campos em ordem,
so:

Minute: De 0 a 59.
Hour: De 0 a 23.
Day of month: De 0 a 31.
Month: De 0 a 12.
Day os week: De 0 a 7, onde 0 e 7 representam domingo.

Para todos esses campos, vrias regras proporcionam flexibilidade:

Intervalos de nmeros podem ser usados (Ex.: 1 3 no campo horas diz


para programar o comando para 1:00, 2:00 e 3:00 da manh. 2 4 no
campo de dia da semana programa a tarefa para tera, quarta e quinta-feira.

O campo command

s vezes, os comandos (como o mail) exigem que informaes sejam introduzidas


atravs da entrada padro. Isso feito usando-se sinais de porcentagem (%). O primeiro
sinal de porcentagem marca o incio da entrada padro e cada sinal subsequente serve
como um caractere de nova linha nessa entrada.
59
30 14 * * fri /bin/mail -s TGIF arna@lala.edu %Bom dia!!!!%% Tudo
Bem???
Isso enviar a seguinte mensagem de correio eletrnico:

Bom bia!!!

Tudo bem???

Carregando entradas de um arquivo

Par carregar entradas de um arquivo, primeiro necessrio criar um arquivo que


contenha todas as entradas que voc queira que apaream em seu arquivo crontab. Um
exemplo de arquivo poderia conter duas entradas:

0 1 * * * /usr/local/bin/backup
30 14 * * fri /bin/mail -s TGIF arna@lala.edu %Bom dia!!!! %% Tudo
Bem???

Esses arquivo precisa ser salvo com um nome conveniente, como cronjobs.

Uma vez criado e salvo o arquivo, ele pode ser carregado no arquivo crontab de
um usurio, executando-se o comando:

$ crontab cronjobs

O contedo de cronjobs sobrescrever todas as entradas correntes do arquivo crontab


do usurio.
Usando o flag u, o usurio-root pode especificar que o arquivo crontab de outro
usurio, em vez do seu prprio, deve ser alterado.

$ crontab -u username cronjobs

Carregando arquivos crontab diretamente

Em vez de criar um arquivo separado e carreg-lo no arquivo crontab, o comando


crontab fornece o flag e, que permite ao usurio editar o arquivo crontab diretamente.

$ crontab e

Assim como aconteceu quando carregamos um arquivo no arquivo crontab, usando o


flag u, o usurio-root pode editar diretamente o arquivo crontab de outro usurio:

$ crontab -u username -e

Vendo o contedo do arquivo crontab

Para ver o contedo do arquivo crontab, basta usar o flag -l

$ crontab -l

60
Assim como na edio do arquivo crontab, o usurio-root pode ver o contedo do
arquivo crontab de qualquer usurio com o flag -u:

# crontab -u username -l

Removendo o arquivo crontab

Para apagar o contedo do arquivo crontab de um usurio, ele pode usar o flag r:

# crontab -r

Analogamente, o usurio-root pode apagar o arquivo crontab de qualquer usurio com


o flag u:

61
10 - Dicas sobre o s istema

10.1 Onde ir buscar os HOWTOs e outra documentao?

D uma vista de olhos nestes lugares:

ftp.funet.fi (128.214.6.100) : /pub/OS/Linux/doc/HOWTO


tsx-11.mit.edu (18.172.1.2) : /pub/linux/docs/HOWTO
sunsite.unc.edu (152.2.22.81) : /pub/Linux/docs/HOWTO

Para uma lista completa dos sites de FTP, veja - Onde ir buscar material sobre o Linux
por FTP?
Se no tem acesso a FTP, tente usar servidores de FTP por mail em
ftpmail@decwrl.dec.com, ftpmail@doc.ic.ac.uk ou ftp-mailer@informatik.tu-muenchen.de.
Uma lista completa dos HOWTOs est disponvel no arquivo HOWTO.INDEX no
diretrio docs/HOWTO dos sites de FTP, ou na Web em
http://sunsite.unc.edu/mdw/HOWTO/HOWTO-INDEX.html
Esta uma lista (provavelmente incompleta) dos HOWTOs:
Linux INFO-SHEET
Linux META-FAQ
Bootdisk HOWTO
CDROM HOWTO
DOSEMU HOWTO
Distribution HOWTO
Ethernet HOWTO
Firewall HOWTO
Hardware HOWTO
Installation HOWTO
Kernel HOWTO
Electronic Mail HOWTO
PCI-HOWTO
Portuguese HOWTO
PPP HOWTO
Printing HOWTO
Serial HOWTO
Sound HOWTO
XFree86 HOWTO

Outros documentos destes esto sempre em preparao. Se no encontrar a


informao que precisa num destes documentos procure noutros diretrios prximos nos
sites de FTP. Alm destes HOWTOs ainda existem os mini HOWTOs, no diretrio
docs/HOWTO/mini.
O arquivo WRITING contm informaes sobre como escrever um novo HOWTO.
Os HOWTOs so coordenados por Greg Hankins gregh@cc.gatech.edu. Os livros
produzidos pelo Linux Documentation Project esto disponveis em /pub/Linux/docs/LDP em

62
sunsite.unc.edu. Por favor leia-os se est a iniciar-se no UNIX e no Linux. Principalmente o
Installation and Getting Started Guide. Os livros produzidos at ao momento so:

The Linux Documentation Project manifesto


Installation and Getting Started Guide
The Kernel Hacker's Guide
Network Administration Guide
Linux System Administrator's Guide

10.2 Onde ir buscar material sobre o Linux por FTP?

Os trs sites principais do Linux so:

ftp.funet.fi (Finland, 128.214.6.100) : /pub/OS/Linux


sunsite.unc.edu (US, 152.2.22.81) : /pub/Linux
tsx-11.mit.edu (US, 18.172.1.2) : /pub/linux

O melhor lugar para atualizar as verses do kernel ftp.cs.helsinki.fi em


/pub/Software/Linux/Kernel;
Linus Torvalds disponibiliza as verses mais recentes do kernel nesse lugar. A
distribuio Debian est disponvel em ftp.debian.org e a distribuio Red Hat em
ftp.redhat.com.
O contedo destes sites "mirrorado" (copiado, em geral diariamente) por outros
sites. Por favor use aquele que estiver mais perto de si -- ser mais rpido para si e mais fcil
para a rede.

src.doc.ic.ac.uk : /packages/Linux (UK)


sunacm.swan.ac.uk : /pub/Linux (UK)
ftp.ibp.fr : /pub/linux (Frana)
ftp.cc.gatech.edu : /pub/linux (EUA - sudeste: Suranet)
wuarchive.wustl.edu : /systems/linux (EUA)
uiarchive.cso.uiuc.edu : /pub/systems/linux (EUA)
ftp.cdrom.com : /pub/linux (EUA)
ftp.informatik.tu-muenchen.de : /pub/comp/os/linux (Alemanha)
ftp.ibr.cs.tu-bs.de : /pub/os/linux (Alemanha)
ftp.dfv.rwth-aachen.de : /pub/linux (Alemanha)
ftp.informatik.rwth-aachen.de : /pub/Linux (Alemanha)
bond.edu.au : /pub/OS/Linux (Austrlia)
ftp.cc.monash.edu.au : /pub/linux (Austrlia)
ftp.dstc.edu.au : /pub/Linux (Austrlia: Queensland)
ftp.sun.ac.za : /pub/linux (frica do Sul)
ftp.inf.utfsm.cl : /pub/Linux (Chile)
ftp.zel.fer.hr : /pub/Linux (Crocia)

Os pacotes de instalao podero ser encontrados nos ftps:


ftp://ftp.ufsm.br/pub/linux/slackware (BR)
ftp://ftp.cdrom.com/pub/linux/ (US)

63
Aqui vai uma descrio dos pacotes a ser pegados:
A(*) - O Bsico do sistema para rodar.
AP(*) - Aplicativos em geral
D - Linguagens de programao /GCC/G++/Perl/C/ e outros...
E - GNU Emacs 19.25.
F(*) - Coleo de FAQs e outros documentos.
I - Documentao de vrios programas
N - Networking. TCP/IP, UUCP, mailx, dip, deliver, elm, pine, smail, cnews, nn, tin, trn.
(necessrio para comunicao internet/rede em geral)
OOP - Programas Orientado a Objeto
K(*) - Kernel do linux (necessrio para compilar do kernel, p/ atualizao do hardware)
TCL - Tcl, Tk, TclX, blt, itcl.
Y - Games. The BSD games collection, and Tetris for terminals.
X - XFree86 2.1.1 system (X-Window tipo o Windows convencional)
XAP - Aplicativos para X : X11 ghostscript, libgr13, seyon, workman, xfilemanager, xv
3.01, GNU chess and xboard, xfm 1.2, ghostview, e varios X games.
XD - X11 program development. X11 libraries, server linkkit, PEX support.
XV - Xview 3.2 release 5. XView libraries, and the Open Look virtual and non-virtual
window managers.
IV - Interviews libraries, include files, and the doc and idraw apps. These run
unreasonably slow on my machine, but they might still be worth looking at.
OI - ParcPlace's Object Builder 2.0 and Object Interface Library 4.0, generously made
available for Linux developers according to the terms in the "copying" notice found in these
directories. Note that these only work with libc-4.4.4, but a new version may be released once
gcc 2.5.9 is available.
T - The TeX and LaTeX2e text formatting systems.

10.3 Permisses

Para saber se um programa executvel ou no, execute um 'ls -l' e veja no lado
esquerdo se o arquivo tem X nos seus argumentos, como no exemplo abaixo:

drwxr-xr-x 2 root root 1024 Dec 23 15:22 bin


drwxr-xr-x 2 root root 1024 Dec 31 05:48 boot
drwxr-xr-x 2 root root 1024 Dec 6 15:51 cdrom
drwxr-xr-x 3 root root 8192 Mar 11 10:17 dev
drwxrwxr-x 2 root root 1024 Feb 27 13:52 dosa
dr-xr-xr-x 11 root root 2048 Mar 11 10:19 etc
drwxr-xr-x 11 root root 2048 Feb 23 19:08 home
drwxr-xr-x 3 root root 1024 Feb 23 19:13 lib
drwxr-xr-x 2 root root 12288 Nov 2 11:25 lost+found
-rwxr--r-- 1 root root 57 Mar 10 03:44 make-backup
-rw-rw-r-- 1 killer users 2342 Mar 10 03:12 teste.txt
-rw-rw-rw- 1 fernando visits 23412 Mar 09 22:22 teste2.doc

No exemplo acima todos os arquivos tem como dono root e como grupo tambm root,
com exceo do 'teste.txt' que o dono 'killer' e o grupo 'users', e tambm 'teste2.doc', no
qual 'fernando' o dono e o grupo 'visits' tambm dono.

64
Como voc pode ver do lado esquerdo de cada arquivo/diretrio existe um srie de
letras r, w, x ou d! Vamos ver o que representa cada uma delas:

drwxrwxrwx
0111222333

No caso acima, a primeira coluna significa (nmero 0) se o nome listado um


diretrio ou no, caso no seja um diretrio ele ser exibido da seguinte maneira:

-rwxr--r-- 1 root root 57 Mar 10 03:44 make-backup


|
\-----------> No contm a letra 'd', no diretrio, e sim arquivo!!!

O exemplo abaixo mostra o que seria um diretrio:

drwxr--r-- 1 root root 1 Mar 10 01:12 bin


|
\-----------> Contm a letra 'd' na primeira coluna, um diretrio!!!

Continuando, na segunda coluna (nmeros 1 de acordo com o exemplo mais acima)


temos as definies para o dono do arquivo, como mostra o exemplo:

-rwxr--r-- 1 killer users 1231 Mar 09 12:12 teste.txt


| | |
| | \--------> O dono do arquivo (killer) pode executar o arquivo, x=executable!
| \---------> O dono do arquivo (killer) pode gravar no arquivo, w=writable!
\----------> O dono do arquivo (killer) pode ler o arquivo, r=readable!

Seguindo, na terceira coluna (composto pelos nmeros 2) temos as definies para o


grupo que dono do arquivo, como mostra o exemplo:

-r--rwxr-- 1 fernando visits 212 Mar 01 12:42 exemplo.doc


| | |
| | \-----> O grupo dono do arquivo (visits) pode executar o arquivo!
| \------> O grupo dono do arquivo (visits) pode gravar no arquivo!
\-------> O grupo dono do arquivo (visits) pode ler o arquivo!

Finalmente, temos a quarta coluna (composto pelos nmeros 3), essa coluna se
refere as permisses para todos os outros usurios do sistema, sem ser os donos e grupos-
donos dos mesmos, exemplo:

65
-r--r--rwx 1 fernando visits 1231 Mar 03 12:42 exemplo2.doc
| | |
| | \--> Todos os usurios (exceto fernando e usurios do grupo visits)
| | tem permisso para acessar o arquivo!
| \---> Todos os usurios (exceto fernando e usurios do grupo visits)
| tem permisso para gravar no arquivo!
\----> Todos os usurios (exceto fernando e usurios do grupo visits)
tem permisso para ler o arquivo!

Quando nos referimos a diretrio invs de arquivos, o FLAG x (executvel) diz se o


diretrio ou no acessvel, j que no podemos "EXECUTAR" diretrios... Exemplo:
drwxr--r-- 1 root root 2134 Mar 01 12:54 exemplo3
||||| |
| | | | | \----> Todos os usurios podem ler o interior do diretrio, mas no
||||| podem usar o comando 'cd' para entrar nele, pois no existe
||||| o FLAG 'x' para a quarta coluna!
| | | | \-------> Usurios do grupo 'root' podem ler o interior do diretrio,
|||| mas tambm no podem usar 'cd' para entrar no diretrio!
| | | \--------> O usurio 'root' pode usar 'cd' para entrar no diretrio!
| | \---------> O usurio 'root' pode gravar arquivos nesse diretrio!
| \----------> O usurio 'root' pode ler o interior desse diretrio!
\-----------> Indica que o nome listado um diretrio!

O comando chmod pode ser usado para mudar os FLAGS 'rwx' dos arquivos e/ou
diretrios, a sintaxe bsica :

chmod [ugoa]{-+}[rwx] nome_do_arquivo_ou_diretrio

Exemplo:

chmod u+rw arquivo1.txt

No exemplo voc mudar a permisso para o dono do arquivo (u = user) pode ler
e gravar (rw) no 'arquivo1.txt'...
Caso voc queira desfazer o comando, voc faria:

chmod u-rw arquivo1.txt

Como se v, o + ou - define se os FLAGS sero ativados ou desativados!

Outros exemplos:

chmod a+r arquivo2.txt (Todos usurios (a=all) podem ler o 'arquivo2.txt')


chmod o+w arquivo3.txt (Outros usurios (o=others) sem ser o dono e o grupo dono
do arquivo, podem gravar o 'arquivo3.txt')
chmod g+x netscape (O grupo-dono do arquivo (g=group) pode executar o arquivo
'netscape')

66
O comando chmod pode tambm ser usado com nmeros, em vez dos flags, como
mostra o exemplo:

chmod 664 arquivo.txt

O que quer dizer cada um desses nmeros? Veja abaixo:

0 = nenhuma permisso
1 = permisso para executar
2 = permisso para gravar
3 = permisso para gravar e executar
4 = permisso para ler
5 = permisso para ler e executar
6 = permisso para ler e gravar
7 = permisso para ler, gravar e executar

No exemplo o comando informou que o 'arquivo.txt' pode ser lido e gravado pelo seu
dono (numero 6 na primeira coluna), informou que pode tambm ser lido e gravado pelos
usurios que compem o grupo-dono (numero 6 na segunda coluna), e informou que pode
ser lido por todos os outros usurios do sistema (numero 4 na ultima coluna).
O comando chown simples e pode ser usado da seguinte maneira:

chown usurio.grupo nome_do_arquivo_ou_diretrio

Como exemplo, vamos definir que um arquivo 'teste4.txt' ter como dono 'killer' e
como grupo 'users':

chown killer.users teste4.txt

Outros exemplos:

chown mrdvs.visits teste5.txt


chown jackie.jackie teste6.txt

67
11 - CD-R O Ms, D isquetes, D iscos R gidos e Sistemas de
Arqu iv os - Uma Viso Gera l
Um sistema de arquivos composto por arquivos e diretrios, iniciando em um nico
diretrio denominado raiz. Este diretrio pode conter qualquer nmero de arquivos ou de
diretrios, com cada diretrio por sua vez seguindo o mesmo conceito e padres. Um
sistema de arquivos padro normalmente se parece com uma rvore invertida, com os
diretrios como galhos e os arquivos como folhas. Sistemas de arquivos residem em
unidades de armazenamento de massa como disquetes, discos rgidos e CD-ROMs.
Por exemplo, uma unidade de disquetes no DOS ou Windows normalmente
referenciada como A:. Isso descreve o dispositivo (A:) e o diretrio raiz do dispositivo. O
disco rgido primrio, em sistemas similares, tipicamente referenciado como C uma vez que
a especificao de dispositivos para o primeiro disco rgido C:. Para especificar o diretrio
raiz do dispositivo C , pode-se utilizar C:.
Neste caso, teremos ento dois sistemas de arquivos - um em A: e o outro em C: .
Para especificar qualquer arquivo em um sistema de arquivos DOS/Windows, deve-se
especificar o dispositivo no qual ele reside, ou ele deve residir no dispositivo padro do
sistema (o qual a origem do indicador DOS de linha de comando - o dispositivo padro
em um sistema com uma nica unidade de disco rgido).

; A: RAIZ
O Sistema de Arquivos contido
em um dispositivo acessado
a partir de uma identificao de
unidade lgica.

Windows

Sob Linux possvel definir sistemas de arquivos residentes em diferentes meios de


armazenamento como se fossem um nico e grande sistema de arquivos. Isso pode ser feito
atravs da definio de um dispositivo dentro de um sistema de arquivos. Por exemplo,
enquanto um sistema de arquivos de um diretrio raiz de um disquete em DOS pode ser
referenciado como A:, o mesmo dispositivo pode ser acessado no Linux com um diretrio
denominado, por exemplo como /mnt/floppy.
Ponto de montagem
Montagem

; 1 /mnt/floppy
O Sistema de Arquivos contido
em um dispositivo acessado
a partir de uma identificao de
diretrio.
aula

68
O processo de mesclar sistemas de arquivos desta forma conhecido como
montagem. Quando um dispositivo est montado significa que ele pode ser acessado pelos
usurios do sistema. O diretrio atravs do qual o sistema de arquivos pode ser acessado
conhecido como ponto de montagem. No exemplo anterior, /mnt/floppy era o ponto de
montagem do disquete. Note que no h restries (alm das convenes normais) de nome
de pontos de montagem. Poderamos facilmente denominar o ponto de montagem com
/longo/caminho/para/a/unidade/de/disquete ou simplesmente /A. Um ponto a ser lembrado
que todos os diretrios e arquivos de um dispositivo tm a sua localizao no sistema
relacionada com o ponto de montagem.
Para montar um sistema de arquivos, esteja seguro de estar acessando o sistema
como super-usurio ou de usar o comando su (man su - em portugus). Uma vez tendo os
privilgios de super-usurio, execute o comando mount (man mount - em portugus) seguido
pelo dispositivo e pelo ponto de montagem. Por exemplo, para montar a primeira unidade de
disquete em /mnt/floppy, pode-se digitar o seguinte comando mount /dev/fd0 /mnt/floppy.
Para acessar os dados em um disquete formatado em ext2, basta digitar cd /mnt/floppy. Na
instalao o Conectiva Linux ir criar um arquivo chamado /etc/fstab. Este arquivo contm
informaes que permitem sintetizar os comandos de montagem de dispositivos. Usando-se
as informaes contidas naquele arquivo, pode-se comandar somente mount e ento, ou o
ponto de montagem ou o dispositivo. O comando mount ir ento procurar o restante das
informaes em /etc/fstab. possvel modificar manualmente o arquivo ou utilizar-se o
Linuxconf conforme descrito nas prximas sees.

11.1 Revisando o Sistema de Arquivos - Viso Geral

Inicialmente vamos verificar a estrutura de diretrios:


Inicie o Linuxconf
Informe a senha do super-usurio quando solicitado (caso j no seja o root).
Abra [Configurar] [Sistemas de Arquivos] [Acessar Dispositivos Locais].

Os campos so:

Origem - o dispositivo fsico: hd indica um disco rgido IDE, fd indica uma unidade de
disquete, e cdrom indica uma unidade de CD-ROM. Caso o sistema possua um
dispositivo SCSI, ser apresentada ento a indicao sd. Caso mais de um dispositivo
do mesmo tipo esteja presente, estes sero ordenados por letras, como por exemplo
hda representa o primeiro dispositivo IDE, enquanto hdb representa o segundo. Em
alguns casos, sero apresentados nmeros em lugar de letras; em unidades de discos
rgidos eles representam as parties, enquanto que em unidades de disquetes, o
nmero de referncia da unidade atual.
Ponto de Montagem - nome com o qual o dispositivo ser mapeado dentro do sistema
de arquivos.
Tipo - indicao do tipo do sistema de arquivos. Uma partio Linux padro usar um
tipo ext2. Um sistema de arquivos DOS ter um tipo vfat com suporte a nomes longos,
ou fat para suporte somente a nomes DOS tradicionais. O sistema de arquivos ISO
9660 indica um dispositivo CD-ROM.

Nota: o Conectiva Linux pode acessar sistemas de arquivos do tipo FAT32


utilizando o tipo vfat.

69
Tamanho - apresenta o tamanho do sistema de arquivos em Mb. Para mdias
removveis como disquetes e CD-ROM listado um tamanho de 0 Mb.
Tipo Partio - uma descrio e um cdigo do tipo sistema de arquivos usados
naquela partio.
Estado - condio atual do sistema de arquivos, ou seja se est disponvel, portanto
montado ou indisponvel, consequentemente desmontado.

Sistemas de arquivos de outras mquinas na rede podem tambm estar disponveis.


Eles podem variar de um nico diretrio a um volume inteiro. Nenhuma informao sobre
Tamanho ou Tipo da Partio estar disponvel para essas parties. Informaes adicionais
desses sistemas de arquivos podem ser encontradas na opo [Configurar] [Sistemas de
Arquivos] [Acessar volumes NFS].
A tela similar a de Volume Local, com as seguintes diferenas:

Origem - o nome da mquina em que est disponibilizado o sistema de arquivos,


seguida pelo diretrio remoto. Por exemplo: cnc:/var/spool/mail onde cnc a
mquina que contm o diretrio /var/spool/mail que est sendo disponibilizado.
Tipo - sempre igual a nfs.

11.2 Adicionado Pontos de Montagem NFS - Viso Geral

NFS a sigla para Sistemas de Arquivos Remotos. uma forma de computadores


compartilharem partes de seus sistemas de arquivos atravs de uma rede. Estas partes
podem ser um simples diretrio at milhares de arquivos em uma vasta hierarquia de
diretrios. Por exemplo, muitas empresas podero ter um nico servidor de correio eletrnico
compartilhando os diretrios de mensagens com os usurios do sistema atravs de
montagens NFS.
Para criar um ponto de montagem NFS:

Inicie o Linuxconf
Informe a senha do super-usurio quando solicitado (caso j no seja o root).
Abra [Configurar] [Sistemas de Arquivos] [Acessar volumes NFS].
Na tela Especificao de Volume, selecione Aceitar.

Os trs campos so:

Servidor - nome da mquina onde residem os sistemas de arquivos a serem


montados. Por exemplo guarani.cnc.com.br.
Volume - o nome do sistema de arquivos que se deseja adicionar. Por exemplo,
/var/spool/mail.
Ponto de Montagem - nome do caminho no qual o sistema remoto ser montado. Por
exemplo, /mnt/mail .
Isso tudo o que se precisa saber para se ter um ponto de montagem criado.
Linuxconf atualizar o arquivo /etc/fstab da forma adequada. Caso voc tenha algum
requisito adicional, podem ser acionadas as alternativas disponveis na janela opes, a
saber:

70
11.3 Opes gerais

As opes gerais no so necessrias na maioria das vezes. Elas proporcionam maior


flexibilidade e segurana.
Somente leitura - possvel bloquear a escrita em uma partio. At mesmo o
superusurio no poder escrever ali. Esta opo raramente usada numa partio
de disco rgido normal.
Montvel pelo usurio - esta opo geralmente usada em conjunto com a opo
seguinte e til para mdias removveis, como por exemplo disquetes. Ela permite a
um usurio normal ativar a conexo a qualquer hora. Normalmente, apenas o
superusurio (root) pode fazer uma montagem.
No montar na inicializao - especialmente til para mdia removvel, esta opo
impede que o sistema tente fazer uma montagem na inicializao.
Nenhum programa pode ser executado - esta uma funcionalidade de segurana,
especialmente til para mdia removvel. Se voc definir a opo montvel pelo
usurio em uma mdia removvel, qualquer usurio pode instalar arquivos especiais
para dar-lhe acesso total ao seu sistema (privilgios de administrador). Esta opo lhe
previne disto acontecer.
Sem suporte a arquivos de dispositivos especiais - esta uma opo relacionada
segurana. Dispositivos especiais so geralmente criados com direitos de acesso
apropriados no diretrio. Eles podem ser criados em outros lugares tambm atravs
do comando mknod. Esta funcionalidade impede a montagem de uma mdia com
dispositivo especial criada sem preocupaes de segurana. Esses dispositivos
poderiam arruinar toda a segurana do sistema.
Sem permisso a programas com setuid - mais uma funcionalidade de segurana.
um meio termo entre o acesso total e a opo acima (nenhum programa pode ser
executado). Selecionando-se esta opo, o sistema no deixar programas
privilegiados usarem seus direitos especiais. Um programa privilegiado aquele que
muda seu usurio para outra identificao (geralmente para o superusurio) enquanto
est sendo executado. Isto permite que o usurio normal execute tarefas especiais
que apenas o superusurio poderia fazer.
ativar quota por usurio - esta opo diz ao kernel para ativar a contabilidade de
quota no sistema de arquivos. A contabilidade de quota usada para cada usurio em
tempo real, controlando o espao em disco usado por ele e a quantidade de arquivos
e diretrios que ele possui. Os limites podem ser aplicados para alguns ou todos os
usurios. H um controle separado para cada sistema de arquivos. O arquivo
quota.user criado na raiz do sistema de arquivos (o Configurador Linux o criar para
voc se esta opo for selecionada). O utilitrio quotacheck executado para
inicializar o arquivo com o estado corrente do sistema de arquivos. Ento o kernel o
atualizar silenciosamente para cada conta de usurio. Isto til para impedir que um
simples usurio ocupe todo o disco.
ativar quota por grupo - a mesma funcionalidade da ``ativar quota por usurio'', mas
adequada para grupos. As quotas para grupos definem a soma das cotas de todos os
membros do grupo. O arquivo quota.group criado quando esta opo selecionada
e o utilitrio quotacheck usado para inicializar o arquivo. Enquanto um usurio pode
estar sobre sua quota pessoal, a quota de seu grupo pode ultrapassar este limite. O
usurio ser advertido ao criar arquivos novos e/ou aument-los.

71
12 - Admin ist rao de sistema geral
O gerenciamento de usurios de qualquer sistema Linux fundamental, desde um
servidor de rede at um computador pessoal compartilhado. Isso vai desde a criao de
novas contas de usurio at a mudana de senhas de usurio.
O acesso dos usurios aos recursos do sistema ser governado de acordo com cada
usurio e com cada grupo, onde um grupo consiste em vrios usurios associados em uma
entidade organizacional comum, com um nome nico.
Outro item administrativo fundamental a automao de tarefas, tanto na inicializao
como nas tarefas programadas.
O Linux oferece sofisticados recursos de log, que tornam possvel saber exatamente o
que est ocorrendo em seu sistema.

12.1 Gerenciamento de usurios

Criao de usurios

feita atravs do useradd ou adduser.

# adduser usurio1

Esse comando cria o usurio executando as seguintes aes:


Criao de uma entrada para o usurio no arquivo /etc/passwd sem uma senha.
Atribuio de uma ID para o usurio. Geralmente, essa a prxima ID de
usurio disponvel, em ordem numrica. No rede Hat, o padro usar o menor
nmero maior do que 500, que seja maior do que as IDs de todos os usurios.
Incluso do usurio no grupo apropriado. No Red Hat, isso significa criar um
grupo para o usurio, ao qual apenas esse usurio pertence. Em outras
distribuies Linux, todos os usurios podem pertencer ao mesmo grupo por
padro.
Criao de um diretrio de base para o usurio (em /home/usurio1, na maioria
dos sistemas Linux) e cpia do contedo de /etc/skel no diretrio de base.

Para adicionar um usurio modificando seu ID usa-se o flag u:

# adduser -u 10001 usurio1

e voc quer impor a atribuio de um grupo em particular para o usurio use o flag g:

# adduser -g users usurio1

Considere agora que o usurio1 pertena aos grupos group1 e group2, alm do grupo
padro users. O comando adduser oferece o flag G, que permite a especificao de grupos
adicionais para que se inclua o novo usurio, quando a conta for criada:

# adduser g users -G group1,group2 usurio1

72
Para especificar um diretrio de base alternativo para um usurio, utilize o flag d:

# adduser -d /other/home/directory usurio1

Mudando os padres de Useradd

Existem alguns padres usados por useradd que talvez voc queira anular sempre
que criar um usurio. Por exemplo, talvez queira que todos os diretrios de base sejam
criados em /users, em vez de /home.
Esses padres podem ser redefinidos usando-se o flag D do comando useradd e
vrios flags suplementares. O flag D indica que o comando no deve criar um novo
usurio, mas sim atribuir novos padres.

# useradd -D -b /users (Defini o path do diretrio de base padro como /users)

# useradd -D -g /users (Defini o grupo padro de todos os novos usurios como


/users)

Mudando senhas

A mudana de senhas feita com o comando passwd. Qualquer usurio pode mudar
sua senha simplesmente digitando o comando no prompt.
Em muitas verses de Linux, o comando passwd verifica se uma senha curta
demais, simples demais, semelhante demais ao nome de usurio ou semelhante demais
senha anterior.
O usurio-root tem o poder de mudar a senha de qualquer usurio fornecendo o nome
de usurio como argumento para o programa passwd.

12.2 Configurando diretrio de base padro

Quando a conta do usurio criada, seu diretrio de base criado e populado com
um conjunto de arquivos padro. Esse conjunto de arquivos padro copiado do diretrio
/etc/skel, que contm o diretrio de esqueleto para novos diretrios de base.
Para incluir um arquivo em cada novo diretrio de base, basta criar o arquivo e coloc-
lo em /etc/skel, com o mesmo nome que voc deseja que ele tenha nos diretrios de base
dos usurios.
Todos os usurios includos depois que voc colocar o arquivo l encontraro esse
arquivo em seus diretrios de base quando suas contas forem criadas.

12.3 Removendo usurios

A excluso de usurios um processo paralelo incluso de usurios: voc usa o


comando userdel.

# userdel usurio1

O problema que os arquivos do usurio no so excludos. Para excluir o diretrio


de base do usurio simultaneamente, fornea o flag r :
73
# userdel -r usurio1

E se o usurio possusse arquivos em outra parte do sistema que precisam ser


excludos? Isso pode ser feito usando-se o comando find, depois da excluso do usurio.
Para fazer isso, tome nota da ID do usurio a partir do arquivo de senha, antes de exclu-lo, e
depois use o comando find:

# find / -type f -uid 503 -print -exec rm {} \ ou

O type f indica que o comando deve procurar apenas arquivos; -uid 503 indica que
apenas os arquivos pertencentes ao usurio com ID 503 devem ser retornados (esse nmero
deve ser substitudo pela ID do usurio que voc est excluindo); -exec rm {} \; indica que o
comando rm deve ser executado em cada arquivo encontrado, removendo os arquivos
efetivamente.

12.4 Gerenciando grupos

Criando grupos

Voc pode incluir novos grupos em seu sistema usando o comando groupadd (esse
comando se chama addgroup em algumas distribuies)

# groupadd groupname

O grupo ser criado e receber um novo nmero de usurio de acordo com a seguinte
regra : o padro usar o menor valor de ID que seja maior do que 500 e maior do que
qualquer outro grupo.
Se voc quiser especificar o nmero do grupo, basta usar o flag g para indicar o
nmero:

# groupadd -g 503 groupname

Incluindo usurios em grupos

No existe um programa padro disponvel para se incluir facilmente usurios em um


grupo. O modo mais fcil editar diretamente o arquivo /etc/group. Cada linha desse arquivo
representa a definio de um grupo e assume a forma

groupname:password:groupid:userlist

Ex.: group1::505:user1,user2,user3

Normalmente as senhas no so aplicadas aos grupos, de modo que normalmente


isso fica em branco.
O groupid o ID numrica do grupo e deve ser nica para ela.
Se quiser incluir usurios em um grupo existente, basta editar o arquivo /etc/group
com seu editor de textos predileto e incluir os nomes dos usurios no final da lista,
separando cada usurio com uma vrgula.
74
Excluindo grupos

A excluso de grupos feita com o comando groupdel.

# groupdel groupname

Contudo, toda essa simplicidade traz alguns inconvenientes:

Os arquivos pertencentes ao grupo no sero excludos ou mudaro de grupo.


Se o grupo serve como grupo principal de um usurio (em outras palavras,
indicado como grupo do usurio no arquivo de senha), ento ele no ser
excludo.

Para resolver essa questo, devemos primeiramente anotar a ID do grupo que


estamos excluindo (isso pode ser encontrado no arquivo /etc/group).
Quando o grupo for excludo com groupdel, podemos usar o comando find para mudar
a posse de grupo de todos os arquivos pertencentes ao grupo excludo:

# find / -type f -gid 503 -print -exec chgrp newgroupname { } \;

12.5 Checando a consistncia de sistema de arquivos

O que acontece quando o Sistema de arquivos est com problemas? Toda vez que o
Linux iniciado, um programa chamado fsck iniciado tambm. Esse programa analisa e
conserta qualquer problema no seu sistema de arquivos. Por esse motivo, os usurios Linux
no tem com que se preocupar (aqui no ocorre fragmentao de arquivos como no DOS).
Somente em casos mais srios, como falhas de hardware ou interrupes bruscas, pode
haver danos. Nesses casos, o fsck pra na inicializao e pede interveno do
administrador. Esse programa pode verificar mltiplos sistemas de arquivos usando
paralelismo.
Durante a inicializao, esse programa verifica todos os sistemas de arquivos, Caso
ocorra um erro, o usurio administrador recebe um prompt, entra no sistema e digita fsck
com algumas opes, geralmente a, que realiza reparos automaticamente. Lembre-se que
realizar reparos em sistemas de arquivos montados pode causar problemas. Onde est o
backup?

12.6 Inicializao do sistema

As mensagens de inicializao so salvas no arquivo de log de sistema


/var/log/messages.

O que acontece durante a inicializao

Existem dois estgios no processo de inicializao:

3. Inicializao do kernel. Durante essa fase, o Kernel carregado na memria e


imprime mensagens medida que inicializa cada driver de dispositivo.

75
4. Execuo do programa init. Esse programa manipula a ativao de todos os
programas, incluindo daemons de sistema essenciais e outro software especificado
para ser carregado no momento da inicializao.

O programa Init

Aqui voc pode personalizar facilmente quais programas so carregados durante o


ciclo de inicializao.
O Linux tem um sistema de nveis de execuo. Um nvel de execuo um nmero
que identifica o estado atual do sistema e quais processos o init deve executar e manter em
execuo nesse estado do sistema. No arquivo /etc/inittab, a primeira entrada especifica o
nvel de execuo padro que carregado durante a inicializao.

id:3:initdefault: (nvel de execuo 3)

Assim, para o nvel de execuo 3, as seguintes linhas so relevantes:

13:3:wait:/etc/rc.d/rc 3
1:12345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

As ltimas seis linhas configuram os seis consoles virtuais fornecidos no Linux. A


primeira linha executa o script de inicializao /etc/rc.d/rc 3. Isso executar todos os scripts
contidos no diretrio /etc/rc.d/rc3.d. Esses scripts representam programas que precisam ser
iniciados na inicializao do sistema, como sendmail, servios PCMCIA, o daemon de
impressora e crond.

Daemons - So processos servidores, inicialmente inicializados durante o boot, que


rodam continuamente enquanto o sistema estiver ativo, esperando, em background, at que
um processo requisite seus servios. Por exemplo, network daemons em estado idle at que
um processo requisite servios de rede.

O ltimo script a ser executado ser o AS99local. Esse script , na verdade, um


vnculo para o arquivo /etc/rc.d/rc.local; aqui que voc pode colocar todos os programas de
inicializao personalizada que quiser ativar no momento da inicializao.

12.7 Programando tarefas com crond

O crond um daemon que geralmente instalado para iniciar sempre que o sistema
for inicializado. Quando ele inicia ativado a cada minuto e verifica se alguma tarefa foi
programada para executar durante esse minuto.
Todas as tarefas programadas so armazenadas em um arquivo de configurao
individual (conhecido como arquivo crontab) do usurio, com cada linha representando uma
tarefa programada.
Cada entrada tem a forma

76
time-date command

A entrada time-date consiste em cinco campos numricos, cada um separado por


espaos, que indicam quando uma tarefa deve ser executada. Os cinco campos em ordem,
so:

Minute: De 0 a 59.
Hour: De 0 a 23.
Day of month: De 0 a 31.
Month: De 0 a 12.
Day os week: De 0 a 7, onde 0 e 7 representam domingo.

Para todos esses campos, vrias regras proporcionam flexibilidade:

Intervalos de nmeros podem ser usados (Ex.: 1 3 no campo horas diz


para programar o comando para 1:00, 2:00 e 3:00 da manh. 2 4 no
campo de dia da semana programa a tarefa para tera, quarta e quinta-feira.

O campo command

s vezes, os comandos (como o mail) exigem que informaes sejam introduzidas


atravs da entrada padro. Isso feito usando-se sinais de porcentagem (%). O primeiro
sinal de porcentagem marca o incio da entrada padro e cada sinal subsequente serve
como um caractere de nova linha nessa entrada.

30 14 * * fri /bin/mail -s TGIF arna@lala.edu %Bom dia!!!!%% Tudo


Bem???
Isso enviar a seguinte mensagem de correio eletrnico:

Bom bia!!!

Tudo bem???

Carregando entradas de um arquivo

Par carregar entradas de um arquivo, primeiro necessrio criar um arquivo que


contenha todas as entradas que voc queira que apaream em seu arquivo crontab. Um
exemplo de arquivo poderia conter duas entradas:

0 1 * * * /usr/local/bin/backup
30 14 * * fri /bin/mail -s TGIF arna@lala.edu %Bom dia!!!! %% Tudo
Bem???

Esses arquivo precisa ser salvo com um nome conveniente, como cronjobs.

Uma vez criado e salvo o arquivo, ele pode ser carregado no arquivo crontab de
um usurio, executando-se o comando:

$ crontab cronjobs
77
O contedo de cronjobs sobrescrever todas as entradas correntes do arquivo crontab
do usurio.
Usando o flag u, o usurio-root pode especificar que o arquivo crontab de outro
usurio, em vez do seu prprio, deve ser alterado.

$ crontab -u username cronjobs

Carregando arquivos crontab diretamente

Em vez de criar um arquivo separado e carreg-lo no arquivo crontab, o comando


crontab fornece o flag e, que permite ao usurio editar o arquivo crontab diretamente.

$ crontab e

Assim como aconteceu quando carregamos um arquivo no arquivo crontab, usando o


flag u, o usurio-root pode editar diretamente o arquivo crontab de outro usurio:

$ crontab -u username -e

Vendo o contedo do arquivo crontab

Para ver o contedo do arquivo crontab, basta usar o flag -l

$ crontab -l

Assim como na edio do arquivo crontab, o usurio-root pode ver o contedo do


arquivo crontab de qualquer usurio com o flag -u:

# crontab -u username -l

Removendo o arquivo crontab

Para apagar o contedo do arquivo crontab de um usurio, ele pode usar o flag r:

# crontab -r

Analogamente, o usurio-root pode apagar o arquivo crontab de qualquer usurio com


o flag u:

# crontab -u username -r

12.8 Gerenciando logs

O Linux permite registrar em logs a atividade dos numerosos daemons e programas


que esto em execuo no sistema. Esses logs podem ser usados para depurar problemas
do sistema, bem como para controlar sua utilizao, cobrindo tudo, desde possveis brechas
na segurana at aviso avanado de possveis falhas de hardware.
78
O que registrado em logs?

Basicamente dois tipos de logs: logs de sistema e logs de aplicativos.


Os logs de sistema so gerados pelo daemon syslogd, que carregado no momento
da inicializao.
O daemon acessa mensagens em oito nveis de seriedade dos vrios processos de
sistema, como o kernel, o sistema de correio, programas de usurios configurados para usar
syslogd e programas de autenticao, como o programa login.
Esses nveis de mensagens so, em ordem crescente de seriedade:
debug
info
notice
warning
err
crit
alert
emerg

Esses nveis so usados no arquivo /etc/syslog.conf para informar ao syslogd onde


deve criar logs para diferentes tipos de informao. O arquivo /etc/syslog.conf tem vrias
entradas, uma em cada linha, contendo cada uma dois campos separados por um ou mais
espaos: uma lista recurso-nvel e uma localizao do arquivo de log.

*.info;mail.none;authpriv.none /var/log/messages

Essa linha registra as mensagens de informao de todos os recursos, exceto correio


e autenticao no arquivo /var/log/message.

authpriv.* /var/log/secure

Coloca todas as mensagens de autenticao em /var/log/secure.

mail.* /var/log/maillog

Coloca todas as mensagens de log de correio em /var/log/maillog.

uucp,news.crit /var/log/spooler

Coloca todas as mensagens relacionadas a correio e a notcias em


/var/log/spooler.

Se voc quiser mudar sua estratgia de registro de log, editando o arquivo


/etc/syslog.conf, pode fazer isso editando esse arquivo e depois dizendo ao syslogd para que
recarregue a configurao, com o comando

# kill -HUP cat /var/run/syslogd.pid

79
O flag HUP do comando Kill indica que o processo deve reler sua configurao, mas
continuar em execuo.

Alternando logs

Para que os logs permaneam teis, eles precisam ser alterados regularmente. Em
um sistema monousurio podemos apenas remov-lo e recri-lo.

# rm /var/log/messages
# Kill -HUP cat /var/run/syslogd.pid

Em servidores multiusurios, as informaes de histrico so importantes. Nesse caso


voc deve criar um histrico de logs.

# mv /var/log/message /var/log/message.1
# aKill -HUP cat /var/run/syslogd.pid

Na maioria dos sistemas, voc pode querer automatizar esse procedimento,


executando-o a cada semana em determinado horrio. Para fazer isso, primeiro voc precisa
criar um script que realize as aes necessrias para alternar seus arquivos de log.

# !/bin/sh
# mv /var/log/messages /var/log/messages.1
# mv /var/log/secure /var/log/secure.1
# mv /var/log/maillog /var/log/maillog.1
# mv /var/log/spooler /var/log/spooler.1
# Kill -HUP cat /var/run/syslogd.pid

Esse script precisa ser criado com um editor de textos em uma localizao lgica
(como /usr/local/bin/newlogs) e depois transformado em um arquivo executvel:

# chmod 755 /usr/local/bin/newlogs

Em seguida, voc precisa editar o arquivo crontab do usurio-root e incluir uma


entrada apropriada. Por exemplo, para executar o script a cada domingo de manh, s
12h01 min:

1 12 * * sun /usr/local/bin/newlogs

80
13 - Dicas sobre hard ware

13.1 Utilizando um disco flexvel no Linux

Em primeiro lugar, um disquete uma unidade de volume assim como o CD, e dever
ser montado antes do uso.

Para formatar um disquete com sistema de arquivos etx2:

# fdformat /dev/fd0H1440

Para criar o sistema de arquivos ext2:

# mkfs -t ext2 -c -m 0 /dev/fd0H1440

Para montar um floppy disk, isto , um disco flexvel, voc ter que utilizar o comando
'mount'. Voc ter que ter o driver e o device respectivamente (fd0, fd1, fd2, etc). Ento voc
dever digitar:

# mount -t ext2 /dev/fd0 /mnt/floppy

Para montar um disquete com o sistema de arquivos msdos:

# mount t msdos /dev/fd0 /mnt/floppy

Isto far com que voc acesse o disquete que est no drive atualmente.
Quando voc quiser retirar o disco geralmente deve-se 'desmont-lo' primeiro. Digite:

umount /mnt/floppy

Voc pode tambm fazer o seguinte, criar um script, que se chama, por exemplo de
'diskon' (Para ativar) e 'diskoff' (Para desativar).
Ento para melhor utilizao, coloque este arquivo em um diretrio PATH, ou ento
coloque o PATH no diretrio onde voc quiser colocar os scripts.

81
14 - Insta lao de placa de rede ad icional.

Verificar a marca e o modelo das placas de rede a serem instaladas em cada estao,
bem como dados como interrupo e endereo de memria. Caso as placas sejam do tipo
PCI essa informao desnecessria, porm no caso de placas ISA ela essencial. Anote
numaa tabela os dados encontrados.

Dica: Caso seja uma placa nova verificar no disquete de instalao se a mesma
NE2000 compatvel e se existem drivers para Linux da mesma. Ainda com o disquete, caso
necessrio escolher e ajustar um endereo de memria (I/O) e interrupo (IRQ) para a
mesma.

No Linux, usando o console ou a interface grfica sua escolha - entre no Linuxconf


e v em Configurao -> Ambiente de Rede -> Tarefas de Cliente -> Configurao Bsica
desta Mquina.

Na aba Nome da mquina preencher o campo Nome da mquina. Escolher um nome


para a mquina na rede, de preferncia preencher em letras minsculas.

As abas Adaptador 1, Adaptador 2, etc sero preenchidas da seguinte forma:

a. Selecionar o boto ativo para que a placa seja ativada durante o boot.
b. Escolher o Modo de Configurao (endereo IP). Manual: atribuio de IP fixo (ideal
para o caso de servidores), DHCP, BOOTP: atribuio de IP dinmico usando
protocolos DHCP ou BOOTP.
c. Preencher o campo Primeiro nome + domnio. Nesse caso, caso a sua mquina v
estar na internet, colocar o nome principal dela (mesmo do item 3) acrescido de
.dominio. Caso a sua mquina no v participar de nenhum domnio preencher
somente o nome da mquina, de preferncia coincidindo com o nome dado no item 3.
Se sua mquina far parte da internet usando conexo a um provedor, sem domnio
prprio pode-se colocar aqui o domnio do provedor.
d. Em Endereos IP preencher somente se o Modo de Configurao selecionado foi
manual. Numa intranet prefira sempre os endereos IPs reservados. Ex. 192.168.X.Y,
10.X.Y.Z. Caso sua mquina tenha ligao direta com a internet preencher aqui
somente com endereos vlidos.
e. Mscara de sub-rede. Preencher de acordo com o projeto da sua rede. Se no for
preenchido, ser assumido o valor default 255.255.255.255. Embora esteja marcando
como opcional, sempre bom t-la preenchido.
f. Selecionar Dispositivo de Rede. No caso de redes ethernet, que o padro mais
usado, selecionar eth0 para o Adaptador1, eth1 para o Adaptador2 e assim por diante.
g. Em Mdulo do Kernel selecionar o apropriado para a sua placa de acordo com o
modelo da mesma. Caso no exista o mdulo referente sua placa, caso ela seja
NE2000 Compatvel selecione-o (ne para o caso de placas ISA ou ne2k-pci para o
caso de placas PCI). Nesse caso elas no funcionaram a 100Mbps. Se preferir, siga
as orientaes do manual da sua placa para instalar o mdulo do kernel correto, ser
necessrio na maioria das vezes recompilao do mesmo, adicionando o mdulo
necessrio.

82
h. Os campos de Porta E/S e IRQ devem ser preenchidos na seguinte situao: duas
placas de rede usando o mesmo mdulo do kernel. Ainda que a sua placa seja ISA
NE2000, caso ela seja a nica instalada na sua mquina o Linux capaz de detect-
las automaricamente. Se falhar, preencha manualmente.
i. Confira tudo, aps sair do Linuxconf confirmando as alteraes, no arquivo
/etc/conf.modules. Aqui guardada a informao de quais mdulos do kernel sero
carregados no boot e a qual dispositivo esse mdulo est associado. No console,
usando o comando ifconfig verifique se ambas esto funcionando. O comando ifconfig
seria usando para instalar a placa caso no tivessemos o Linuxconf.
j.

Outras opes de configurao seriam a edio direta dos arquivos:


/etc/sysconfig/network-scripts/ifcfg-ethX ou a utilizao do programa netconfig.

A instalao dos mdulos compilados feita usando-se o comando:

insmod modulo.o

83
15 - Conf igurao de Imp ressora

A ferramenta de configurao de impressoras que iremos utilizar o printtool. Ele atua


sobre o arquivo /etc/printcap, os diretrios de tarefas de impresso e os filtros de impresso.
Os filtros permitem que se imprimam diferentes tipos de arquivos incluindo:
ASCII (texto).
PostScript.
Tex .dvi.
RPMs.
GIF, JPEG, TIFF e outros formatos grficos.

Em outras palavras, ao imprimir arquivos GIF ou RPM utilizando-se o comando lpr os


arquivos sero tratados adequadamente.

Para criar-se uma fila de impresso nova, deve-se escolher Add e ento selecionar o
tipo de impressora.

H quatro tipos de filas de impresso que podem ser criadas:


Local: filas de impresso para impressoras instaladas diretamente na mquina local.
Remote: filas de impresso direcionadas para outras estaes de uma rede TCP/IP.
SMB: filas de impresso direcionadas para sistemas que utilizem uma rede tipo SMB
(Windows por exemplo).
NCP: filas de impresso direcionadas para sistemas de impresso baseados em
Novell Netware.

Aps escolher o tipo de impressora, uma janela de dilogo solicitar maiores


informaes sobre a fila de impresso. Todos os tipos de filas requerem as seguintes
informaes:
Queue Name: nome da fila de impresso. Vrios nomes podem ser especificados
utilizando-se o separador.
Spool Directory: diretrio no sistema local onde ficaro armazenados os arquivos
antes que a impresso ocorra. Nota: no deve ser definido o mesmo diretrio para
mais de uma fila de impresso.
File Limit: tamanho mximo permitido para o arquivo de impresso. Um tamanho igual
a zero indica que no h limite .
Input Filter: filtros so ferramentas de converso de arquivos de impresso para
formatos que a impressora selecionada pode tratar. Pressione Select para escolher o
filtro que mais fique adequado impressora. Alm de impressoras capazes de
imprimir grficos e PostScript, possvel configurar dispositivos que imprimam
somente arquivos em formato texto. A maioria dos arquivos de controle de
impressoras so capazes de imprimir arquivos ASCII, sem convert-los para
PostScript. Para habilitar esta funcionalidade selecione Fast text printing ao se
configurar o filtro. Nota: esta funcionalidade somente est habilitada para impressoras
que no sejam PostScript.
Supress Headers: verifica se h necessidade de imprimir uma pgina de incio antes
de cada impresso.

84
Para impressoras locais, os seguintes dados so necessrios:
Printer Device: normalmente /dev/lp1 o nome da porta qual a impressora est
conectada. Impressoras seriais esto normalmente em portas /dev/ttyS?, sendo
necessrio definir manualmente os parmetros de configurao deste tipo de
impressoras.

Para impressoras remotas so necessrias as seguintes informaes:


Remote Host: nome do servidor remoto ao qual a impressora est conectada.
Remote Queue: nome da fila de impresso no servidor remoto.
O servidor remoto dever estar configurado de forma a permitir que a mquina local
utilize a sua fila de impresso. O arquivo /etc/hosts.lpd controla estas informaes.

Para impressoras SMB e NCP, so necessrias as seguintes informaes:


Hostname of Printer Server: nome da mquina qual a impressora est conectada.
IP number of Server: o endereo IP da mquina qual a impressora est conectada
(opcional).
Printer Name: nome da impressora no sistema Windows, por exemplo.
User: nome do usurio para acessar a impressora (normalmente guest em servidores
Windows ou nobody para servidores samba).
Password: senha (se necessria) para utilizar a impressora (normalmente brancos).

recomendvel que o usurio e sua senha, quando utilizados, sejam diferentes de


usurios e senhas do Conectiva Linux ou de usurios de compartilhamento de arquivos, para
que se tenha um maior nvel de segurana de acessos. O mesmo procedimento indicado
para usurios utilizados no compartilhamento de arquivos em um servidor SMB ou Novell.
Isso se deve ao fato de que usurios e senhas para acesso a filas de impresso so
armazenados no sistema local em formato transparente, ou seja, sem criptografia.
Aps adicionar a fila de impresso necessrio reinicializar o servidor de impresso.
Para tanto basta clicar sobre Restart lpd no menu lpd.
Pode-se imprimir uma pgina de teste em qualquer fila de impresso selecionada.
Selecione o tipo de pgina de teste no menu Tests.
Caso o teste de impresso gere apenas uma linha, selecione a impressora, opes
Edit, select e na opo input filter, marque a opo fix stair-stepping.
Para imprimir a partir da linha de comando do interpretador ou de um terminal xterm,
pode ser executado o comando <lpr -P nome-da-impressora arquivo-para-impresso>, onde
<nome-da-impressora> o nome cadastrado na fila de impresso e sempre o nome na
primeira coluna da sada do comando printool.

15.1 Como configurar uma impressora remota em uma rede linux ?

Edite o arquivo /etc/hosts das mquinas ou configure o DNS de sua rede:

127.0.0.1 localhost.localdomain localhost


192.168.255.1 servidor.dominio servidor
192.168.255.2 cliente.dominio cliente

Configure a impressora da mquina servidora normalmente, usando o printtool.


85
Edite o arquivo /etc/hosts.lpd da mquina servidora que maquinas da rede tero
acesso ao servidor:

cliente.dominio cliente2.dominio ...

Adicione uma impressora "Remote Unix (lpd) Queue" em cada mquina cliente, pelo
programa printtool.

No campo Remote Host, digite o nome completo do servidor, ex.: servidor.dominio

No campo Remote Queue, digite o nome da fila de impresso que foi definida no
servidor, ex.: lp

Feito isto, basta experimentar imprimir algo no servidor, por exemplo:

[usuario@localhost]$ lpr .bashrc

86
16 - Importantes Funciona lidades de Rede

Aps configurar com sucesso o endereo IP e o resolvedor de nomes, deve-se


configurar os servios que sero disponibilizados atravs da rede. Este captulo cobre a
configurao de algumas aplicaes importantes de rede, inclusive o servidor inetd e os
programas da famlia rlogin. A interface RPC - Chamada de Procedimentos Remotos, na qual
servios como o Sistema de Arquivos em Rede - NFS e Sistemas de Informaes em Rede -
NIS esto baseados.

16.1 O Superservidor inetd

Freqentemente, servios so executados por programas denominados servidores.


Um servidor um programa que abre uma determinada porta e fica aguardando por
solicitaes de conexo. Quando uma solicitao recebida, ele cria um processo filho, o
qual trata aquela conexo especfica, enquanto o processo pai continua a escutar na porta
aguardando novas solicitaes. Este conceito sintetiza, na sua essncia e de maneira
simplificada, a forma como os servios so oferecidos em uma mquina Linux, ou seja um
servidor escutando em uma porta, aguardando pedidos de conexo, o que geralmente pode
significar a perda de alguns recursos de sistema, como por exemplo a rea de troca.

Porm, praticamente todo sistema Unix executa uma espcie de superservidor, o qual
capaz de criar conectores para uma srie de servios e ouvir todas as portas
simultaneamente, utilizando para tanto uma chamada ao sistema denominada select(2).
Quando uma mquina remota solicita algum de seus servios, o superservidor percebe o
fato e aciona o servidor especfico da porta envolvida. O superservidor normalmente utilizado
conhecido por inetd,

Ele inicia a sua execuo quando o sistema inicializado, recebendo a lista de


servios a serem monitorados a partir de uma arquivo denominado /etc/inetd.conf. Alm dos
servios que envolvem outros servidores, existe uma srie de servios simples que so
executados pelo prprio inetd denominados servios internos. Eles incluem a funo
chargen, a qual simplesmente gera uma cadeia de caracteres e a funo daytime, a qual
retorna o conceito do sistema da hora do dia.

Um registro neste arquivo consiste de uma linha simples composta pelos seguintes
campos:

servio tipo protocolo espera usurio servidor linha_de_comando

O significado dos campos o seguinte:

servio Fornece o nome do servio a ser disponibilizado. Ele deve ser traduzido em
um nmero de porta atravs de uma pesquisa no arquivo /etc/services. Este arquivo ser
descrito na seo Os Arquivos services e protocols, a seguir.

87
tipo Especifica o tipo de conexo que ser utilizada, stream (para conexes orientadas
a protocolo) ou dgram (para protocolos que utilizem datagramas). Servios baseados em
TCP devem sempre ser especificados como stream, enquanto que servios baseados em
UDP devem sempre ser definidos como dgram.

protocolo Especifica o nome do protocolo usado pelo servio. Deve ser um nome
vlido que possa ser encontrado no arquivo protocols, tambm explicado a seguir.

espera Esta opo aplica-se somente a conexes por datagramas. Ela pode ser igual
a wait ou nowait. Caso wait seja especificado, inetd ir executar somente um servidor por vez
para a porta especificada. De outra forma, ele imediatamente voltar a ouvir a porta aps
atender a uma requisio. Isso til para servidores _mono-executveis_ que necessitam ler
todos os
datagramas at que mais nenhum seja enviado, e ento finaliza. Muitos servidores
RPC so deste tipo e devem ter esta con.gurao. O tipo oposto, os servidores _multi-
executveis_ p permitem um nmero ilimitado de instncias do programa sendo executadas
concorrentemente. Estes so utilizados mais raramente. Estes servidores devem receber o
parmetro nowait. Conexes stream devem sempre usar o parmetro nowait.

usurio Esta a identi.cao de acesso do usurio sob o qual o processo ser


executado. Como freqncia ele ser igual ao superusurio root, porm alguns servios
podem utilizar contas diferentes. aconselhvel aplicar os princpios de uso do usurio
menos privilegiado, o que significa que no se deve executar um comando com uma conta
com privilgios que no sejam realmente necessrios na sua execuo. Por exemplo, o
servidor de notcias NNTP ser executado com o usurio news, enquanto servios que
podem produzir riscos de segurana, como por exemplo o tftp ou finger, so normalmente
executados com o usurio nobody.

servidor Fornece o caminho completo do programa servidor a ser utilizado. Servios


internos tero um valor igual a internal neste campo.

linha_de_comando Esta a linha de comando a ser enviada para o servidor. Isso


inclui o argumento 0, que o nome do comando. Normalmente conter o nome do programa
servidor, a menos que o programa comporte-se diferenemente quando acionado com um
nome diferente. Este campo no dever conter nenhuma informao para servios internos.

Um exemplo do arquivo \file{/etc/inetd.conf}.

#
# servios inetd
ftp stream tcp nowait root /usr/sbin/ftpd in.ftpd -l.p p
telnet stream tcp nowait root /usr/sbin/telnetd in.telnetd -b/etc/issue
#finger stream tcp nowait bin /usr/sbin/fingerd in.fingerd
#tftp dgram udp wait nobody /usr/sbin/tftpd in.tftpd
#tftp dgram udp wait nobody /usr/sbin/tftpd in.tftpd /boot/diskless
login stream tcp nowait root /usr/sbin/rlogind in.rlogind
shell stream tcp nowait root /usr/sbin/rshd in.rshd
exec stream tcp nowait root /usr/sbin/rexecd in.rexecd
#
# servios internos inetd
88
#
daytime stream tcp nowait root internal
daytime dgram udp nowait root internal
time stream tcp nowait root internal
time dgram udp nowait root internal
echo stream tcp nowait root internal
echo dgram udp nowait root internal
discard stream tcp nowait root internal
discard dgram udp nowait root internal
chargen stream tcp nowait root internal
chargen dgram udp nowait root internal

Um exemplo de um arquivo inetd.conf foi mostrado anteriormente. O servio finger


est comentado (contm um caractere # no incio da linha), portanto no est disponvel.
Isso feito com freqncia, por motivos de segurana, uma vez que ele pode ser usado por
intrusos para obter nomes vlidos de usurios do sistema local.

16.2 A Funcionalidade tcpd de Controle de Acesso

Abrir um computador para acesso pela rede envolve muitos riscos de segurana.
Algumas aplicaes foram escritas para proteger o sistema contra diversos tipos de ataques.
Alguns desses porm podem ser bastante frgeis, ou no conseguem distinguir entre
mquinas seguras a partir das quais a requisio de um determinado servio ser aceito e
mquinas inseguras cujas solicitaes sero rejeitadas. J comentamos rapidamente os
servios finger e tftp acima. Deve-se limitar o acesso a estes servios somente a mquinas
confiveis, o que impossvel com a con.gurao usual, pois o programa inetd disponibiliza
um servio a todos os
clientes ou a nenhum. Uma ferramenta til nestes casos o servidor tcpd, um
servidor de observao.

Para os servios TCP que se deseje monitorar ou proteger, ele dever ser acionado
ao invs do programa servidor. O programa tcpd registra todas as requisies atravs do
servidor de mensagens do sistema denominado syslog, verifica se a mquina remota tem
permisso de usar este servio e somente se a resposta for positiva executar o real servidor
do servio. Cabe ressaltar que esta funcionalidade no est disponvel para servios
baseados em UDP.
Por exemplo, para observar o servio finger, deve-se alterar a linha correspondente no
arquivo inetd.conf para:

# servidor de observao do servio finger


finger stream tcp nowait root /usr/sbin/tcpd in.fingerd

Sem a adio de qualquer controle de acesso, o cliente no perceber qualquer


diferena de um servio finger usual, exceto pelo fato de que todas as requisies sero
registradas pelo syslog.

89
O controle de acesso implementado atravs de dois arquivos denominados
/etc/hosts.allow e /etc/hosts.deny. Eles contm informaes que permitem e negam o
acesso, respectivamente. Quando o servidor tcpd manuseia uma requisio para um servio,
como por exemplo uma chamada ao finger a partir de um cliente chamado
itabaiana.cvirtual.com.br, ele pesquisa nos arquivos hosts.allow e hosts.deny (nesta ordem)
buscando uma entrada que coincida com o servio e com a mquina cliente. Caso uma
entrada seja encontrada no arquivo hosts.allow, o
acesso ser permitido, independente de qualquer referncia no arquivo hosts.deny.

Caso alguma entrada seja encontrada no arquivo hosts.deny, a requisio ser


rejeitada e a conexo encerrada. Caso nenhuma entrada seja encontrada, a requisio ser
aceita.
Registros nos arquivos de acesso tm a seguinte aparncia:

lista_de_servios: lista_de_mquinas [:comando]

lista_de_servios uma relao de nomes de servios existentes no arquivo


/etc/services ou a palavra chave ALL. Para definir todos os servios exceto

finger e tftp, use_ALL EXCEPT finger, tftp_.

lista_de_mquinas uma lista de nomes de mquinas ou endereos IP, ou as


palavras chave ALL, LOCAL, ouUNKNOWN. ALL significa qualquer mquina, enquanto
LOCAL utilizado para qualquer mquina cujo nome no contenha um ponto.

UNKNOWN significa qualquer mquina cujo nome ou endereo no seja localizado.


Um nome comeando com um ponto significa todas as mquinas de um determinado
domnio. Por exemplo, .cvirtual.com.br faz com que a mquina itabaiana.cvirtual.com.br
tenha acesso ao servio. H ainda o uso de endereos IP para redes e sub-redes. Por favor
consulte a pgina de manual hosts_access(5) para maiores detalhes.

Para evitar o acesso aos servios finger e tftp para todas as mquinas, exceto as
mquinas locais, deve ser criado o arquivo /etc/hosts.deny com o seguinte contedo,
deixando o arquivo /etc/hosts.allow vazio:
in.tftpd, in.fingerd: ALL EXCEPT LOCAL, .seu.dominio

O campo opcional comando pode conter um comando que pode ser acionado quando
a entrada coincidir. Isso til para configurar armadilhas que exponham intrusos em
potencial:

in.ftpd: ALL EXCEPT LOCAL, .cvirtual.com.br :


echo "origem da solicitao em %d@%h" >> /var/log/finger.log;
if [ %h != "aracaju.cvirtual.com.br" ]; then
finger -l @%h >> /var/log/finger.log
fi
Os argumentos %h e %d so expandidos para o nome da mquina cliente e o nome
do servio pelo programa tcpd, respectivamente. Por favor consulte a pgina de manual do
hosts_access(5) para maiores detalhes. Normalmente somente nomes de mquinas obtidos
de pesquisas no arquivo /etc/hosts no contm pontos.

90
O nmero das portas de certos servios padro so definidos na RFC denominada
Definindo Nmeros. Para viabilizar que programas servidores ou clientes convertam os
nomes de servios para estes nmeros, no mnimo parte desta lista deve ser mantida em
cada mquina. Estas de.nies so armazenadas em um arquivo chamado /etc/services.
Uma entrada neste arquivo tem o seguinte formato:

servios porta/protocolo [apelidos]

O parmetro servio especifica o nome do servio, porta define a porta onde o servio
oferecido e protocolo define qual o protocolo de transporte a ser usado. Comumente, ele
ser udp ou tcp. possvel que um servio seja oferecido por mais de um protocolo, assim
como servios diferentes podem ser oferecidos na mesma porta. O campoapelidos permite a
especi.cao de nomes alternativos para o mesmo servio.

Usualmente, no se deve alterar o arquivo de servios que vem com o software de


rede de seu sistema Linux. De qualquer forma, segue uma demonstrao do contedo do
arquivo.

# Arquivo de servios:
#
# servios bem conhecidos
echo 7/tcp # Eco
echo 7/udp #
discard 9/tcp sink null # Descartar
discard 9/udp sink null #
daytime 13/tcp # Hora do Dia
daytime 13/udp #
chargen 19/tcp ttytst source # Gerador de Caracteres
chargen 19/udp ttytst source #
ftp-data 20/tcp # Prot.de Transf. de Arquivos(Dados)
ftp 21/tcp # Prot.de Transf. de Arquivos(Controle)
telnet 23/tcp # Protocolo de Terminais Virtuais
smtp 25/tcp # Prot. Simples de Transf. de Mensagens
nntp 119/tcp readnews # Prot. de Transf. de Rede de Notcias
#
# servios UNIX
exec 512/tcp # rexecd BSD
biff 512/udp comsat # notificao de correio
login 513/tcp # acesso remoto
who 513/udp whod # comandos remotos who e uptime
shell 514/tcp cmd # comando remoto,sem senha
syslog 514/udp # sistema remoto de registro
printer 515/tcp spooler # sistema de impresso remota
route 520/udp router routed # protocolo de informaes de roteamento.p p

Note que o servio echo, por exemplo, oferecido na porta 7 por ambos os protocolos
TCP e UDP, e quea porta 512 usada para dois servios denominados servidor COMSAT (o
qual notifica o usurio da chegada de mensagens; veja por exemplo o programa xbiff(1x)),
sobre UDP, e usada para a execuo de comandos remotos (rexec(1)), usando TCP.

91
Similar ao arquivo deservios, a biblioteca de rede necessita traduzir nomes de
protocolos, por exemplo aqueles usados no arquivo servios, em nmeros conhecidos pela
camada IP de outras mquinas. Isso feito atravs de uma pesquisa no arquivo
/etc/protocols. Ele contm uma entrada por linha, constituda pelo nome do protocolo e o
nmero associado. muito improvvel que este arquivo deva ser alterado. Um exemplo
apresentado a seguir:

#
# Protocolos Internet (IP)
#
ip 0 IP # protocolo internet, nmero do pseudo-protocolo
icmp 1 ICMP # protocolo de controle de mensagens internet
igmp 2 IGMP # protocolo de propagao de grupos internet
tcp 6 TCP # protocolo de controle de transmisso
udp 17 UDP # protocolo de datagrama de usurio
raw 255 RAW # interface de IP no tratado

16.3 RPC - Chamada de Procedimento Remoto

Um mecanismo muito genrico de aplicaes cliente-servidor disponibilizado pelo


pacote RPC Chamada de Procedimento Remoto Ele foi desenvolvido pela Sun
Microsystems e uma coleo de ferramentas e bibliotecas. Aplicaes importantes
construdas sobre a RPC so NFS - Sistemas de Arquivos em Rede e NIS - Sistemas de
Informaes em Rede, ambos os quais sero melhor descritos em captulos posteriores.

Um servidor RPC consiste de uma coleo de procedimentos que um cliente utiliza


enviando uma solicitao RPC ao servidor, junto com os parmetros do procedimento. O
servidor ir acionar o procedimento indicado pelo cliente, retornando para aquele os valores
obtidos, caso haja algum que tenha sido retornado pelo programa acionado. Para tornar este
servio independente de plataforma, todos os dados trocados entre o cliente e o servidor so
convertidos para o formato XDR - Representao Externa de Dados pelo emissor e
convertido para a representao da plataforma local pelo receptor.

De qualquer forma, programas RPC tm nmeros de verso definidos, normalmente


iniciados por 1, e onde cada nova verso da interface incrementa a verso como em um
contador. Freqentemente, um servidor oferecido em diversas verses simultaneamente,
permitindo que os clientes possam ento indicar o nmero da verso desejada nas suas
requisies. A comunicao de rede entre servidores RPC e cliente bastante peculiar. Um
servidor RPC oferece uma ou mais colees de procedimentos, onde cada conjunto
chamado por um programa e identificado por um nmero deprograma. Uma lista mapeando
o nome do servio para o nmero de programa normalmente mantida no arquivo /etc/rpc, o
qual parcialmente apresentado a seguir.

Um exemplo do arquivo /etc/rpc.


#
# /etc/rpc - diversos servios baseados em RPC
#

92
portmapper 100000 portmap sunrpc
rstatd 100001 rstat rstat_svc rup perfmeter
rusersd 100002 rusers
nfs 100003 nfsprog
ypserv 100004 ypprog
mountd 100005 mount showmount
ypbind 100007
walld 100008 rwall shutdown
yppasswdd 100009 yppasswd
bootparam 100026
ypupdated 100028 ypupdate

Em redes TCP/IP, os autores do RPC confrontaram-se com o problema de


mapeamento de nmeros de programas com servios genricos de rede. A soluo foi
definida de forma que cada servidor atende aos protocolos TCP e UDP para uma verso
especfica de um determinado programa. Geralmente aplicaes RPC utilizaro UDP para o
envio de dados e utilizaro TCP quando os dados a serem transferidos no caibam em um
nico datagrama UDP. Obviamente, programas clientes tm que encontrar uma forma de
saber em qual.porta o programa est mapeado. Usar um arquivo de con.gurao para isso
poderia ser um tanto inexvel, uma vez que aplicaes RPC no utilizam portas reservadas.
No haveria nenhuma garantia de que a porta originalmente definida pela base de dados
seria a utilizada pelo processo. Ou seja, aplicaes RPC utilizam qualquer porta que possam
e as registram no denominado servidor de mapeamento de portas

Este age como um negociador de servios para todos os programas RPC em


execuo na mquina: um cliente que deseje contactar um servio com um determinado
nmero de programa, ir inicialmente contactar o servidor de mapeamento de portas do
servidor, o qual retornar os nmeros das portas TCP e UDP de servio desejado.

Este mtodo tem uma de.cincia particular, pois introduz um ponto de falha, similar ao
mesmo introduzido pelo servidor inetd de servios de Berkeley. De qualquer forma ele um
pouco pior pois o programa portmapper pode terminar anormalmente e as informaes das
portas RPC sero perdidas. Isso significa que os servidores RPC devero ser reinicializados
manualmente ou ainda todo o sistema dever ser reinicializado. No Linux, o portmapper
chamado pc.portmap e reside no diretrio /usr/sbin. Alm de estar certo de que ele
inicializado pelo programa rc.inet2, o portmapper no requer qualquer esforo de
configurao.

93
17 - D NS

Neste captulo apresentamos informaes sobre instalao, configurao e


manuteno de um servidor DNS (Domain Name System) em uma mquina com Linux. Voc
aprender como criar um domnio e administrar as mquinas liga-das a ele. Veremos como
fazer com que estaes possam utilizar o servidor DNS para acessar umas s outras atravs
de seus respectivos nomes. Alm disso, voc aprender um pouco sobre como o DNS
consegue organizar um nmero absurdamente grande de mquinas conectadas
possibilitando que se enxerguem, umas s outras, em uma rede.

17.1 Introduo e Conceitos

O DNS converte nomes de mquinas em endereos IP. Ele mapeia nomes para IPs e
IPs para nomes. Ele um banco de dados distribudo, permitindo, assim, que uma seo
seja gerenciada localmente e esteja, mesmo assim, disponvel para todo o mundo.

Os servidores de nomes compem a parte servidor do mecanismo cliente-servidor do


DNS. Os servidores de nomes contm informaes sobre uma parte do banco de dados e as
torna disponveis para os clientes ou resolvedores. A estrutura do banco de dados do DNS
semelhante estrutura do sistema de arquivos do Conectiva Linux, representada por uma
rvore invertida. No sistema de arquivos, tudo parte do diretrio raiz; no DNS tudo parte de
um nulo (), representado em texto como um ponto (.). Cada ramo da rvore representa
uma partio do banco de dados geral - um diretrio no sistema de arquivos do Conectiva
Linux ou um domnio no DNS. Cada domnio pode ser dividido em mais partes chamadas
subdomnios. Cada domnio tem um nome. Este nome dividido em duas partes. A primeira
identifica sua relao ao domnio pai. A segunda parte o nome do domnio, que identifica
sua posio no banco de dados. Por exemplo, podemos ver que em
kepler.minhaorganizacao.com.br, o nome de domnio minhaorganizacao.com.br e o nome
da mquina kepler.

17.2 Instalando e Configurando o DNS

17.2.1 Instalando os Pacotes

1. Acesse o diretrio de pacotes do Conectiva Linux:


# cd /mnt/cdrom/conectiva/RPMS/ #

2. Instale o servidor de nomes BIND:


# rpm -ivh bind-8.*.rpm
bind ############################## #

94
17.3 Configurando o Servidor DNS

A configurao do seu servidor de DNS pode ser realizada com facilidade atravs do
Linuxconf, o utilitrio de configuraes do Conectiva Linux. possvel configurar o servio de
servidor de nome apenas atravs da edio manual de arquivos de configurao, mas este
captulo se concentrar na confi-gurao que utiliza o Linuxconf. Entre no Linuxconf e v,
ento, para o menu Ambiente de Rede ! Tarefas de Servidor ! DNS.

A partir desta tela, voc pode configurar o seu servidor DNS inteiro sem a necessidade
de edio dos arquivos de configurao. Para comear, necessria a configurao bsica
do servidor, isto , nome do do-mnio, endereo de correio eletrnico do administrador e
mquina servidor. Para realizar estas configuraes, pressione o boto domnios. Uma tela
aparecer
onde voc pode adicionar, editar ou excluir os domnios de DNS. Pressione Adi-cionar
para que possamos adicionar um domnio. Nesta tela, voc deve informar os dados
referentes ao seu domnio.

Domnio: este o nome do domnio, no caso, estamos criando um domnio chamado


de
minhaorganizacao. Vide a seo Domnios para mais informaes.

Servidor principal: este o nome da mquina onde o servidor de nomes estar


sendo
executado. No caso de nosso exemplo, o domnio minhaorganizacao ser controlado
pela
mquina ns.minhaorganizacao.

Email do administrador: este o endereo de correio eletrnico do administrador de


sistema. Em caso de problemas, este administrador poder ser avisado. Note que usa-se um
ponto (.) no lugar de arroba (@) neste campo.

H, ainda, algumas outras configuraes que podem ser feitas nesta tela, mas que
no cobriremos neste livro. So elas:

Divulgando o DNS(NS): em uma configurao simples, basta o nome do servidor


principal. Alm disso, voc dever informar aqui quais sero os servidores secundrios
de seu domnio.

Divulgando o EMAIL(MX): aqui voc pode definir o servidor que encaminha as


mensagens de correio eletrnico do seu domnio para a Internet.

IPs padro: aqui voc pode definir um ou mais endereos de IP de mquinas que
sero acessadas atravs do domnio. normal pesquisas em servidores de nome se
referirem apenas ao domnio, mas os domnios no possuem IPs, apenas mquinas os tm,
assim, definindo IPs padro; uma pesquisa ao domnio minhaorganizacao ir resultar
naquele IP padro.

95
Funcionalidades: aqui podem ser definidas algumas funcionalidades do domnio. Por
exemplo, pode-se definir de quanto em quanto tempo os servidores secundrios sero
atualizados.

Access control: voc pode definir algumas opes de segurana para seu servidor
de nomes.Estas configuraes j so suficientes para que o servidor de nomes possa
funcionar corretamente. Mas h muito mais configuraes que podem ser feitas ainda em
seu servidor de DNS.

17.3.1 Configurando Mapas de IPs Reversos

A tarefa principal do servidor de nomes fazer o mapeamento entre nomes de


mquinas e endereos IP. Ele realiza automaticamente a traduo de um nome de mquina
para um endereo IP. Porm, s vezes necessrio fazer a traduo de um endereo IP
para um nome. Isto feito atravs de mapas de IPs reversos.

A configurao de um mapa de IP reverso muito semelhante configurao de um


domnio, basta comparar a Figura 4-3 e a Figura 4-4 para verificar as similaridades.

17.3.2 Configurando um Servidor Secundrio

A configurao de servidores secundrios bastante simples, basta especificar o


nome do domnio para o qual este servidor ser secundrio e informar o IP do ser-vidor
primrio de onde este servidor buscar as informaes. Veja a seo Servi-dores de Nomes
para mais informaes sobre servidores primrios e secundrios.

17.3.3 Forward Zones

Existem casos em que no interessante que o servidor de nomes envie uma grande
quantidade de pacotes para fora da rede local. Isto pode ocorrer por diversos motivos, como,
por exemplo, no caso de empresas que se conectam com a matriz atravs de antenas. Seria
ineficiente que o servidor ficasse tentando localizar algo atravs do servidor da matriz. Para
isso, pode-se criar servidores de nomes que servem para criar um grande cache (veja a
seo Cache). Estes
servidores so chamados de forwarders.

Por exemplo, se sua empresa tem um servidor 200.20.57.1 e deseja fazer um cache
dos servidores 200.20.57.12 e 200.20.57.13, ento voc poderia configurar as zonas de
forward conforme a Figura 4-6.Para configurar um servidor de nomes como forwarder, no
necessria qualquer configurao especial. Voc s precisa configurar os outros servidores
de nomes para encaminharem suas requisies para o forwarder. Desta forma, os servidores
tentam resolver nomes atravs do forwarder, que, por sua vez, tem grandes possibilidades
de j ter a resposta em seu cache, evitando, assim, que a requisio tenha de sair da rede
local.

96
17.3.4 Repetidores

O seu servidor de nomes pode ter dificuldades para resolver nomes fora do domnio
por ele gerenciado. Isso pode acontecer se o DNS estiver atrs de um firewall e, portanto,
no pode ver a Internet, ou se o DNS estiver ligado a uma conexo lenta.Isto pode ser
resolvido criando-se repetidores. Os repetidores so servidores de nomes que podem ser
utilizados para resolver nomes externos em lugar do servi-dor primrio.

Quando o servidor primrio no consegue resolver um nome, ele delega a tarefa para
o repetidor. Como o repetidor muito mais usado, ele tem muito mais informaes
guardadas, tendo uma chance muito maior de conseguir resolver nomes. Para configurar um
servidor de nomes como repetidor no necessria nenhuma configurao especial. A
configurao toda feita no servidor que utilizar o repetidor.

Para fazer com que este servidor utilize um ou mais repetidores, voc deve in-formar
os endereos IP dos mesmos na tela mostrada na Figura 4-7. Note que a ordem
importante, pois o servidor tentar sempre enviar as requisies para o primeiro, depois
para o segundo e assim por diante. Assim, sempre coloque o melhor primeiro para obter uma
performance desejvel.

17.3.5 Funcionalidades

Na tela de funcionalidades do servidor (Figura 4-8), voc pode fazer configura-es


diversas para alterar o funcionamento de seu servidor.

17.3.6 Alocao de Faixas de IP

Um servidor de nomes geralmente gerencia uma grande quantidade de mquinas


associadas a endereos IP. Cada vez que uma nova mquina adicionada ao do-mnio, um
endereo IP tem de ser associado a ela e, por isso, o DNS tem de saber muito sobre a
organizao da rede para decidir qual endereo IP ser associado nova mquina.

Para simplificar este processo, o Linuxconf lhe d a possibilidade de criar faixas de


endereos IP que podem ser identificadas de maneira a organizar a rede.

Por exemplo, voc pode criar uma faixa de endereos a serem utilizados em m-
quinas
da matriz e faixas para mquinas das filiais:

10.0.1.1-27
Matriz
10.0.2.1-15
Filial 1

10.0.3.1-21
Filial 2
97
Isto facilita e organiza o processo de deciso de qual IP ser designado a qual
mquina.

Para criar uma faixa de endereos IP, digite a faixa no campo Uma faixa de IP a
descrio (nome) no campo Identificao/descrio e pressione Aceitar. Voc pode criar
mltiplas faixas atravs do boto Adicionar.

17.4 Inicializando o Servio

Para inicializar o servio de servidor de nomes em seu servidor, voc deve abrir um
terminal como superusurio e inicializar o named:

# cds
atd gpm keytable lpd nfs sendmail syslog
crond halt killall mars-nwe pcmcia single xfs
dhcpd httpd kudzu named network portma snmpd
ypbind functions inet linuxconf netfs random sshd
# ./named start Inicializando named: [ OK ]

Note que isso no far com que o named seja reinicializado junto com o servidor.
Para fazer isso, voc deve utilizar o comando ntsysv e marcar o servio named para ser
inicializado sempre que o servidor for reiniciado conforme a Figura 4-10.

Marcando o named para reinicializar junto com o servidor, sempre que o sistema
operacional entrar em ao, o servidor de nomes ser inicializado com ele.

17.5 Arquivos de Configurao do BIND

Como j foi mencionado anteriormente neste captulo, a configurao do BIND pode


ser feita sem o auxlio do Linuxconf atravs da edio de diversos arquivos de configurao.
Embora este captulo tenha se dedicado a demonstrar a configurao do BIND atravs do
Linuxconf, algumas notas devem ser feitas em relao aos arquivos de configurao por ele
modificados. importante conhecer estes arquivos at por uma questo de segurana.
Perca ou danifique estes arquivos e voc estar automaticamente dizendo adeus ao seu
domnio. Assim sendo, lembre-se de manter cpias de segurana destes arquivos!

17.5.1 O Arquivo /etc/named.conf

O /etc/named.conf o primeiro arquivo que voc deve conhecer. Ele um ar-quivo


novo no BIND, pois at o BIND 4 a configurao era feita pelo arquivo /etc/named.boot,
enquanto que o BIND 8 faz tudo no /etc/named.conf. O arquivo /etc/named.conf do domnio
minhaorganizacao.com.br se parece com isso:

98
// Configurao para o domnio minhaorganizacao.com.br
options { directory "/var/named"; };
zone "." { type hint; file "root.hints"; };
zone "0.0.127.in-addr.arpa" { type master; file "zone/127.0.0"; };
zone "minhaorganizacao.com.br" { type master; file
"zone/minhaorganizacao.com.br"; };
zone "177.6.206.in-addr.arpa" { type master; file "zone/206.6.177";
};

Note as duas ltimas sees deste arquivo. A primeira define o domnio mestre (este
um domnio primrio). A segunda define o IP reverso, que ser usado pelo servidor de
nomes para fazer o caminho inverso, ou seja, a resoluo de um nome a partir de um
endereo IP.

17.5.2 O Arquivo /var/named/nome-do-dominio

Os domnios sobre os quais este servidor tem autoridade possuem um arquivo no


diretrio /var/named com o nome do prprio domnio. Em nosso exemplo, portanto, este
arquivo chama-se /var/named/minhaorganizacao. Nele esto as in-formaes do domnio
que foram configuradas na tela mostrada na Figura 4-11.

O arquivo se parece com:


@ IN SOA
ns.minhaorganizacao. hostmaster.ns.minhaorganizacao. (
2000051001 ; serial 3600 ; refresh 900 ; retry 1209600 ; expire
43200 ; default_ttl ) @ IN MX 5 mx.minhaorganizacao. @ IN NS
ns.minhaorganizacao. ns IN A 10.0.0.1

17.5.3 O Arquivo /var/named/named.local


O arquivo /var/named/named.local define o domnio local da mquina. Ele um
arquivo padronizado, no sendo necessria a sua configurao. Basicamente, ele uma
verso de /var/named/nome-do-dominio adaptado para o domnio e a mquina local
(localdomain e localhost, respectivamente).

@ IN SOA localhost.
root.localhost. ( 1997022700 ; serial 28800 ; refresh 14400 ;
retry 3600000 ; expire 86400 ; default_ttl ) @ IN NS localhost.
1 IN PTR localhost.

17.5.4 O Arquivo /var/named/named.ca

99
O arquivo /var/named/named.ca um arquivo fornecido pela InterNIC com infor-
maes necessrias para iniciar o cache do servidor de nomes. Este arquivo e deve ser
atualizado periodicamente, o que pode ser feito atravs de FTP no servi-dor FTP
ftp://ftp.rs.internic.net/ da InterNIC, no diretrio /domain

; This file holds the information on root name servers


needed to ; initialize cache of Internet domain name servers ;
(e.g. reference this file in the "cache . arquivo" ;
configuration file of BIND domain name servers). ; ; This file
is made available by InterNIC registration services ; under
anonymous FTP as ; file /domain/named.root ; on server
FTP.RS.INTERNIC.NET ; -OR- under Gopher at RS.INTERNIC.NET ;
under menu InterNIC Registration Services (NSI) ; submenu
InterNIC Registration Archives ; file named.root ; ; last
update: Aug 22, 1997 ; related version of root zone: 1997082200
; ; ; formerly NS.INTERNIC.NET ; . 3600000 IN NS
A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ;
; formerly NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ; ; formerly
C.PSI.NET ; . 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; ; formerly
TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; ; formerly
NS.NASA.GOV ; . 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; ; formerly
NS.ISC.ORG ; . 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; ; formerly
NS.NIC.DDN.MIL ; . 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; ; formerly
AOS.ARL.ARMY.MIL ; . 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; ; formerly
NIC.NORDU.NET ; . 3600000 NS I.ROOT-SERVERS.NET.
121.Captulo 4. DNS
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; ; temporarily
housed at NSI (InterNIC) ; . 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 ; ; housed in LINX,
operated by RIPE NCC ; . 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 ; ; temporarily
housed at ISI (IANA) ; . 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 ; ; housed in Japan,
operated by WIDE ; . 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 ; End of File

17.6 Configurao dos Clientes

100
17.6.1 Configurao Atravs do Linuxconf

A configurao de mquinas clientes de DNS muito mais simples do que a


configurao do servidor. Aquela configurao envolve basicamente a edio do arquivo
/etc/resolv.conf ou pequenas configuraes no Linuxconf. Novamente, vamos nos concentrar
na configurao via Linuxconf por ser ela muito mais robusta e menos propensa a erros.
Entre no Linuxconf e siga para Ambiente de Rede ! Tarefas do Cliente ! DNS para abrir a tela
de especificao do servidor de nomes que pode ser vista na Fi-gura 4-12.

Nesta tela voc pode configurar as opes do servidor de nomes a ser utilizado pela
estao. So elas:

Uso do DNS: esta opo serve apenas para indicar ao Linuxconf se o mesmo deve,
ou no, preocupar-se com o DNS. Ela no altera o funcionamento da mquina.
Domnio Padro: o domnio padro o domnio mais utilizado. Normalmente o
domnio de sua empresa. Quando voc procura um nome sem domnio, o servidor de nomes
procura pelo nome no domnio padro.
Servidor de Nomes: aqui voc pode definir at 3 endereos IPs de servidores de
nomes. Lembre-se de que a ordem importante, portanto coloque sempre o melhor servidor
(o mais rpido) no topo.
Procurar domnio: voc pode definir vrios domnios nos quais um nome poder ser
encontrado. Quando um nome sem domnio no encontrado no domnio padro, o servidor
de nomes comea a procurar nestes domnios. A ordem importante, mas no da mesma
forma como nos servidores de nomes. Aqui, voc no precisa colocar os servidores mais
rpidos antes, mas sim, os servidores mais utilizados.

17.6.2 O Arquivo /etc/resolv.conf

A configurao via Linuxconf muito menos propensa a erros e muito mais in-tuitiva
do que a edio do arquivo resolv.conf. Mesmo assim, este arquivo extremamente simples,
contendo apenas informaes sobre o(s) servidor(es) a ser(em) utilizado(s).

Geralmente, este arquivo ser bem pequeno e semelhante a este:


domain minhaorganizacao
search minhaorganizacao.com.br
nameserver 10.0.0.5
nameserver 10.0.0.7

O que este arquivo est nos dizendo que esta estao est no domnio min-
haorganizacao, est utilizando os servidores 10.0.0.5 e 10.0.0.7 para a resoluo de nomes
e que o servidor deve procurar por nomes no domnio minhaorganiza-cao.com.br se o
mesmo no puder ser encontrado no domnio local.

101
18 - NIS - S istema deInfo rmaes em Rede

Hoje em dia, NIS est disponvel virtualmente para todos os Unices e existem diversas
implementaes gratuitas dele. Uma delas o Net-2 da distribuio BSD que foi derivada de
uma implementao de domnio pblico doada pela Sun. O cdigo da biblioteca cliente desta
verso est na GNU libc h um bom tempo, enquanto os programas administrativos foram
recentemente portados para o Linux por Swen Thummler.

Um servidor NIS est faltando nas referncias de implementaes: Tobias Reber


escreveu outro pacote NIS incluindo todas as ferramentas e um servidor, chamados yps.

Atualmente, uma nova verso do cdigo NIS chamada NYS est sendo desenvol-
vida por Peter Eriksson, a qual suporta tanto o NIS puro quanto a reviso da Sun
conhecida como NIS + . NYS no prov somente um conjunto de ferramentas NIS e um
servidor, mas tambm adiciona um novo conjunto de funes em uma biblioteca, as quais
provavelmente sero convertidas em um padro da libc padro. Ele inclui um novo esquema
de con.gurao para a resoluo de nome de mquina que substitui o sistema atual de uso
do host.conf. As facilidades destas funes sero discutidas a seguir.

Ele pode ser encontrado em swen@uni-paderborn.de. Os clientes NIS esto


disponveis em
yp-linux.tar.gz no domnio metalab.unc.edu em system/Network.

A verso atual denominada yp-tools e pode ser obtida em ftp.lysator.liu.se no


diretrio /pub/NYS.

Ele pode ser encontrado em pen@lysator.liu.se.

Este captulo ir focar o NYS ao invs de observar os outros pacotes, os quais sero
referenciados como cdigo NIS tradicional. Caso se deseje executar quaisquer destes
pacotes, as instrues deste captulo talvez sejam suficientes. Para obter informaes
adicionais, por favor obtenha um livro padro para NIS, como o _ NFS and NIS_ de Hal Stern
(ver [Stern92]), ou veja o Como Fazer _ NIS, traduzido pela Conectiva Informtica; veja na
Bibliografia, na pgina 459 os documentos que podem ser pesquisados. Quando este livro foi
escrito originalmente, o NYS ainda estava sobdesenvolvimento, e diversos utilitrios de rede
do Linux como os programas login ainda no estavam cientes do esquema de con.gurao
do NYS. At que ele seja absorvido pela libc principal, ainda ser necessrio recompilar os
binrios, caso se deseje que eles utilizem o NYS. Em qualquer destas aplicaes os arquivos
Makefiles, devem
Especificar lnsl como ltima opo antes da libc para a ligao do programa. Assim
pode-se utilizar as funes relevantes a partir da libnsl, a biblioteca do NYS, ao invs da
biblioteca C padro.

18.1 Conhecendo o NIS

102
NIS mantm uma base de dados de informaes denominadas mapas, que contm
pares de chaves. Mapas so armazenados em uma mquina central que executa o servidor
NIS e a partir da qual, os clientes recuperam as informaes atravs de diversas chamadas
RPC. Muito freqentemente, mapas so armazenados no formato DBM.

Os mapas em si so gerados a partir de arquivos textos mestres, como por exemplo


os arquivos /etc/hosts ou /etc/passwd. Para alguns arquivos, diversos mapas so criados, um
para cada tipo de chave. Por exemplo, pode-se pesquisar o arquivo hosts na busca por um
nome de mquina ou por um endereo IP. Neste caso, dois mapas so gerados a partir
deste arquivo, os mapas hosts.byname e hosts.byaddr, respectivamente. A tabela 10.1 lista
os mapas mais comuns e os seus arquivos de origem.

H outros arquivos e mapas que podem encontrar suporte em um ou outro pacote NIS
e que podem conter informaes para aplicaes no discutidas neste livro, como o mapa
bootparams que pode ser usado por alguns servidores BOOTP, DBM uma biblioteca de
gerenciamento de bases de dados que usa tcnicas numricas para acelerar as operaes
de pesquisa. Esta implementao livre do DBM no projeto GNU chamada de gdbm, a qual
parte de muitas distribuies Linux..Arquivo Mestre Mapa(s) Mapa(s)
/etc/hosts hosts.byname hosts.byaddr
/etc/networks networks.byname networks.byaddr
/etc/passwd passwd.byname passwd.byuid
/etc/group group.byname group.bygid
/etc/services services.byname services.bynumber
/etc/rpc rpc.byname rpc.bynumber
/etc/protocols protocols.byname protocols.bynumber
/usr/lib/aliases mail.aliases

ou mapas que no tm atualmente qualquer funo no Linux (como os mapas

ethers.byname e ethers.byaddr).

Para alguns mapas, as pessoas comumente utilizam nomes curtos, os quais so mais
simples de serem memorizados e digitados. Para se obter uma lista completa dos nomes
curtos conhecidos pelas ferramentas NIS, deve-se executar o seguinte comando:
$ ypcat -x

NIS map nickname translation table:


"passwd" -> "passwd.byname"
"group" -> "group.byname"
"networks" -> "networks.byaddr"
"hosts" -> "hosts.byname"
"protocols" -> "protocols.bynumber"
"services" -> "services.byname"
"aliases" -> "mail.aliases"
"ethers" -> "ethers.byname"
"rpc" -> "rpc.bynumber"
"netmasks" -> "netmasks.byaddr"
"publickey" -> "publickey.byname"
"netid" -> "netid.byname"
"passwd.adjunct" -> "passwd.adjunct.byname"
103
"group.adjunct" -> "group.adjunct.byname"
"timezone" -> "timezone.byname"

O servidor NIS tradicionalmente chamado de ypserv. Para uma rede mdia, um


nico servidor ser suficiente, porm redes grandes podem executar diversos. servidores em
mquinas diferentes e em segmentos diferentes da rede permitindo maior segurana e
balanceamento entre servidores e roteadores. Estes servidores so sincronizados definindo-
se um como servidor mestre e os demais como servidores escravos. Mapas sero criados
somente na mquina onde for executado o servidor mestre. A partir deste, eles sero
distribudos para todos os escravos. O leitor mais atento pode ter percebido que o termo rede
foi colocado de forma muito vaga at aqui e isso se deve ao fato de NIS ter um conceito
distinto para se referir a uma rede, ou seja, o conjunto de todas as mquinas que
compartilham parte de suas informaes e dados de con.gurao do sistema atravs do NIS,
o chamado: domnio NIS. Infelizmente, domnios NIS no tm absolutamente nada em
comum com os domnios encontrados no DNS. A fim de evitar esta ambigidade ao longo
deste captulo, sempre especificaremos o tipo de domnio a que se est referindo. Os
domnios NIS tm exclusivamente uma funo administrativa. So invisveis para a maioria
dos usurios, exceto para aqueles que compartilham senhas entre todas as mquinas do
domnio. Desta forma, o nome dado a um domnio NIS relevante somente para
administradores. Normalmente, qualquer nome servir, desde que ele seja diferente de
qualquer outro nome de domnio NIS existente na rede local. Por exemplo, caso o
administrador da rede da Cervejaria Virtual
resolva criar dois domnios NIS, um para a Cervejaria e outro para a Vincola, eles
podem chamar-se, por exemplo cervejaria e vinicola, respectivamente. Outro esquema
comumente utilizado ode simplificar o nome do domnio NIS, chamando-o somente de NIS.
Para configurar e mostrar o nome do domnio NIS de uma mquina, deve-se utilizar o
comando domainname. Ao ser acionado sem argumentos, ele imprime o nome do domnio
NIS. Para configurar o nome do domnio deve-se execut-lo como superusurio e digitar-se:
# domainname cervejaria Domnios NIS determinam que servidor NIS dever ser
pesquisado pela aplicao.

Por exemplo, o programa login em uma mquina da Vincola pode, obviamente,


somente pesquisar o servidor NIS da Vincola (ou um deles, caso haja mais de um) para
descobrir a informao de senha de um usurio, enquanto uma aplicao em uma mquina
da Cervejaria deve pesquisar o servidor NIS da Cervejaria. Um mistrio porm permanece
sem soluo: como os clientes descobrem a qual servidor eles devem se conectar. A
abordagem mais simples poderia ser um arquivo de con.gurao que define o nome da
mquina onde o servidor executado. De qual-.quer forma, esta abordagem pouco exvel,
porque no permite que os clientes usem diferentes servidores (para o mesmo domnio),
dependendo de sua disponibilidade. De qualquer forma, implementaes tradicionais do NIS
baseiam-se em um servidor especial chamado ypbind para detectar um servidor NIS
adequado para o seu domnio NIS. Antes de estar apta a executar quaisquer pesquisas NIS,
uma aplicao deve encontrar qual servidor ypbind pode ser usado. O servidor ypbind testa
os servidores atravs da propagao na rede local. O primeiro servidor que responder
assumido como sendo o potencialmente mais rpido e ser usado nas pesquisas NIS
subseqentes. Aps um certo intervalo ou se o servidor se tornar indisponvel, ypbind ir
repetir o teste para servidores ativos novamente. Agora o ponto de discrdia sobre a
de.nio dinmica do servidor NIS reside no fato de ela ser raramente utilizada e que
introduz um problema srio de segurana: ypbind cegamente acredita em qualquer mquina
que responda, o qual pode ser um perfeito servidor NIS, assim como um intruso mal
104
intencionado. Desnecessrio dizer que isto se torna especialmente problemtico quando se
administram bases de dados de senhas sobre NIS. Para proteger-se disso, NIS no usa
ypbind por padro, mas escolhe o nome da mquina servidora a partir de um arquivo de
con.gurao.

18.2 O Cliente NIS

Caso se esteja familiarizado no desenvolvimento ou porte de aplicaes de rede,


pode-se notar que os mapas NIS listados acima correspondem a funes de uma biblioteca
C. Por exemplo, para obter informaes a partir do arquivo passwd, geralmente so
utilizadas as funes getpwnam(3) e getpwuid(3), as quais retornam informaes sobre a
conta associada a determinado nome de usurio ou a uma identi.cao numrica,
respectivamente. Sob condies normais, estas funes executam uma pesquisa no arquivo
padro, no caso o /etc/passwd.

Uma aplicao NIS que necessite destas funes, ir modificar seu comportamento, e
colocar uma chamada RPC para fazer com que o servidor NIS execute as pesquisas de
nomes de usurios ou identi.caes. Isso ocorre de maneira totalmente transparente para a
aplicao. A funo pode ou anexar o mapa NIS ou substituir o arquivo original por ele.
Obviamente, as alteraes no so realizadas diretamente no arquivo original, porm para a
aplicao elas aparentam terem sido.

Para implementaes NIS tradicionais, h certas convenes a serem usadas, assim


como na substituio de mapas ou sobre aqueles que foram anexados informao original.
Alguns mapas, como o passwd, requerem modi.caes no arquivo passwd, as quais se
forem realizadas de forma errnea, podem gerar problemas de segurana. Para evitar estes
problemas, NYS usa um sistema geral de configurao, que determina se um determinado
conjunto de funes cliente usa os arquivos originais, mapas NIS ou NIS + e em qual ordem.
Ele ser descrito em maiores detalhes em uma seo posterior.

18.3 Servidor NIS

Aps tanta teoria tecno-babel, tempo de _sujar as mos_ com algum trabalho de
con.gurao. Neste seo, cobriremos a con.gurao de um servidor NIS. Caso se estejam
executando somente testes com o servidor, esteja certo de no configurar um nome de
domnio NIS que j esteja em uso na.rede. Isso pode corromper todos os servios de rede e
provocar tristeza e ira em diversas pessoas.
H atualmente dois servidores NIS de livre distribuio disponveis para Linux, um
deles no pacote ypserv de Peter Eriksson. No importa qual ser executado, independente
de se usar NYS ou o NIS padro cujo cdigo cliente utiliza a biblioteca libc. Quando este livro
foi escrito, o cdigo para o gerenciamento do servidores escravos NIS parecia ser mais
completo em yps. Ento, caso se tenha a possibilidade de lidar com diversos servidores
escravos, yps poder ser uma sbia escolha.

105
Aps instalar o programa servidor (ypserv) no diretrio /usr/sbin, deve-se criar o
diretrio que conter os arquivos de mapas que sero distribudos. Ao configurar o domnio
NIS para o domnio cervejaria, os mapas iro para o diretrio /var/yp/cervejaria. O servidor
determinar se est servindo a um domnio NIS em particular ao checar se o diretrio de
mapas est presente. Caso o servio no esteja habilitado para algum domnio NIS, deve-se
estar seguro de que o diretrio foi removido.

Mapas so atualmente armazenados em arquivos DBM para agilizar as pesquisas.


Eles so criados a partir de arquivos mestres usando um programa chamado makedbm (no
servidor de Tobias) ou dbmload (no servidor de Peter). Eles no podem ser intercambiados.
Transformar um arquivo mestre em um formato utilizvel pelo programa dbmload
normalmente requer alguma mgica dos utilitrios awk ou sed, o qual tende a ser um pouco
tedioso para digitar e difcil de relembrar.

De qualquer forma, o pacote ypserv de Peter Eriksson contm um arquivo Makefile


(chamado ypMakefile) que executar todas as tarefas necessrias. Deve-se instalar o
Makefile no mapa de diretrios e edit-lo para reetir os mapas que se deseja distribuir. A
partir do topo do arquivo,pode se encontrar o parmetro all que lista os servios que o
servidor ypserv oferece. Por padro, a linha ter a seguinte aparncia:

all: ethers hosts networks protocols rpc services passwd group netid

Caso no se deseje produzir os mapas ethers.byname e ethers.byaddr, por exemplo,


basta remover os pr-requisitos ethers para esta regra. Para testar a configurao, deve-se
iniciar com somente um ou dois mapas, como por exemplo com os mapas services.*.

Aps editar o Makefile, enquanto ele j esteja no diretrio de mapas, basta digitar _
make_. Este procedimento ir gerar automaticamente os mapas e instal-los. Deve-se estar
seguro de atualizar os mapas toda vez que os mestres forem alterados, caso contrrio eles
permanecero invisveis para o restante da rede. A prxima seo explica como configurar o
cliente NIS. Caso a con.gurao no funcione, deve-se tentar descobrir se alguma requisio
foi recebida do servidor ou no. Caso se especifique o indicador -D ou -debug na linha de
comando do servidor NYS, ele apresentar uma srie de mensagens informativas na
console sobre todas as pesquisas NIS recebidas e o resultado retornado. Certamente isso
ser de extrema utilidade na busca da causa de um problema. O servidor de Tobias no tem
tal opo disponvel.

10.5 Segurana em Um Servidor NIS

O uso do NIS tem aspectos de segurana bastante delicados: ele pode deixar o
arquivo de senhas da rede acessvel virtualmente a todos os usurios da rede local e aoutras
que possam estar interconectadas, o que pode facilitar o acesso a um grande nmero de
intrusos. Assim que um intruso souber o nome do domnio NIS e o endereo do servidor, ele
pode simplesmente enviar uma requisio do mapa passwd.byname e instantaneamente
receber todas as senhas do sistema. Com um programa de quebra de senhas gil e um bom
dicionrio, descobrir a senha de alguns usurios do sistema no ser problema. Devido a
isso, foram criadas as opes conhecidas como securenets. Elas restringem o acesso ao
servidor NIS a somente algumas mquinas, baseado no seu endereo IP ou nos seus
nmeros de rede. A ltima verso do ypserv implementa esta funcionalidade de uma forma
bastante simples, utilizando os arquivos etc/hosts.allow e etc/hosts.deny, descrito no captulo
106
9. Por exemplo, para restringir o acesso ao servidor NIS somente s mquinas da rede da
Cervejaria Virtual, o administrador de redes dever informar o seguinte no arquivo
hosts.allow: ypserv: 172.16.2
Isso faz com que todas as mquinas na rede IP 172.16.2.0 tenham acesso ao
servidor NIS. Para evitar que qualquer outra mquina acesse o servidor NIS deve-se incluir a
seguinte linha no arquivo hosts.deny:

ypserv: all

Nmeros IP no so a nica forma de especificar mquinas ou redes nos arquivos


hosts.allow e hosts.deny. Verifique na pgina de manual de hosts.access(5) para maiores
detalhes. De qualquer forma importante saber que no possvel usar nomes de mquinas
ou domnios como uma entrada de ypserv. Caso seja especificado um nome de mquina, o
servidor tentar resolver o endereo IP, mas o resolvedor chama o servidor NYS,
provocando um crculo vicioso sem fim. Pode-se ainda utilizar um programa portmaster
seguro ao invs das opes
securenets. O portmap-3.0 tambm utiliza o arquivo hosts.allow, disponibilizando-o
para todos os servidores RPC e no somente para ypserv. No se deve utilizar os dois
sistemas de segurana ao mesmo tempo, pois este procedimento causaria uma sobrecarga
nos processos de autorizao.

18.4 Configurando um Cliente NIS com NYS

O primeiro passo para a con.gurao de um cliente NYS informar qual o servidor


NIS que deve ser utilizado para os servios NIS, configurando o arquivo de configurao
/etc/yp.conf. Uma entrada muito simples para a mquina da rede da Vincola teria a seguinte
aparncia:

# yp.conf - configurao YP para a biblioteca NYS. #


domainname vinicola
server garibaldi

O primeiro comando indica a todos os clientes NIS que eles pertencem ao domnio
NIS chamado vinicola. Caso esta linha seja omitida, NYS ir utilizar o nome de domnio
definido no sistema atravs do comando domainname. O comando server no arquivo acima
define o nome do servidor NIS a ser utilizado. Obviamente, o endereo IP de garibaldi deve
estar configurado no arquivo hosts. Alternativamente pode-se usar o endereo IP no
comando server. Na forma mostrada acima, o comando server indica ao NYS qual o nome
do servidor a ser usado, independente do contedo do campo nome de domnio. Caso
Disponvel via FTP annimo em metalab.unc.edu sob o diretrio Linux/systems/Network.haja
mudanas freqentes entre diferentes domnios NIS para a mesma mquina pode-se desejar
manter a informao de diversos domnios no arquivo yp.conf. Para tanto necessrio
adicionar o nome do domnio ao comando server. Por exemplo, pode-se alterar o exemplo
acima para um equipamento porttil, que teria o seguinte contedo:

# yp.conf - YP configurao para biblioteca NYS


#

107
server garibaldi vinicola
server aracaju cervejaria

Isto permite que o porttil possa ser conectado a qualquer um dos domnios NIS,
simplesmente alterando-se o nome do domnio atravs do comando domainname em tempo
de inicializao do sistema. Aps a criao de arquivos de con.gurao bsica e
assegurando-se de que eles
estejam acessveis a todos os usurios deve-se executar os primeiros testes, a fim de
verificar se a mquina consegue conectar-se com o servidor NIS. Deve-se escolher qualquer
mapa que seja realmente distribudo pelo servidor, como por exemplo o hosts.byname e
tentar recuper-lo atravs do uso do utilitrio ypcat, que assim como todas as outras
ferramentas administrativas NIS, dever estar no diretrio /usr/sbin.

# ypcat hosts.byname
191.72.2.2 caxias caxias.vinicola.com.br
191.72.2.3 gramado gramado.vinicola.com.br
191.72.1.1 aracaju aracaju.cvirtual.com.br
191.72.2.1 aracaju aracaju.vinicola.com.br
191.72.1.2 maceio maceio.cvirtual.com.br
191.72.1.3 jpessoa jpessoa.cvirtual.com.br
191.72.2.4 garibaldi garibaldi.cvirtual.com.br

A sada obtida dever ter uma aparncia similar lista acima apresentada. Caso se
obtenha uma mensagem de erro como por exemplo _ _ ou algo similar, as causas podem
ser: ou o nome do servidor NIS do domnio definido em yp.conf no existe, ou o servidor no
pode ser alcanado por alguma razo. Neste caso, deve ser executado um comando ping
para as mquinas envolvidas, a fim de verificar as condies de conectividade com o
servidor NIS e caso a conexo esteja funcionando corretamente deve-se checar se o
servidor NIS est ativo. Isto pode ser feito atravs do comando rpcinfo, o qual deve produzir
a seguinte sada:
# rpcinfo -u
servidor ypserv programa 100004 verso 2 pronto e aguardando

18.5 Escolhendo os Mapas Corretos

Estando-se seguro de que a comunicao com o servidor NIS est em perfeitas


condies, deve-se decidir quais arquivos de con.gurao sero substitudos ou
incrementados com os mapas NIS. Comumente, utilizam-se os arquivos NIS para funes de
pesquisas de mquinas e senhas. O primeiro especialmente til caso no se execute o
BIND. O ltimo permite que todos os usurios acessem qualquer mquina do domnio
utilizando a mesma conta e senha. Isto normalmente exige que o diretrio pessoal do usurio
esteja localizado de forma central e seja compartilhado por todas as mquinas via NFS. Isso
explicado de forma detalhada na seo 10.8 a seguir. Outros mapas, como
services.byname, no provocam um ganho to visvel, mas economizam a edio de alguns
arquivos, caso se tenha instalado qualquer aplicao de rede que use o nome do servio que
no esteja no arquivo padro services.

108
Geralmente, desejvel ter-se alguma liberdade de escolha quando uma funo de
pesquisa deve utilizar arquivos locais e quando deve utilizar o servidor NIS. NYS permite a
con.gurao da ordem em que uma funo acessa estes servios. Isso controlado atravs
do arquivo /etc/nsswitch.conf, que significa Troca de Servios de Nomes, o qual obviamente
no est limitado somente a servios de nome. Para qualquer uma das funes de pesquisa
suportadas pelo NYS, ele conter uma linha denominando os servios a serem utilizados.

A ordem correta dos servios depende do tipo de dados. Porm no como se as


entradas contidas no mapa services.byname contenham entradas diferentes do arquivo
services local, na verdade ele somente contm mais dados. Ento uma boa opo pode
residir em selecionar os arquivos locais inicialmente e checar os mapas NIS somente se o
nome do servio no for encontrado. As informaes de nomes de mquinas, por outro lado,
podem mudar freqentemente; por outro lado DNS ou o servidor NIS deve ter sempre as
informaes mais atualizadas, enquanto o arquivo localhosts mantido somente como uma
cpia de segurana caso DNS e NIS falhem. Neste caso, os arquivos locais devem ser
checados por ltimo. O exemplo abaixo mostra como configurar as funes
gethostbyname(2),Name Service Switch.
gethostbyaddr(2) e getservbyname(2) conforme descrito acima. Elas tentaro os
servios listados na ordem apresentada, onde caso uma pesquisa seja bem sucedida, o
resultado ser informado, caso contrrio o prximo servio ser testado.

# pequeno exemplo do arquivo /etc/nsswitch.conf


#
hosts: nis dns files
services: files nis

A lista completa de servios pode ser definida como uma entrada no arquivo
nsswitch.conf mostrado. Os mapas correntes, arquivos, servidores e objetos podem ser
pesquisados dependendo do nome da entrada. nisplus ou nis+ Usa o servidor NIS + para
este domnio. A localizao do ser- vidor obtida no arquivo /etc/nis.conf.nis Usa o servidor
NIS atual deste domnio. A localizao do servidor pesquisado configurado no arquivo
yp.conf, conforme apresentado na seo anterior. Para as entradas em hosts, os mapas
hosts.byname e hosts.byaddr sero pesquisados.

dns Usa o servidor de nomes DNS. Este tipo de servio somente til com uma
entrada no arquivo hosts. As pesquisas de servidores de nomes so ainda determinadas
pelo arquivo padro resolv.conf.

files Usa o arquivo local, como o arquivo /etc/hosts com entrada de hosts.

dbm Pesquisa os arquivos DBM localizados em /var/dbm. O nome usado pelo arquivo
o correspondente no mapa NIS.

Atualmente, NYS suporta as seguintes entradas no arquivo nsswitch.conf: hosts,


networks, passwd, group, shadow, gshadow, services, protocols, rpc e ethers. Outras
entradas similares podem ser adicionadas.

A descrio abaixo apresenta um exemplo completo, que introduz uma outra


funcionalidade no arquivo nsswitch.conf: o parmetro [NOTFOUND=return] no parmetro
hosts informa ao NYS para retornar caso o item desejado no seja encontrado na base de
109
dados do NIS ou DNS. Ou seja, NYS ir continuar a pesquisa nos arquivos locais somente
se o acionamento do NIS ou do servidor DNS falhar por algum motivo. Neste caso os
arquivos locais podem ser usados em tempo de inicializao e como uma cpia de
segurana quando o servidor NIS estiver inativo

Exemplo do arquivo nsswitch.conf:


# /etc/nsswitch.conf
#
hosts: nis dns [NOTFOUND=return] files
networks: nis [NOTFOUND=return] files
services: files nis
protocols: files nis
rpc: files nis

18.6 Usando os Mapas passwd e group

Uma das maiores aplicaes do NIS a sincronizao de usurios e informaes de


contas em todas as mquinas de um domnio NIS. Portanto, normalmente mantm-se
somente um pequeno arquivo /etc/passwd local, no qual as informaes de todo o domnio
so anexadas a partir dos mapas NIS. De qualquer forma, a simples habilitao de
pesquisas NIS para este servio no arquivo nsswitch.conf pode no ser suficiente.

Ao basear-se nas informaes de senhas distribudas pelo NIS, deve se estar seguro
de que a identi.cao numrica de um usurio de qualquer conta do arquivo passwd local
no coincida com a identi.cao numrica dos usurios do servidor NIS. Pode-se utilizar
estas facilidades para outros propsitos, como a montagem de volumes NFS de outras
mquinas na rede local.
Caso as identi.caes numricas nos arquivos /etc/passwd ou /etc/group tenha
alguma inconsistncia com os mapas NIS, isso provocar a necessidade de ajustes de
propriedade de todos os arquivos de usurios com identi.cao numrica duplamente
referenciada em ambos os arquivos. Inicialmente deve-se alterar as identi.caes numricas
de usurios e grupos nos arquivos passwd e group para novos valores, em segundo lugar
deve-se localizar todos os arquivos pertencentes ao usurio recm-alterado, e finalmente
alterar a propriedade para a nova identificao. Assumindo que o usurio news tenha uma
identi.cao numrica igual a
9 e o usurio sandro tenha uma identi.cao igual a 103, a qual foi mudada para outro
valor, devem ento ser empregados os seguintes comandos:

# find / -uid 9 -print >/tmp/uid.9


# find / -uid 103 -print >/tmp/uid.103
# cat /tmp/uid.9 | xargs chown news
# cat /tmp/uid.103 | xargs chown sandro

importante que estes comandos sejam executados com o novo arquivo passwd
instalado e que sejam identificados todos os nomes de arquivos antes de se alterar a
propriedade de qualquer um deles. Para atualizar os grupos proprietrios dos arquivos deve-
se usar um comando similar.

110
Aps este procedimento, a identi.cao numrica dos usurios e grupos do sistema
dever estar em acordo com os demais sistemas do domnio NIS. O prximo passo a ser
executado, ser a adio das linhas de con.gurao do arquivo nsswitch.conf que habilita
pesquisas NIS para informaes de usurios e grupos:
# /etc/nsswitch.conf - tratamento de passwd e group
passwd: nis files
group: nis files

Isso habilita a pesquisa em primeiro lugar nos mapas NIS dos comandos login e todos
os seus amigos, ao tentar acessar o sistema e caso a pesquisa falhe, indica a utilizao dos
arquivos locais. Normalmente praticamente todos as usurios sero removidos dos arquivos
locais e somente as entradas para o superusurio root e contas genricas como mail estaro
presentes. Isso se deve ao fato de que tarefas vitais do sistema podem requerer o
mapeamento de identi.caes numricas para nomes de usurios e vice-versa. Por exemplo,
tarefas administrativas do programa cron devem ser executadas pelo comando su para
temporariamente tornar-se o usurio news, ou o subsistema UUCP pode gerar um relatrio
de condio. Caso os usurios news e uucp no tenham entradas no arquivo localpasswd,
estas tarefas iro falhar lamentavelmente caso o NIS no esteja ativo.

H dois importantes aspectos de tudo o que foi apresentado at aqui: por um lado, a
con.gurao conforme descrita neste guia funciona somente para conjuntos de programas
que no utilizem senhas sombra, como aqueles includos no pacote util-linux. Os detalhes de
se utilizar senhas sombra com NIS sero mostrados a seguir. Por outro lado, os comandos
de acesso no so os nicos a utilizarem o arquivo passwd _por exemplo o comando ls
utilizado constantemente por um grande nmero de usurios. Sempre que seja construda
uma longa lista, ls ir mostrar os nomes simblicos dos usurios e grupos proprietrios de
arquivos, os
quais so na verdade o que o comando encontrou para cada identi.cao numrica.de
usurio e grupo no servidor NIS na primeira pesquisa efetuada. Isso ir tornar o
processamento terrivelmente mais lento caso a rede local esteja congestionada, ou ainda
pior, quando o servidor NIS no estiver na mesma rede fsica, fazendo com que os
datagramas tenham que passar atravs de um roteador. Bem, esta ainda no a histria
completa. Imaginemos o que acontece quando um usurio muda a sua senha. Normalmente,
ele aciona o comando passwd, o qual receber a nova senha e atualizar o arquivo passwd
local. Isso impossvel com
o NIS, uma vez que na verdade ele no est disponvel localmente, porm fazer com
que os usurios acessem diretamente o servidor NIS pode no ser uma opo aceitvel.
Desta forma, NIS prov umsubstituto ao programa passwd chamado yppasswd, o qual faz
um trabalho anlogo na presena do NIS. Para alterar a senha na mquina servidora, deve-
se contactar o servidor yppasswdd via RPC e prover as informaes da senha alterada.
Normalmente deve-se instalar o programa yppasswd sobre o programa passwd normal da
seguinte forma:

# cd /bin
# mv passwd passwd.old
# ln yppasswd passwd

Simultaneamente deve-se instalar o programa rpc.yppasswdd no servidor e inici-lo a


partir do rc.inet2. Isto ir efetivamente esconder todos os detalhes de tratamento de senhas e
usurios pelo NIS.
111
18.7 Utilizando NIS com Suporte a Senhas Sombra

Ainda no h suporte a senhas sombra no NIS. John F. Haugh, o autor do conjunto de


softwares de senhas sombra, liberou uma verso da biblioteca de funes sombra atravs da
licena GPL no grupo comp.sources.misc. H algum suporte a NIS, mas ainda est
incompleto e os arquivos no podem ser adicionados biblioteca padro C. Por outro lado, a
publicao de informaes do arquivo /etc/shadow via NIS uma forma de de.cincia aos
propsitos das ferramentas de senhas sombra. Apesar das funes de pesquisas de senhas
NYS no utilizarem o mapa shadow.by name ou qualquer outro similar, NYS suporta esta
sistemtica usando um arquivo /etc/shadow de forma transparente. Quando a implementao
NYS de getpwnam acionada para pesquisar as informaes especificadas em um nome de
acesso fornecido, as facilidades especificadas pela entrada passwd no arquivo nsswitch.conf
so utilizadas.

O servio nis ir simplesmente pesquisar o nome no mapa passwd.byname no


servidor NIS. O servio files ir verificar se o arquivo /etc/shadow est presente e em caso
positivo, tentar abr-lo. Caso no esteja, ou caso no tenha privilgios de root, usar o
comportamento tradicional de pesquisar somente o arquivo /etc/passwd. De qualquer forma,
caso o arquivo shadow exista e possa ser aberto, NYS ir extrair a senha de usurio do
arquivo shadow. A funo getpwuid implementada de forma similar. Desta forma, os
binrios compilados com NYS iro lidar com um conjunto de ferramentas de senhas sombra
de forma transparente.

18.8 Utilizando o Tradicional Cdigo NIS

Caso se esteja utilizando o cdigo tradicional que pode ser encontrado na libc, a
con.gurao de um cliente NIS pode ser um pouco diferente. Por um lado, pode-se usar um
servidor ypbind para propagar os servidores ativos, ao invs de divulgar isso a partir de um
arquivo de con.gurao. Deve-se estar seguro de que o programa ypbind ser acionado na
inicializao do sistema. Ele deve ser acionado aps o domnio NIS ter sido configurado e o
portmapper RPC ter sido inicializado. Acionando-se o ypcat para testar o servidor pode
funcionar conforme o mostrado anteriormente.

Recentemente, tem havido algumas informaes de que o NIS pode falhar com a
seguinte mensagem de erro _ clntudp_create: RPC: falha de portmapper - RPC: incapaz de
receber_. Isso se deve a uma incompatibilidade na forma como ypbind comunica-se com as
informaes de construo das funes da biblioteca. Neste caso deve-se utilizar uma
verso atualizada do NIS e recompil-la para que o problema seja solucionado.

Adicionalmente cabe citar que a forma como o NIS decide se deve mesclar as
informaes NIS com os arquivos locais distinta daquela utilizada pelo NYS. Por exemplo,
para utilizar os mapas de senhas NIS, deve-se incluir a seguinte linha no mapa /etc/passwd:
+:*:0:0:::

112
Isto assinala o local onde as funes de pesquisa de senhas _inserem_ os mapas
NIS. Deve-se inserir uma linha similar (menos as ltimas duas colunas) em um 7
O fonte do yp-linux pode ser obtido em ftp.uni-paderborn.de no diretrio
/pub/Linux/LOCAL

arquivo /etc/group para se obter o mesmo resultado. Para usar os mapashosts.*


distribudos pelo NIS, deve-se mudar a linha order no arquivo host.conf. Por exemplo, caso
se deseje usar NIS, DNS e o arquivo /etc/hosts (nesta ordem) ser necessria a seguinte
alterao na linha para order yp bind hosts

A implementao tradicional do NIS no suporta outros mapas no momento.

113
19 - NF S

19.1 Introduo e Conceitos

A maior vantagem do uso de redes de computadores o compartilhamento de


informaes e recursos. Na verdade, este o prprio propsito de se utilizar uma rede. O
compartilhamento de informaes pode ser feito de diversas maneiras, entre elas est o uso
de FTP, web, etc.. J o compartilhamento de recursos por vrios computadores em uma
rede, como discos, pode ser realizado atravs do NFS.

O NFS um acrnimo para Network File System, ou, em portugus, Sistema de


Arquivos de Rede. O NFS foi criado para permitir o acesso transparente a discos remotos.
Ele tambm permite uma maior centralizao da administrao de discos, pois possvel ter
diretrios em uma nica mquina (o servidor NFS) e compartilhados em todos os sistemas
conectados rede. Alm disso, o NFS abre a possibilidade de existirem clientes sem disco.

Um esquema NFS bem configurado ser totalmente transparente ao usurio. No ser


relevante para o usurio saber em qual servidor um diretrio realmente est. Basta que seus
programas funcionem corretamente sem que ele tenha de realizar qualquer tipo de
configurao especial.

19.2 Instalando o NFS

19.2.1 Instale o servidor NFS

1. Acesse o CD 1 do Conectiva Linux:


# cd /mnt/cdrom/conectiva/RPMS/
#

2. Instale os pacotes do NFS:


# rpm -ivh nfs-*
nfs-server #############################################
nfs-utils #############################################
#

19.3 Configurando o Servidor NFS

A configurao de um servidor NFS muito simples e pode ser feita tanto com o
Linuxconf quanto atravs da edio de arquivos de configurao. Na verdade, s o que voc
ter de fazer definir os diretrios a serem exportados. Para configurar o seu servidor, entre

114
no Linuxconf e dirija-se ao menu Ambiente de Rede ! Tarefas de Servidor ! NFS para que a
tela de configurao lhe seja mostrada.

Nesta tela voc pode definir um caminho a ser exportado. As opes disponveis so:

Rota para exportar: aqui voc define o diretrio a ser exportado. Este diretrio poder
ser montado por um cliente.

Comentrio: apenas um comentrio ilustrativo. Pode ser usado para documentar


algu-ma observao sobre o diretrio.

Nome do cliente: neste campo voc pode definir quais mquinas-clientes (separadas
por vrgula) podero acessar este diretrio. Se nenhum cliente for especificado, ento
qualquer mquina poder conectar-se. Voc pode ainda utilizar coringas para definir as
mquinas-clientes. Por exemplo, se voc quer dar acesso a todas as mquinas de seu
domnio, voc pode especificar algo como: *.minhaorganizacao.com.br

Pode escrever: indica se o diretrio ser exportado apenas para leitura ou se ser
possvel para os usurios gravarem nele.

Privilgios de superusurio: normalmente, o superusurio acessa diretrios remotos


com privilgios de nobody. Voc pode especificar esta opo para que o superusurio continue
tendo acesso de superusurio quando acessar o diretrio.

Seguir links simblicos: quando esta opo est ativa, os links simblicos absolutos
(aqueles iniciados por /) so convertidos em links relativos, de forma a atingir a raiz do
servidor.

Requisitar acesso da porta segura: voc pode especificar que apenas conexes
seguras (com nmero baixo de porta de origem) possam montar o diretrio. Como
mencionado anteriormente, a configurao pode tambm ser feita atravs da edio de
arquivos de configurao. Esta edio bastante simples, envol-vendo apenas a edio do
arquivo /etc/exports

O arquivo /etc/exports bastante simples. Cada linha representa um diretrio


exportado e as informaes so separadas por espaos. Por exemplo:

/share kepler(rw) copernico

Este exemplo exporta o diretrio /share especificando duas mquinas (kepler e


copernico) com opes diferentes (kepler pode gravar no diretrio, enquanto que copernico
s pode ler).

/etc/exports Linuxconf
rw "pode escrever"
no_root_squash Marcar "privilgios de superusurio"
link_relative Marcar "seguir links simblicos"
insecure Desmarcar "requisitar acesso da porta segura"

115
Aps feitas as configuraes, voc deve iniciar o servio nfs. Para faz-lo,
necessrio abrir um terminal e digitar o comando (o servio portmap j dever estar
rodando):

# /etc/rc.d/init.d/nfs start
Inicializando servios NFS : [ OK ]
Inicializando quotas (NFS) [ OK ]
Inicializando mountd (NFS) [ OK ]
Inicializando rpc.nfsd (NFS) [ OK ]

19.4 Configurando um cliente NFS

muito simples fazer uma mquina utilizar um disco remoto. Na verdade, no


necessrio qualquer tipo de configurao para tornar uma mquina um cliente NFS. Voc s
precisa montar o diretrio remoto da mesma maneira como monta um diretrio local.

1. Antes de mais nada, crie um diretrio na mquina local. Vamos montar o diretrio
remoto neste diretrio local. Em nosso exemplo, montaremos o diretrio /usr/local
da mquina asterix dentro do diretrio local /mnt/asterix

# mkdir /mnt/asterix #

2. Agora monte o diretrio remoto com o comando mount.


# mount asterix:/usr/local /mnt/asterix
#

Feito isso, voc poder perceber que o contedo do diretrio local /mnt/asterix o
mesmo do diretrio /usr/local do servidor asterix.

claro que, em muitos casos, voc desejar que os diretrios remotos sejam auto-
maticamente montados quando da inicializao da mquina-cliente. Para faz-lo, voc deve
utilizar o Linuxconf e entrar em Sistemas de Arquivos ! Acessar volumes NFS ! Adicionar
para que a tela de adio de volumes NFS lhe seja mostrada (Figura 5-2).

116
20 - Samba

O SMB o protocolo utilizado em redes Windows para compartilhamento de


recursos, como impressoras e discos. atravs do SMB que o Windows per-mite que uma
mquina acesse o disco e a impressora de outra na rede.

Com o crescimento do Linux, tornou-se necessrio fazer com que mquinas Win-
dows e as redes Unix trabalhassem de maneira harmoniosa. Infelizmente, isso no era
muito simples, j que as duas plataformas vinham de culturas muito dife-rentes e tinham
dificuldades em trabalhar de maneira conjunta sem o auxlio do Samba.

O Samba, ento, uma implementao livre do protocolo SMB. Com o Samba ser
possvel simular, de maneira transparente, um servidor Windows. Isso torna possvel o uso
de estaes Windows em uma rede Conectiva Linux uti-lizando o protocolo NetBIOS.

20.1 Configurando o Servidor Samba

A configurao de um servidor Samba um tpico bastante abrangente. Tudo


depende do tipo de servios que voc deseja executar.Por exemplo, voc deve decidir se
deseja que o servidor Samba seja um contro-lador de domnio ou no.

20.2 Instalando o Samba

A instalao do Samba simples:


1. Acesse o CD 1 da distribuio do Conectiva Linux:
# cd /mnt/cdrom/conectiva/RPMS

2. Instale o pacote do Samba:


# rpm -ivh samba-*
samba #########################################
samba-clients #########################################

20.3 Configurao

Esta seo concentrar-se- na configurao do Samba atravs do Linuxconf. Porm,


existem outras maneiras de faz-la, como atravs da edio do arquivo /etc/smb.conf e,
ainda, atravs do SWAT. Cobriremos o SWAT no final desta seo. Os ex-emplos de
configurao ser sempre sobre o Linuxconf, no sendo necessria qualquer edio direta
do arquivo etc/smb.conf.

117
20.3.1 Senhas Criptografadas

O problema mais comum durante a instalao do Samba relacionado com as senhas


dos usurios.

A partir da verso 98, o Windows comeou a fazer a transmisso de senhas crip-


tografadas
pela rede NetBIOS. O Windows 95 e as verses iniciais do Windows NT, porm,
transmitiam sem encriptar as senhas. Essa falta de padronizao entre estes sistemas torna
a configurao do Samba um tanto mais complexa.

A encriptao de senhas visa proteger as mesmas de tentativas primitivas de de-


scoberta.
Infelizmente, os algoritmos de encriptao utilizados no so particu-larmente fortes.
Senhas Descriptografadas no Windows 95.

O padro do Windows 95 no encriptar as senhas. Assim, provvel que esta


configurao no seja necessria para voc. Porm, verses mais recentes do Windows 95
(como, por exemplo, o Windows 95 OSR2) mudaram seu com-portamento.

Se voc tiver problemas com senhas, siga o procedimento descrito nesta seo.
A configurao do Windows 95 pode ser feita de duas maneiras. Uma delas seria a
utilizao do arquivo Win95_PlainPassword.reg que acompanha o Samba.

Este arquivo pode ser localizado no diretrio docs/ da documentao on-line do


Samba:
# cd /usr/doc/samba*/docs

Voc pode copi-lo para as estaes Windows 95. Depois, basta abrir o arquivo
(dar dois cliques sobre o mesmo) para que ele seja instalado.

Outra maneira de habilitar senhas editar o registro atravs do utilitrio regedit do


Windows para alterar ou incluir a chave:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001

Senhas Descriptografadas no Windows 98

Como padro, o Windows 98 encripta todas as senhas que trafegam pela rede. Para
poder utilizar estaes Windows 98 com sua rede, siga o procedimento descrito nesta
seo.

A configurao de senhas no encriptadas no Windows 98 pode ser feita de duas


maneiras. Uma delas seria a utilizao do arquivo Win98_PlainPassword.reg que
acompanha o Samba. Este arquivo pode ser localizado no diretrio docs/ da documentao
on-line do Samba:

# cd /usr/doc/samba*/docs
118
Voc pode copi-lo para as estaes Windows 98. Depois, basta abrir o arquivo (dar
dois cliques sobre o mesmo) para que ele seja instalado.

Outra maneira de habilitar senhas editar o registro atravs do utilitrio regedit


do Windows para alterar ou incluir a chave:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001

Senhas Descriptografadas no Windows NT

O Windows NT encripta senhas em algumas verses e no encripta em outras.


Notadamente, aps o terceiro pacote de consertos (Service Pack 3,ou SP3), ele passou a
encriptar todas as senhas trafegadas pela rede. Assim, recomenda-se seguir os
procedimentos descritos nesta seo para assegurar que ele funcione como cliente de uma
rede Samba. Alm disso, recomendamos que voc tenha, pelo menos, o Windows NT SP3
instalado.

A configurao de senhas no encriptadas no Windows 98 pode ser feita de duas


maneiras. Uma delas seria a utilizao do arquivo NT4_PlainPassword.reg que acompanha o
Samba. Este arquivo pode ser localizado no diretrio docs/ da documentao online do
Samba:
# cd /usr/doc/samba*/docs

Voc pode copi-lo para as estaes Windows NT. Depois, basta abrir o arquivo (dar
dois cliques sobre o mesmo) para que ele seja instalado. Outra maneira de habilitar senhas
editar o registro atravs do utilitrio regedit do Windows para alterar ou incluir a chave:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters]
"EnablePlainTextPassword"=dword:00000001

20.3.2 Configuraes Bsicas

Uma das primeiras configuraes que voc provavelmente desejar fazer definir o
grupo de trabalho. Para isso, abra o Linuxconf e v para as Tarefas de Ser-vidor no
Ambiente de Rede e entre em Samba para comear a configurao. Neste momento, voc
deve ver uma tela semelhante Figura 5-3.

Clique em Padres para configurar o grupo de trabalho.

No campo Grupo de Trabalho, digite o nome desejado.

Como o Windows normalmente utiliza o mtodo de segurana por recurso, voc


deve alterar o comportamento padro do Samba, que o de fazer a autenticao por
usurio. Para fazer isso, apenas altere a opo Modo de Autenticao para Compartilhar.
Esta opo pode ser encontrada na pasta Senhas.

119
20.3.3 Compartilhando um diretrio

Nesta seo, vamos mostrar como compartilhar o diretrio /home/samba para que o
mesmo possa ser montado em uma estao Windows.

1. Abra a caixa de dilogo Compartilhamento de Disco (Figura 5-5).


Compartilhando um diretrio atravs do Samba

Note que estamos compartilhando o diretrio /home/samba, com o nome de


compartilhamento (aquele que aparecer no Ambiente de Redes do Win-dows) de
publico. Permitimos, tambm, que o usurio, qualquer usurio, possa gravar no diretrio.
Alm disso, definimos que apenas mquinas em nosso domnio possam acess-lo.

Para compartilhar um diretrio, voc s precisa especificar um nome de com-


partilhamento,
o diretrio a ser exportado e definir opes de acesso simples.

20.4 Montando um volume Samba

Voc pode ter a necessidade de acessar um volume de uma mquina Windows a


partir do seu Conectiva Linux. Fazer isto no s possvel como muito simples. O
processo deve ser feito atravs da linha de comando. Imaginando que voc queira montar o
disco C: da mquina copernico, que foi compartilhado com o nome C, em seu diretrio
Conectiva Linux /mnt/copernico:
# smbmount //copernico/c /mnt/copernico
#

Note que em alguns casos (voc est montando um volume de um servidor Win-dows
NT, por exemplo), ser necessrio que voc informe um usurio e uma senha para poder
utilizar o comando smbmount.
# smbmount //copernico/c /mnt/copernico -o username=mara,password=selva

Isso funcionar se o usurio mara estiver cadastrado na mquina jaguatirica com a


senha selva.

20.5 Iniciando o Samba

Para que o seu servidor Conectiva Linux possa funcionar como um servidor Samba, o
servio smbd deve ser inicializado. Para tanto, abra um terminal e digite:

# /etc/rc.d/init.d/smb start
Inicializando servios SMB : [ OK ]
Inicializando servios NMB : [ OK ]

120
20.6 Configurao do cliente

Esta seo descreve a configurao passo a passo de um cliente Windows 98.

A instalao nas outras verses do Windows dever ter uma lista de passos
semelhantes. Em caso de dvidas, voc dever consultar a documentao do Windows ao
que se refere aos passos de instalao de uma rede ponto a ponto.

1. Instale normalmente a sua placa de rede conforme a documentao do Windows.


Voc precisar do protocolo TCP/IP e do servio Cliente para Redes Microsoft.
Novamente, consulte a documentao do Windows para informaes sobre como
instalar este servio.

2. Clique na pasta Identificao na tela de configurao de redes e digite o nome de


sua
mquina e o nome do grupo de trabalho. Em nosso exemplo, a mquina se chamar
kepler e far parte do grupo de trabalho minhaorganizacao.

3. Clique na pasta Controle de Acesso e verifique que a tela est configurada como
Figura 5-8.

4. Voltando para a tela de configurao de redes, abra a tela de propriedades do


proto-colo
TCP/IP; clique em Configurao DNS e adicione o endereo IP do servidor Samba
lista de servidores DNS. Se j no o tiver feito, ative o DNS (opo Ativar DNS na mesma
tela). Note que esta configurao somente se aplica a redes que pos-suem um servidor DNS.
Voc dever, tambm, editar a pasta Endereo IP, informando o endereo de IP a ser
utilizado pela estao (se sua rede possuir um servidor DHCP, voc no precisar desta
configurao).

5. Clique em OK e deixe a configurao de rede. O Windows no pode ser configu-


rado imediatamente e, assim, voc ter de reinici-lo quando ele assim o solicitar. Esses
passos devero permitir-lhe colocar uma estao Windows 98 em sua rede Linux. Aps a
mquina ter reiniciado, voc poder abrir o Ambiente de rede para navegar pelas mquinas
disponveis na rede.

20.7 Utilizando o SWAT

Alm do Linuxconf, possvel configurar o Samba atravs de uma outra interface


amigvel: o SWAT. O SWAT uma interface web para a configurao. Uma grande
vantagem do SWAT a de que ele permite a configurao remota de um servidor Samba, j
que s necessrio acessar a mquina pela Internet. Para habilitar o SWAT a partir de seu
servidor, necessrio editar o arquivo /etc/inetd.conf e descomentar (retirar o # inicial) da
linha:

swat stream tcp nowait.400 root /usr/sbin/swat swat

121
que est, normalmente, no final do arquivo. Caso voc no encontre uma linha
semelhante, pode-se adicionar a linha acima.

Aps feita a edio, o servio inetd deve ser reiniciado:

killall -HUP inetd

ou ainda:
/etc/rc.d/init.d/inet restart

A diferena entre os dois comandos que o segundo ir iniciar o servio, caso no


esteja iniciado.

A partir do momento em que o inetd for reiniciado, o SWAT ser acessvel atravs da
porta 901 de seu servidor. Voc pode acessar o SWAT http://localhost:901 atravs de
qualquer navegador

122
21 - Serv idor W eb

21.1 O Protocolo HTTP

Para que voc possa visualizar um documento de hipertexto na Internet, ne-cessrio


um protocolo para fazer a comunicao entre voc e o servidor. Este protocolo o
HTTP 1 . Uma sesso HTTP geralmente envolve poucos passos. Por exemplo:

1. O cliente estabelece a conexo com o servidor (isso feito atravs de outros proto-
colos de rede, geralmente TCP/IP) e solicita um documento:

GET /index.html HTTP/1.0

Neste exemplo, o cliente est solicitando o arquivo /index.html que , nor-malmente, o


arquivo padro. Veremos mais sobre isso posteriormente. O importante agora notar que
estamos apenas enviando uma requisio ao servidor HTTP.

2. Aps a requisio, o servidor responde. Esta resposta dividida em trs partes:


Um cdigo de retorno. A grande maioria das implementaes do HTTP retor-nam
este cdigo seguido de uma mensagem (geralmente OK ou uma descrio do erro, se for o
caso). Alm disso, retornado um texto identificando a verso do protocolo. Em nosso
exemplo, esta linha :
HTTP/1.1 200 OK

significando que o servidor est se comunicando atravs do HTTP 1.1 e a operao (a


requisio do arquivo) foi bem sucedida.

Um cabealho. Este cabealho contm diversas informaes sobre o arquivo sendo


enviado, como tamanho e informaes sobre o prprio servidor:
Date: Fri, 19 May 2000 20:53:51 GMT
Server: Apache/1.3.12 (Unix) (Conectiva/Linux) mod_ssl/2.6.0
OpenSSL/0.9.4
Last-Modified: Thu, 15 Apr 1999 16:38:13 GMT
ETag: "177c3-508-371615f5"
Accept-Ranges: bytes
Content-Length: 1288
Connection: close
Content-Type: text/html; charset=iso-8859-1

As informaes acima demonstram que estamos conectados a uma m-quina


executando o Apache 1.3.12. Temos a data da ltima modificao do arquivo, seu tamanho e
seu tipo. Estas informaes podem ser utilizadas pelo programa cliente para decidir o que
fazer com determinado arquivo.

O arquivo propriamente dito. Aps o cabealho, uma linha em branco enviada pelo
servidor, indicando que, a partir daquele ponto, tudo o que for mandado pelo mesmo ser

123
parte do arquivo requisitado. Um programa cliente pode controlar o progresso da transmisso
monitorando quanto j foi transmitido e comparando esta informao com o tamanho
informado no cabealho.

21.2 O Apache

O Apache o servidor web mais popular do mundo. Uma pesquisa recente


demonstrou que o Apache mais utilizado do que todos os outros servidores dispo-nveis
juntos.

A popularizao da web nos ltimos anos tem obrigado as empresas a disponibi-


lizarem contedo na mesma. Para isso, a utilizao do Apache imperativa para qualquer
empresa que deseja manter uma presena na rede.

Alm de permitir que voc disponibilize contedo na Internet, o Apache lhe per-mite a
publicao de informaes em sua Intranet, tornando-o realmente um pro-duto indispensvel.

21.2.1 Instalando o Apache

1. Acesse o CD da distribuio do Conectiva Linux:


# cd /mnt/cdrom/conectiva/RPMS

2. Instale o pacote do Apache:


# rpm -ivh apache-*
apache ########################################
apache-devel ########################################
apache-doc ########################################

21.2.2 Configurando o Apache

O Apache que acompanha a distribuio do Conectiva Linux j vem configurado com


as opes mais utilizadas, de forma que voc s precisa iniciar o servidor para que seu
Conectiva Linux seja um servidor web. Quando voc inicializa o servidor web, voc pode
acessar sua mquina via HTTP e visualizar a pgina padro como mostrada na Figura 6-1:

Para inicializar o servidor Apache, abra um terminal e digite:

# cds
atalk functions keytable lpd network
atd gpm killall mars-nwe nfs
autofs halt kudzu mysql nfslock
crond httpd ldap named pcmcia
dhcpd inet linuxconf-setup netfs portmap
# ./httpd start
124
Iniciando httpd: [ OK ]
#

A configurao do Apache depende muito do perfil de servidor web desejado. Nesta


seo voc ver como configurar o Apache da maneira mais simples pos-svel. Depois, voc
saber um pouco sobre os mdulos mais populares do Apache e como instal-los e
configur-los.

Para configurar o Apache, voc deve acessar o Linuxconf e entrar em Ambiente de


rede ! Tarefas de servidor ! Apache - servidor www. Voc ver o menu inicial da configurao
do Apache como mostrada na Figura 6-2.

Clique em Padres para alterar as opes bsicas de seu servidor WWW.

H um grande nmero de opes a serem configuradas nesta tela, mas nos ateremos
s mais comuns:

Endereo de email do administrador: aqui voc poder informar o endereo de


correio eletrnico do administrador do site.

Domain IP address: neste campo voc poder informar um endereo IP padro para
o domnio. Este endereo IP , geralmente, o endereo IP do servidor www, e ser utilizado
quando algum tentar acessar a pgina atravs do nome do domnio ao in-vs do nome da
mquina. Por exemplo, imagine que o servidor Apache est sendo executado na mquina
kepler.minhaorganizacao, que tem o endereo IP 10.0.0.1. Se voc informar o mesmo endereo IP da
mquina kepler (10.0.0.1) como Domain IP address, quando algum tentar acessar o endereo
minhaorganizacao (o domnio), ele ir, na verdade, acessar kepler.minhaorganizacao (a mquina que realmente

possui o endereo de IP especificado).


Nome do servidor: voc poder informar o nome da mquina onde o Apache est

sendo executado. Em condies normais, este campo no necessrio, j que o Apache
capaz de descobrir o nome atravs do DNS ou do prprio arquivo hosts.

Diretrio
raiz dos documentos: voc poder informar aqui o diretrio onde estaro
os arquivos do seu site. O diretrio padro o /home/httpd/html.
Diretrio alternativo de scripts: voc poder informar vrios apelidos para os di-
retrios de CGI. Isso quer dizer que voc vai definir um diretrio virtual e associ-lo a um
diretrio real. Por exemplo, voc pode definir que quando uma pgina fizer um referncia ao
diretrio virtual /cgi-bi n, ele estar, na realidade, acessando os arquivos do diretrio /home/httpd/cgi-
bin.

Uma das caractersticas mais utilizadas no Apache a sua capacidade de li-dar com
mquinas virtuais 2 . Uma mquina virtual , na verdade, um pequeno truque envolvendo o
Apache e o servio de nomes do servidor (DNS ou o ar-quivo hosts). Basicamente, uma
mquina virtual um apelido para a mquina real. Este apelido deve ter um IP prprio. Com
isso, pode-se fazer com que apenas um servidor Apache sirva diversos sites separadamente.
Em nosso exemplo, assumimos que nossa mquina chama-se keple r.

125
Agora vamos supor que queiramos disponibilizar informaes de suporte tcnico
atravs de outro nome de mquina, por exemplo suporte.minhaorganizacao. O contedo
deste outro site dever estar localizado na mesma mquina kepler.

Primeiramente, voc deve estabelecer um apelido de IP para a mquina kepler. Para


fazer isso, voc deve pressionar o boto Apelidos de IP para mquinas virtuais no menu
Ambiente de Rede do Linuxconf. A Figura 6-4 mostra a tela de configuraes dos apelidos de
IP. Note que voc deve escolher a interface de rede a ser utilizada. Esta deve ser a interface
utilizada para acessar a mquina 2. No Apache, este conceito chamado de VirtualHost

Basta informar o novo endereo de IP para a mquina. No exemplo da Figura 6-4,


definimos que a mquina kepler (o nosso servidor) responder ao endereo IP 10.0.1.1 alm
do seu endereo de IP real. Note, porm que, antes de continuarmos, voc deve configurar o
seu servio de nomes para que este associe o nome suporte a este endereo IP. No faz
parte do escopo deste captulo o processo de atualizao do DNS, verifique a docu-
mentao disponvel sobre servidores de nomes para aprender como fazer esta
configurao.

Agora voc pode voltar tela de configurao do Apache no Linuxconf e pres-sionar


Mquinas Virtuais seguido de Adicionar. Na tela da Figura 6-5, voc poder definir as opes
de sua mquina virtual.

Note que as opes disponveis so semelhantes s utilizadas na configurao dos


padres do Apache. Mas vamos ver o significado dos valores definidos em nosso exemplo:

Nome da mquina virtual: aqui definimos que nossa mquina virtual se chamar su-
e. Novamente, lembre-se de que o seu DNS deve estar configurado para reconhecer este
port

nome e mape-lo para o apelido de IP que escolhemos.


Endereo email do administrador: aqui apenas definimos que o endereo de
correio eletrnico do administrador root@minhaorganizacao.

Domain IP address: especificamos o endereo do nosso domnio. Este endereo



ser utilizado quando for feita uma tentativa de acesso mquina atravs do nome
dodomnio sem o nome da mquina.
Nome do servidor: este o nome da mquina servidor.

Diretrio raz dos documentos: este o diretrio onde ns iremos colocar os


arquivos da mquina suporte. Assim, todas as pginas e figuras do suporte tcnico estaro no
diretrio /home/httpd/suporte/htm l.
Registros de erro: quando algum erro ocorrer durante uma tentativa de acesso s

pginas de suporte, o Apache salvar informaes sobre o mesmo neste arquivo.

Registros de transferncia: este arquivo contm um registro dos acessos


mquina virtual suporte. Estas informaes podem ser utilizadas para a obteno de
informaes de segurana.

126
Nomes alternativos de script: aqui voc pode definir diretrios dos scripts CGI a
serem utilizados pela mquina suporte. Note que possvel utilizar o mesmo diretrio para
todas as mquinas, sejam elas virtuais ou reais.

21.3

127
22 - Serv idor FTP

Nesta seo trataremos do servidor FTP. No Conectiva Linux o WU-FTPD quem


realiza os servios de FTP. Assim, esta seo ir ser voltada ao WU-FTPD.

22.1 O WU-FTPD

FTP um acrnimo para File Transfer Protocol ou Protocolo de Transferncia de


Arquivos. O protocolo FTP permite a transferncias de arquivos binrios e arquivos texto com
alta eficincia atravs de uma rede.

22.1.1 Instalao e Configurao

1. Para instalar o WU_FTPD, acesse o diretrio de pacotes do CD da distribuio de


seu Conectiva Linux:
# cd /mnt/cdrom/conectiva/RPMS

2. Instale o pacote do WU_FTP:


# rpm -ivh wu-ftpd-*
wu-ftpd ######################################

3. Certifique-se que a linha abaixo esteja presente no arquivo /etc/inetd.conf e que ela no
esteja comentada:
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

4. Se voc houver feito alteraes ao arquivo /etc/inetd.conf, voc deve reiniciar o inetd:
# cds
atd gpm keytable lpd nfs sendmail syslog
crond halt killall mars-nwe pcmcia single xfs
dhcpd httpd kudzu netfs portmap snmpd ypbind
functions inet linuxconf-setup network random sshd
# ./inet stop
Interrompendo os servios INET: [ OK ]
# ./inet start
Iniciando os servios INET: [ OK ]

Com o servidor FTP devidamente instalado, voc pode acessar o Linuxconf para
iniciar o processo de configurao.

No Linuxconf, v para Ambiente de Rede ! Tarefas de Servidor ! Wu-ftp - servidor de


ftp para abrir a tela inicial de configurao do servidor FTP.

Clique em Configurao bsica ! Diversos. Estas so as opes mais bsicas do


servidor FTP. Com elas, voc poder definir o comportamento geral de seu servidor.

128
Email do administrador: endereo de correio eletrnico do administrador do
sistema.
Grupo de convidados: aqui voc pode informar o grupo do Linux ao qual o usurio
anonymous pertencer. Voc ter mais informaes sobre acesso annimo ao servidor na
seo Acessos Annimos. Se este campo no for preenchido, o grupo nobody ser
utilizado.
Arquivo de banner: o contedo do arquivo de banner ser mostrado aos usurios no
168.Captulo 6. Servidor Internet momento em que os mesmos acessarem com sucesso o
seu servidor.
Mensagem de encerramento: se o arquivo informado existir, sempre que um
usurio tentar acessar o servidor, seu contedo ser mostrado e o servidor ir fechar a cone-
xo. O arquivo bastante til sempre que voc quiser interromper o servio de FTP
temporariamente.

Permitiracesso annimo: aqui voc pode permitir ou proibir os acessos annimos.


Mais sobre o assunto na seo Acessos Annimos. Agora pressione Controle nesta mesma tela
para acessar as opes de controle de acesso do servidor FTP.

Existem, na realidade, trs telas de configurao de controle de acesso:

Usurios reais: controle de acesso dos usurios reais do seu sistema. Esses so os
usurios que tm contas em sua rede.

Usurios convidados: controle de acesso a usurios convidados.

Annimos: controle de acesso de usurios que se conectam anonimamente. As trs


telas so absolutamente idnticas umas s outras.

As opes disponveis

pode requisitar arquivos comprimidos: define se o usurio pode requisitar que


seus arquivos sejam compactados. O WU-FTPD permite a compactao de arquivos durante
a transmisso.
pode requisitar arquivos tar: especifica se o usurio tem permisso de solicitar o
arquivamento de arquivos transmitidos com o tar.
pode usar chmod para arquivos:especifica se o usurio pode modificar as
permisses de arquivos localizados no servidor FTP.
pode excluir arquivos: define se o usurio tem permisso de apagar arquivos local-
izados no servidor FTP.
pode atualizar arquivos: define se o usurio pode sobrescrever arquivos no
servidor.
pode renomear arquivos: especifica se o usurio pode modificar o nome dos
arquivos localizados no servidor.
registrar transferncias recebidas: especifica se o servidor deve manter um
registro de arquivos recebidos.
registrar transferncias expedidas: especifica se o servidor deve manter um
registro de arquivos enviados.
129
22.1.2 Acessos Annimos

Pode ser permitido ao usurio acessar seu servidor de maneira annima. Isso muito
til no caso de voc desejar disponibilizar arquivos a pessoas de fora de sua organizao.
Como essas pessoas no possuem contas de usurio em seu sistema, a nica forma de
acessar seus arquivos atravs do acesso annimo.

Para permitir o acesso annimo ao seu servidor:

1. Acesse o diretrio de pacotes do CD do Conectiva Linux:


# cd /mnt/cdrom/conectiva/RPMS

2. Instale o pacote de acesso annimo:


# rpm -ivh anonftp-*
anonftp ##############################################

A partir desse momento, para acessar o servidor FTP anonimamente, o usurio


dever fornecer o nome de usurio anonymous e seu endereo de correio eletrnico como
senha.

$ ftp localhost
Conectado na mquina localhost.
220 einstein.minhaorganizacao FTP server
(Version wu-2.6.0(1) Fri May 12 11:05:03 BRST 2000) ready.
Usurio (localhost:albert): anonymous
331 Guest login ok, send your complete e-mail address as password.
Senha:
230 Guest login ok, access restrictions apply.
O tipo do sistema remoto UNIX.
Usando modo binary para transmitir/receber arquivos.
ftp>

Note que no exemplo acima, a senha no mostrada, mas o usurio teve de digitar
seu endereo de e-mail para poder ter acesso ao servidor. O usurio anonymous no
precisa (nem deve) ser cadastrado em seu Conectiva Linux, j que ele um usurio especial
para o servidor FTP. Quando feita uma tentativa de acesso com o usurio anonymous, o
servidor automaticamente trata o acesso como annimo, aceitando o endereo de correio
eletrnico como senha.

22.1.3 Permitindo Envio de Arquivos

Normalmente, voc no precisar (e provavelmente nem desejar) que os usu-rios


possam gravar arquivos em seu servidor FTP. Porm, em alguns casos, pode haver
interesse em disponibilizar-se uma rea para que os usurios possam guardar arquivos.

130
Tornou-se um costume fazer com que os usurios tenham um local especfico nos
servidores de FTP para gravarem arquivos. Esse local o diretrio /incoming.

Permitir que usurios gravem em seu servidor FTP um grande risco e, por isso,
deve-se pensar muito bem antes de faz-lo.

Um dos maiores problemas com isso que voc no tem um grande controle so-bre
aquilo que gravado em seu servidor. Voc no pode facilmente impedir que usurios
guardem material ilegal em seu servidor.
Recomendamos, portanto, que voc no permita o acesso de escrita em seu servi-dor.

Caso voc no tenha escolha, voc deve ter algum responsvel por monitorar os
arquivos guardados em seu servidor para evitar arquivos que possam trazer pro-blemas no
futuro.

Para criar o /incoming:

1. Acesse o diretrio raiz do FTP:


# cd /home/ftp

2. Crie o diretrio incoming


# mkdir incoming

3. Agora voc deve fazer com que o diretrio criado seja de propriedade de um
usurio
e grupo diferente de root e deftp. Voc pode criar um usurio e grupo especficos
para isto se desejar, mas utilizaremos nobody.nobody em nosso exemplo.
# chown nobody incoming
# chgrp nobody incoming
# chmod 3773 incoming

4. Agora voc deve editar o arquivo /etc/ftpaccess para permitir a escrita ao diretrio
/incoming. Note que, se voc houver criado um usurio e grupo para ser dono do
diretrio, voc dever informar isso na linha abaixo no lugar de nobody.
upload /home/ftp /incoming yes nobody nobody 0400 dirs

O formato desta linha :


upload HOME DIR GRAVA USUARIO GRUPO PERMS DIRS

Onde:

HOME: diretrio home do usurio. Em nosso exemplo, informamos /home/ftp. Isso quer
dizer que esta linha se aplica a qualquer usurio cujo diretrio home seja /home/ftp.
DIR: diretrio ao qual se refere a linha. Esse diretrio relativo raiz do diretrio do
FTP. Em nosso exemplo, informamos que esta linha se aplica ao diretrio /in-coming.
GRAVA: aqui voc informa se ou no permitida a gravao no diretrio ao qual a
linha se refere. Os valores permitidos so YES ou NO. Em nosso exemplo, estamos
permitindo a escrita.
USUARIO: o nome do usurio a quem todos os arquivos gravados no diretrio
pertencero. Em nosso exemplo esse usurio nobody.
131
GRUPO: o grupo a quem todos os arquivos gravados no diretrio pertencero. Em
nosso exemplo esse grupo nobody.
PERMS: aps gravados, os arquivos tero as permisses trocadas para estas. Em
nosso exemplo definimos que os arquivos gravados neste diretrio passariam a ter
permisso 0400, ou seja, apenas para leitura do dono (no caso, o usurio nobody.nobody).
Recomendamos estas permisses, j que elas no permitem que usurios utilizem o seu
servidor para troca de arquivos ilegais. Isso assegura que algum ter de verificar o arquivo
e trocar suas permisses antes que algum possa acess-lo via FTP.
DIRS: especifica se o usurio annimo pode criar diretrios dentro do diretrio /incoming.
Em nosso exemplo o usurio pode criar. Os valores possveis so dirs e nodirs.

22.1.4 Arquivos de Mensagens e Banners

Se voc j acessou algum servidor FTP, ento j deve ter notado que comum
aparecer mensagens informativas quando se conecta ou quando se muda de di-retrio.
Estas mensagens so muito teis para informar o usurio das possibilida-des e regras a
serem seguidas no servidor.

22.1.5 Arquivo de Banner

Quando voc configura o WU-FTPD no Linuxconf, h uma opo chamada Ar-quivo


de banner. Voc pode informar um arquivo cujo contedo ser mostrado ao usurio antes da
conexo em si. Ele til para uma breve mensagem de boas-vindas ao servidor. Pode-se
fazer uma breve explicao sobre o servidor e os direitos de acesso ao mesmo.

Lembre-se que o arquivo de banner apresentado ao usurio antes do login. Assim,


evite dar muita informao sobre o servidor atravs deste arquivo.

22.1.6 O Arquivo .message

Um dos arquivos mais comuns e mais teis em um servidor FTP o arquivo


.message. Quando o servidor encontra este arquivo em um diretrio, ele mostra seu
contedo para o usurio antes de mostrar o contedo do diretrio em si.

Voc pode utilizar este arquivo para dar breves explicaes sobre os propsitos dos
diretrios sendo acessados. Alm disso, voc poderia ajudar o usurio a encontrar o que ele
est procurando.

Por exemplo, digamos que um usurio queira acessar o seu servidor para en-contrar
uma atualizao para um programa. O usurio, porm, no tem muita experincia com
servidores FTP e no sabe ao certo como encontrar aquilo de que ele precisa. Assim, voc
poderia criar arquivos .message para guiar o usurio. Quando o usurio acessa o diretrio
/pub do servidor FTP, por exemplo, voc poderia explicar-lhe o que est disponvel ali. Um
exemplo de como a mensagem mostrada para o usurio est na Figura 6-9.

132
23 - Serv idor Proxy

Nesta seo iremos tratar da implementao de um servidor proxy em um Conec-tiva


Linux. O software servidor proxy que acompanha o Conectiva Linux o Squid, e nele que
esta documentao se centralizar.

23.1 Caching

Quando voc acessa uma pgina da web ou um arquivo de FTP, uma requisio parte
de sua mquina at o servidor; s ento os dados so transmitidos para a sua mquina.
Como muitas vezes a distncia entre o servidor e a sua mquina muito grande e a
qualidade das linhas de transmisso muito irregulares, este processo acaba por tornar-se
bastante lento.

Alm disso, a maioria dos dados requisitados esttica; eles no mudam com o
tempo. Os logotipos que as empresas colocam em suas pginas, por exemplo, no tendem a
mudar. Entretanto, eles so, muitas vezes, bastante grandes. Isso um enorme desperdcio
de recursos da rede, alm de tempo. Uma soluo encontrada foi o chamado caching.
Sempre que feita uma requi-sio de algum objeto da Internet, o servidor proxy consulta o
cache para veri-ficar se este objeto j no foi requisitado previamente. Se ele foi, ento o
servidor proxy pode responder requisio utilizando sua prpria cpia local do objeto.

Isso acelera significativamente as operaes na Internet, j que grande parte dos


objetos acaba trafegando apenas localmente.

O servidor proxy verifica se a sua cpia atualizada com o objeto original. Caso no
for, o proxy atualiza sua cpia. Naturalmente, um servidor de cache no poderia guardar
todos os objetos acessados para sempre, pois isso iria rapida-mente satur-lo. A soluo
simples: o servidor mantm apenas os arquivos utilizados a menos tempo. Isso garante, de
uma forma indireta, que os objetos mais freqentemente utilizados sempre estejam no cache.

23.2 O Squid

O Squid o servidor proxy do Conectiva Linux. Ele oferece alta performance de cache
para servidores web.

O Squid oferece grandes vantagens em comparao com outros servidores proxy:

ele realiza, alm do cache de objetos como arquivos de FTP e pginas da web,um
cache de procuras de DNS. Isso quer dizer que ele guarda informaes sobre o mapea-
mento entre endereos IP e nomes de mquinas da Internet. Isso acelera a procura de
mquinas;

133
ele mantm os objetos mais utilizados na memria RAM (cujo uso pode ser limitado
pela configurao);

ele suporta SSL (acesso a pginas criptografadas) para segurana em transaes;

pode ser organizado em hierarquias de servidores de cache para uma melhora signi-
ficativa de performance;

responde s requisies em um nico processo de acesso a disco.

Todo o servidor proxy Squid consiste de um programa principal (Squid) e de seu


prprio programa de resoluo de nomes (dnsserver). Quando o Squid inicializado, ele
cria o processo do dnsserver, diminuindo o tempo de espera pela resposta do DNS.

23.2.1 Instalao e Configurao

Para instalar o Squid:

1. Acesse o diretrio de pacotes do CD do Conectiva Linux:


# cd /mnt/cdrom/conectiva/RPMS

2. Instale o pacote do Squid:


rpm -ivh squid-*
squid ##################################################

3. Inicialize o programa:
# cds
atd gpm killall named pcmcia single
autofs halt kudzu netfs portmap smb
crond httpd linuxconf-setup network postgresql snmpd
dhcpd inet lpd nfs random squid
functions keytable mars-nwe nfslock sendmail sshd
[root@gnu init.d]# ./squid start
creating directories at /var/spool/squid, wait... [ OK ]
Iniciando squid [ OK ]

Para realizar configuraes no Squid necessrio editar o seu arquivo de confi-


gurao que est localizado em /etc/squid/squid.conf.

23.2.2 Memria para Cache

O Squid armazena os objetos mais utilizados na memria RAM. Isso faz com que a
performance seja muito melhor do que se os objetos fossem armazenados em disco.

A quantidade de memria a ser utilizada para cache do Squid pode (e deve) ser
limitada, de forma a no interferir com outros processos no sistemas. O padro 8MB.

134
Note que este limite de memria refere-se memria usada para cache, e no a
memria total utilizada pelo Squid. Na realidade, a memria utilizada pelo Squid dever ficar
em torno de trs vezes este valor.
Para especificar a quantidade de memria mxima a ser utilizada para cache, voc
deve utilizar o parmetro cache_mem no arquivo /etc/squid/squid.conf:
cache_mem MEM

Onde MEM a quantidade de memria mxima a ser utilizada para cache.

Exemplo:
cache_mem 32 MB

Este exemplo especifica que o Squid dever limitar a 32MB a quantidade de memria
utilizada para cache.

23.2.3 Arquivos de Cache

Os objetos guardados pelo Squid so guardados em arquivos no disco rgido. Voc


pode especificar algumas opes para definir como o Squid trabalhar com arquivos.
cache_dir TIPO NOMEDIR MB N1 N2

Onde:

TIPO: voc deve especificar o tipo do sistema de armazenamento que o Squid


dever utilizar. Normalmente, voc deve utilizar ufs. Voc pode tentar utilizar asyncufs para
obter melhor performance. Se, por acaso, o asyncufs no funcionar corretamente em seu
sistema, volte a usar o ufs.
NOMEDIR: especifique o diretrio onde os arquivos sero gravados. Note que este
diretrio no ser criado automaticamente pelo Squid.
MB: voc pode modificar o espao mximo a ser utilizado para cache neste diretrio.
O valor padro 100 MB.
N1: voc pode especificar o nmero mximo de diretrio de primeiro nvel que sero
criados dentro do diretrio de cache. O padro 16.
N2: nmero mximo de diretrios de segundo nvel que sero criados dentro de cada
diretrio de primeiro nvel. O valor padro 256.

Exemplo:
cache_dir ufs /var/spool/squid 100 16 256

Este exemplo define que o diretrio de cache ser o /var/spool/squid, que ele poder
ter at 100MB, 16 diretrios de primeiro nvel e 256 diretrios de segundo nvel dentro de
cada diretrio de primeiro nvel.

23.2.4 Controle de Acesso

135
Por razes de segurana, a configurao padro do Squid do Conectiva Linux
bastante conservadora; ela nega acesso a qualquer mquina.

Voc deve alterar este comportamento para poder utilizar o Squid. Deve, por-tanto,
estabelecer regras de acesso ao servidor proxy. As regras tm o formato:
http_access PERM QUEM

Onde:

PERM: indica se a linha uma permisso ou uma proibio de acesso. Os valores


permitidos so: allow, para permitir e deny, para negar acesso.
-QUEM: a quem se refere esta permisso. Pode ser uma mquina ou um domnio ou
uma classe. Pode-se ainda usar ALL para indicar que a permisso definida na linha se refere
a todas as mquinas.

Exemplo:
http_access allow all

Este exemplo permite que todas as mquinas da rede possam utilizar este servidor
proxy.
Note que, como mencionado anteriormente, o Squid pr-configurado para no
permitir acesso de nenhum usurio ou mquina. Assim, voc deve procurar a linha do
arquivo /etc/squid/squid.conf parecida com:

http_acces DENY all

E remov-la ou edit-la no arquivo.

136
24 - Conf igurao bsica do Sendma il

24.1 Apresentar seu sistema como

Mesmo que o email venha de mquinas diferentes de sua empresa, voc pode querer
esconder esse fato e apresentar os emails como se eles tivessem vindo de apenas uma
mquina ou domnio.

Este campo normalmente usado na maioria das con.guraes e simplesmente


contm o nome oficial de seu domnio.

24.2 Aceitar email para seu domnio

Se voc est configurando o servidor principal de uma empresa, voc deve selecionar
essa opo. Normalmente, um servidor sendmail aceitar apenas emails enviados ao seu
nome@domnio exato. Se este for o servidor principal, ele receber tambm emails
endereados ao domnio, e no ao nome do servidor. Selecionando essa opo, o servidor
aceitar ambos.

Por exemplo, se seu domnio foo.com.br e seu servidor mail.foo.com.br, ento um


email para joo@foo.com.br e um para joo@mail.foo.com.br sero aceitos e guardados
localmente neste servidor (caso o usurio joo exista).

24.3 Servidor de email

Em muitas empresas, h uma mquina que guarda os emails de todos os usurios,


mesmo se o email for originrio de mquinas diferentes. As mquinas Unix so multiusurio.
possvel um usurio mandar um email para outro usurio da.mesma mquina. s vezes
isso inapropriado. As mquinas Unix alm de serem multiusurio, so orientadas rede.
Esse usurio (o destinatrio) pode ter contas em outras mquinas da rede (at em todas as
mquinas) e pode escolher uma outra mquina para ler seus emails. Ter essas mensagens
de email espalhadas por todas as mquinas da rede no muito desejvel.

Voc especifica aqui o endereo completo do servidor da empresa e todas as


mensagens de email sero enviadas para ele.

24.4 Roteador de email

137
Muitas mquinas em uma rede no tm conectividade suficiente para repetir emails
apropriadamente. Voc pode especificar o nome da mquina que tem. Em muitas empresas,
geralmente a mesma mquina onde est o servidor de email.

Diferentemente do servidor de email, o roteador de email pode ser acessado por


vrios protocolos de envio diferentes como o ESMTP e oUUCP.

24.5 Protocolo do roteador de email

Voc deve especificar como acessar o roteador de email. Se voc escolher o ESMTP,
ento voc deve especificar um nome completo para o roteador de email. Se voc escolher
UUCP, ento voc deve especificar um nome UUCP para o roteador de email.

24.6 Funcionalidades

Ativar controle de envio (spammers)

O controle de envio lhe deixa decidir quem pode usar seu servidor SMTP (sendmail)
para repetir mensagens. Os spammers costumam _emprestar_ servidores SMTP para
espalhar uma mensagem para uma lista enorme de pessoas. Configurando o controle de
envio, voc pode limitar isso. Infelizmente, regras de reenvio mal configuradas podem
impedir que alguns de seus usurios mandem email..

Esta opo lhe deixa ativar/desativar as regras. Um arquivo sendmail.cf novo ser
gerado, sem perder a con.gurao das regras. Note que essa opo NO controla a
funcionalidade de remetentes rejeitados, que lhe permite rejeitar emails vindos de spammers
conhecidos. Isso no limita a habilidade de repetir.

Tamanho mximo das mensagens

As mensagens podem ser limitadas; assim, mensagens muito grandes sero


rejeitadas. Definindo o tamanho para 0, voc desativa essa opo (sem limite).

No tentar enviar imediatamente

Esta funcionalidade feita para pessoas que no tm uma conexo permanente com
a Internet. Ela diz ao sendmail para gravar o email sem chec-lo. Mais tarde, voc pode
disparar a entrega do email. Geralmente se faz isso num comando de ps-conexo (veja a
seo de Discagem PPP) como _/usr/sbin/sendmail -q_, que fora o sendmail a processar e
enviar as mensagens.

Processar consulta a cada(min)

De vez em quando o sendmail se levanta e tenta enviar os emails que ainda lhe
restam. Voc pode ver essa fila de sada com o comando mailq sem argumentos. Pessoas
138
sem conectividade contnua com a Internet, podem querer usar essa opo. Definindo o
intervalo para 0, voc desativa essa opo. Se sua conectividade por demanda, voc pode
querer colocar aqui um nmero bem grande, como por exemplo, 30 minutos. Quando o
sendmail se levantar, ele ir/dever disparar a conexo.

Aqueles que desativarem essa opo, podem querer controlar o sendmail _na mo_
(ou via cron) com o comando: /usr/sbin/sendmail -q.

24.7 Diversos

No usar batch para email UUCP

Quando usa-se UUCP repetidamente, as mensagens so normalmente requisitadas e


entregues em intervalos regulares. Voc pode querer process-las e envi-las
imediatamente. Para um trfego pouco intenso, isto s vezes necessrio, pois o email
repetido imediatamente e os usurios ficam felizes..

Tamanho mx. das mensagens UUCP

As mensagens UUCP podem ser limitadas. Mensagens muito grandes sero


rejeitadas. Isso til para uma conexo via modem muito lenta. Definindo o tamanho para 0,
voc desativa essa opo (sem limite).

Entrega local para usurios

Coloque aqui o nome dos usurios para quem voc quer ignorar a definio de
Servidor de email. As mensagens sempre sero guardadas localmente para estes usurios.
Essa funcionalidade normalmente usada para pseudo-usurios administrativos (root por
exemplo).

No mascarar a origem de
Voc pode querer ignorar a definio de _Apresentar seu sistema como_ para alguns
usurios. Um o root.Isso permite ao destinatrio diferenciar facilmente de qual sistema
(qual root?) a mensagem se origina.

Banco de roteamentos especiais

Ative caso voc pretenda usar roteamento de domnio especial. Infelizmente, o


Configurador Linux no pode checar se a verso do sendmail instalada em seu sistema
suporta o banco de roteamentos especiais e em quais formatos. Essas so opes de tempo
de compilao para o sendmail e nenhuma opo de linha de comando do sendmail pode
dar o suporte a elas.

Formato do banco de roteamentos

139
O Sendmail pode usar muitos formatos para algumas de suas bases de dados. O
padro geralmente o formatodbm. Note que alguns Sendmail tm suporte apenas a um
formato (dbm), que uma opo de tempo de compilao..

Agente de entrega local

Utilitrios diferentes so usados para gerenciar emails enviados para usurios locais.
Esses utilitrios provm vrias extenses que permitem ao usurio fazer uma entrega
personalizada de emails. O procmail por exemplo suporta essa filtragem detalhada. Alguns
usam o procmail para espalhar as mensagens que chegam, em vrias caixas e seguindo
vrios critrios.
Voc pode deixar esse campo vazio e o Configurador Linux localizar o utilitrio
apropriado disponvel em seu sistema.

Suporte a clientes bogus (HELO)

Alguns clientes de email que usam SMTP para mandar emails e esto mal
configurados, geram seqncias HELO mal formadas. O sendmail normalmente rejeita a
conexo. Com esta opo, o sendmail fica mais tolerante e passa a aceitar essas conexes.

O Sendmail e o DNS

O Sendmail faz um uso pesado do DNS. Mquinas sem conexo direta com a Internet
(mesmo atrs de um firewall) podem querer desativar o uso do DNS. Por outro lado,
mquinas com uma conectividade normal do DNS devem forar o uso do DNS.

24.8 Apelidos para seu sistema

As mensagens de email que so especificamente para o seu domnio so aceitas pelo


Sendmail. Outras ou sero retornadas ou repetidas. Voc pode querer aceitar mensagens de
email para domnios diferentes. Uma situao quando voc se registra a um provedor de
acesso e ele lhe d um de seus subdomnios. Voc ainda quer aceitar o antigo, porque
muitas pessoas lhe conhecem por aquele endereo.

Voc pode colocar aqui tantas linhas quanto precise. Use o boto Adicionar caso
queira mais linhas..

24.9 Roteamento especial

24.9.1 Razes diferentes para se fazer roteamento especial

H muitas razes tcnicas para o porqu de algum querer ter o controle sobre o
funcionamento normal do Sendmail. Aqui vo algumas:

140
_ A mquina de destino no acessvel de seu computador. Seu computador est atrs
de um firewall.

_ O DNS da mquina de destino est malfeito ou incompleto (sem um registro MX vlido).


_ A mquina acessvel apenas por UUCP. Voc passa por essa situao quando uma
mquina tem um domnio vlido, mas no possui conexo direta com a Internet. Seu
computador pode ter sido designado como o recebedor de email para esse domnio e
como tal, ele receber todos os emails para este domnio. Ele precisar de regras
especiais para repetir as mensagens apropriadamente.

_ Voc tem uma rota melhor (menos cara, rpida...) do que a padro para esta mquina.

24.9.2 Tarefas

Voc pode ter regras especiais. Cada regra contm a informao seguinte:

Destino
Este o domnio de destino que voc quer controlar.

Repetidor
Esta a mquina que receber (e repetir) as mensagens para a mquina de destino.
O repetidor pode ser um nome de domnio completo ou nome UUCP dependendo da
mquina que ser usada para alcanar esse repetidor..Gerenciar subdomnio da mesma
forma Esta regra pode-se aplicar a um domnio de destino e a todas as
mquinas/subdomnios abaixo ele. Note que voc pode selecionar esta opo e ainda
informar outro roteamento especial para uma mquina/subdomnio deste domnio. Essa regra
ter precedncia sobre esta opo.
Transporte Voc escolhe qual o mecanismo que ser usado para encontrar o
repetidor.

24.9.3 Arquivos

As regras so guardadas no arquivo /var/lib/mailertable. O utilitrio /usr/sbin/makemap


usado para criar uma base de dados indexada fora desse arquivo. O Configurador Linux
cuida disso sempre que voc grava as regras.

24.9.4 Mailertable uma opo

Muitos Sendmail no suportam o mecanismo mailertable. Esta uma opo de tempo


de compilao e algumas distribuies de Linux preferiram no inclu-la. Na tela _informao
bsica da mquina_, h uma opo para ativar o seu suporte (banco de roteamento
especial). Se voc colocar alguma entrada na tabela, o Configurador Linux lhe avisar se a
141
funcionalidade no tiver sido escolhida. Uma vez selecionada a funcionalidade, voc deve
regerar o arquivo sendmail.cf.

Se seu Sendmail falhou ao iniciar depois disso, cheque os registros de erros em


/var/log. Seu Sendmail pode estar configurado para no suportar o conceito de mailertable.

24.10 Roteamento complexo

24.10.1 Introduo

O Sendmail roteia email usando o domnio do destinatrio. Se for o mesmo domnio da


mquina (usurio local), ele usa o nome do usurio para entregar o email. s vezes, a
deciso deveria ser feita usando-se o nome do usurio e o domnio de destino como uma
coisa s..p

24.10.2 Princpios

Uma realidade da Internet nos dias de hoje so vrios domnios virtuais na mesma
mquina. Isso funciona bem para servios de Internet. Um simples servidor simula vrios
servidores virtuais.

Para o email, o Sendmail tem a habilidade de aceitar emails para vrios domnios.
Geralmente, todos esses domnios so apelidos (veja Apelidos para seu sistema na
con.gurao bsica do sendmail) para o seu sistema. Se seu sistema tem os apelidos
seguintes:
_ domnio1.com.br
_ domnio2.com.br

Ento o usurio@domnio1.com.br e usurio@domnio2.com.br apontam para a


mesma conta de usurio. s vezes isso pode estar errado. Roteamento complexo de
usurios pode ser entendido dessa maneira:.Se voc receber um email para
um.usurio@um.domnio, ento re-
pita esse email para outro.usurio@outro.domnio usando outro.servidor.de.email.

24.11 Tarefas

Para cada regra, voc deve preencher todos os campos de uma tela composta por
estes campos:

142
24.11.1 Esta regra est ativa
Voc pode desativar uma regra sem exclu-la. Voc deve regerar o arquivo
sendmail.cf e reiniciar o Sendmail (o Configurador Linux lhe dir para faz-lo de qualquer
maneira).

24.11.2 Para: original


O campo Para: original contm o destino original do email, incluindo o nome completo
do domnio. possvel redirecionar todo um domnio informando o nome do domnio prece-
dido de um caracter @ (@domnio.com.br). Como redirecionar um domnio
normalmente feito com roteamento especial, via Configurador Linux, usando o roteamento
complexo de usurios, pode-se redirecionar todo um domnio para apenas uma conta de
usurio em outro domnio! Fcil.

24.11.3 Para: novo

Informe aqui o email de destino. Se voc quer redirecionar esse email para outro
usurio local, simplesmente informe o nome da conta do usurio, sem o domnio. Isso se
parece com um apelido simples (veja Apelidos para email). Embora esse roteamento no
seja um substituto, ele mais geral. Para uma base de usurios muito grande, os apelidos
para email so mais eficientes pois usam uma base de dados. O roteamento complexo de
usurios deve ser usado para lidar com excees que no podem ser resolvidas pelos
apelidos para email, como por exemplo:
info@domvirtual1.com.br - > jos
info@domvirtual2.com.br - > joo

24.11.4 Reenviar para servidor (opc.)

Normalmente o Sendmail encontrar o servidor apropriado baseando-se no campo


Para: novo. s vezes, voc pode querer impor um servidor. Apenas coloque o nome
completo desse servidor aqui.

24.11.5 Transporte

Se voc especificar um servidor, voc deve especificar que protocolo utilizar.


Normalmente o esmtp deve ser usado. Voc tambm pode escolher o uucp-dom caso esteja
repetindo email atravs de um roteador UUCP. Esse um caso onde voc sempre
especificar um servidor de destino.

24.11.6 Comentrio

143
Apenas um campo para comentrios. Escreva o que quiser aqui.

24.12 Regras de mascaramento

s vezes passamos por um problema difcil de resolver: as mensagens de email saem


para a Internet com endereo de retorno no apropriado. Quase sempre no h o que se
fazer, porque o sistema de origem dessas mensagens no pode ser arrumado, devido a todo
tipo de razes. As regras de mascaramento oferecem um jeito de se arrumar isso no
roteador de email.

24.12.1 Princpios

Voc pode definir regras de transformao simples que sero aplicadas a todos os
emails enviados pelo sendmail. No geral, voc especifica um De: e como este De:deve
serconvertido.
Voc tem alguma exibilidade aqui. Voc pode converter de:

_ Um domnio para outro.


_ Um usurio de um domnio para outro usurio de outro domnio.
_ Qualquer usurio de um domnio para um usurio de outro domnio (estranho).

Aqui vai uma apresentao dos diferentes campos da caixa de dilogo das regras.

Voc pode ativar/desativar uma regra sem apag-la usando esta opo.

24.12.2 De: original

Voc deve colocar aqui um endereo de email. Opcionalmente, voc pode omitir o
nome do usurio e apenas informar um nome de domnio precedido de um '@'. Isso significa
que a regra se aplica para qualquer usurio deste domnio.

24.12.3 De: novo

O endereo de email do campo _De:_ ser reescrito com o contedo deste campo.
Novamente, voc deve especificar um endereo de email. Novamente, voc pode omitir o
nome do usurio e apenas informar um nome de domnio precedido de um '@'.

24.12.4 Comentrio

144
Coloque aqui o que quiser para lembr-lo da razo de se usar esta funcionalidade
(regra de mascaramento). Normalmente as regras de mascaramento so um ltimo recurso.
melhor arrumar o problema na sua origem. Infelizmente, isso nem sempre possvel,
devido a todo tipo de boas (e estpidas) razes.

24.12.5 Alguns exemplos

De: original : @domnio_escondido


De: novo : @domnio_da_internet.com.br

Esta regra converter qualquer email vindo de usurio@domnio_escondido para que


este tenha um De: de usurio@domnio_da_internet.com.br

De: original : @domnio_escondido


De: novo : joo@domnio_da_internet.com.br

Esta regra converter qualquer email vindo de usurio@domnio_escondido para que


este tenha um De: de joo@domnio_da_internet.com.br. No sei se algum algum dia vai
precisar disso...

De: original : joo@domnio_escondido


De: novo : info@domnio_da_internet.com.br

Esta regra converter qualquer email vindo de joo@domnio_escondido para que


este tenha um De: de info@domnio_da_internet.com.br..p g

24.13 Domnio virtual de email

Com o poder dos computadores pessoais atualmente, as tarefas antigamente feitas


por vrios servidores hoje so facilmente feitas por apenas um. Com o sucesso da.Internet e
do sistema de email, somos levados a gerenciar vrios domnios de email independentes na
mesma mquina. E a entra o Linux!

24.13.1 Princpios

Domnios virtuais de email so um jeito de se gerenciar listas independentes de


usurios no mesmo servidor. Cada domnio virtual tem seu prprio arquivo de senhas, seu
prprio diretrio de email e seu prprio arquivo de apelidos. Para cada domnio virtual de
email, o Configurador Linux ir definir:

/etc/vmail/passwd.domnio_virtual
/etc/vmail/shadow.domnio_virtual
/etc/vmail/aliases.domnio_virtual
/var/spool/vmail/domnio_virtual/
145
/vhome/domnio_virtual/

onde domnio_virtual um domnio, como foo.com.br por exemplo.

24.14 A caixa de dilogo da de.nio de domnio virtual

Para criar um domnio virtual de email novo, voc deve completar uma caixa de
dilogo simples. H outras tarefas relacionadas ao DNS e a apelidos de IP, que so descritas
em outra seo desta ajuda. Segue-se a descrio da caixa de dilogo principal.

24.14.1 Um nome

Voc deve dar um nome ao domnio. Isso tudo.

24.14.2 Destino de retorno

um campo opcional. Normalmente, quando uma mensagem de email enviada para


uma conta de um domnio virtual de email, o processamento seguinte ocorre:

Checa se existe um apelido com esse nome. Se sim, manda a mensagem para todos os
membros da lista. Apelidos podem apontar para outros apelidos.
Caso no haja um apelido, ento checa a lista do domnio virtual. O email apendado
caixa do usurio correspondente.
Caso no haja nem apelido nem usurio, a mensagem rejeitada e o remetente receber
uma mensagem de erro.

Se esse campo estiver definido, o email ao invs de ser rejeitado, ser enviado a esse
endereo de retorno, que pode ser

vazio

o padro. A mensagem rejeitada.

outro_usurio@outro_domnio

A mensagem enviada a um usurio especfico de outro domnio.

@outro_domnio.

A mensagem enviada para a mesma conta, mas em outro domnio. Por exemplo, um
email enviado para desconhecido@este_domnio ser repetido para
desconhecido@outro_domnio.

conta
146
A mensagem enviada para outra conta no mesmo domnio. Esta conta pode ser um
apelido.

24.14.3 Arquivos de apelidos (opc.)

Cada domnio virtual tem implcito um arquivo de apelidos nomeado /etc/vmail/


aliases.domnio onde _domnio_ o nome do domnio. Voc pode definir mais um. Eles
sero usados pelo programa vdeliver. O implcito tem a prioridade mais alta. O vdeliver olha
no primeiro, depois no segundo, at achar o nome.

Note que, como os apelidos normais (/etc/aliases) processados pelo sendmail, a


defnio de apelidos pode apontar para outros apelidos, listas de discusso podem ser
definidas, etc.

Os arquivos de apelidos so gerenciados pela mesma caixa de dilogo dos apelidos


do sendmail, e como tal, oferece as mesmas capacidades.

24.14.4 Apelidos para este domnio

possvel ter vrios nomes de domnio que apontam para o mesmo diretrio de email.
Voc pode adicionar quantos forem necessrios. Por exemplo, algum define o domnio
virtual foo.com e depois registra o foo.com.br. Usando apelidos de domnio, ambos os
domnios sero equivalentes.

24.15 Uma nota antes de iniciar

O domnio virtual de email um suplemento s capacidades normais do email de seu


servidor. O domnio de email normal ainda gerenciado apropriadamente e os emails so
guardados em /var/spool/mail.

Ento, se sua mquina est correntemente aceitando emails para o domnio


foo.com.br e voc quer receber separados os emails para foo1.com.br e foo2.com.br,voc
apenas ter que definir estes dois domnios virtuais de email. A configurao de foo.com.br
permanece inalterada.

24.16 Como definir um domnio virtual de email

24.16.1 Como adaptar os clientes POP

147
Nada de especial deve ser feito no lado do usurio POP, o que uma coisa excelente:
_queremos abrigar vrios servidores de email em uma mquina, e no queremos que
todos saibam disso_. :)

24.16.2 Como instalar o servidor

O truque para ler o email exatamente o mesmo de um domnio virtual de WWW:


voc precisa de endereos IP. Suponha que se queira criar trs domnios virtuais de email:
va.foo.com.br, vb.foo.com.br e vc.foo.com.br. Pense neles como se voc fosse instalar trs
servidores independentes, cada um servindo um nico domnio. Isso o que ser descrito, e
depois mostrado que esses trs servidores podem ser colocados em apenas uma mquina.

No DNS

Do ponto de vista do DNS, tem-se um servidor de email por domnio. Ento o registro
MX de cada domnio ser:

_ va.foo.com.br - > email.va.foo.com.br


_ vb.foo.com.br - > email.vb.foo.com.br
_ vc.foo.com.br - > email.vc.foo.com.br

Com o DNS, isso o que se informa ao mundo e aos usurios de email. No mais,
usurios do va.foo.com.br, buscaro seu email em email.va.foo.com.br, usurios do
vb.foo.com.br, buscaro seu email em email.vb.foo.com.br, e usurios do vc.foo.com.br,
buscaro seu email em email.vc.foo.com.br..Com essa con.gurao, pode-se muito bem ter
um servidor (real) por domnio de email (o estado corrente antes do domnio virtual de email).

Instalando os servidores
Para continuar a con.gurao (seja real ou virtual), v ao DNS e defina um nmero IP
para cada servidor (esse o ponto-chave). Sero usados nmeros IP privados como
exemplo, e todos estaro na mesma rede.
_ email.va.foo.com.br - > 172.16.0.1
_ email.vb.foo.com.br - > 172.16.0.2
_ email.vc.foo.com.br - > 172.16.0.3

Ento pode-se instalar trs servidores Linux com estes IPs e dizer ao Sendmail de
cada um para aceitar um desses trs domnios.

Tornando-se virtual

Ao invs de se instalar trs servidores Linux, instale apenas um. Para cada domnio
virtual de email, deve-se:

_ Defin-lo usando o Configurador Linux, o que envolve apenas nomear o domnio.


_ Definir um apelido de IP (com o Configurador Linux) para que a mquina responda
por esse nmero IP tambm. Isso feito no menu "Ambiente de rede/Apelidos de IP para
mquinas virtuais"

148
_ Instalar o /usr/lib/linuxconf/lib/vpop3d como um substituto ao /usr/sbin/in.pop3d no
/etc/inetd.conf. O vpop3d um bom substituto ao pop3d mesmo que voc no use domnios
virtuais.

O apelido de IP oponto-chave. O protocolo POP no tem como identificar o destino


de uma requisio, exceto com o nmero IP de destino. por isso que clientes POP devem
usar um nome diferente (na verdade um IP diferente) para ler as mensagens de domnios de
email diferentes, o que algo j esperado..

Como instalar o vpop3d

O vpop3d um substituto ao servidor POP que voc usa em sua distribuio?

Nem sempre. Vrias distribuies vm com um pop3d diferente, que tem suporte a
NIS, PAM e outros mtodos de autenticao. A melhor maneira de se ter suporte a tudo isso
facilmente deixar o servidor pop3d nativo cuidando do domnio de email principal , e o
vpop3d gerenciando apenas os virtuais.

Para obter este resultado, simplesmente passe como um argumento ao vpop3d a rota
do servidor pop3 nativo. O vpop3d lhe dar o controle das requisies POP feitas ao domnio
principal. Aqui vai um exemplo de como ajustar o /etc/inetd.conf:
pop-3 stream tcp nowait root /usr/sbin/tcpd /usr/lib/linuxconf/lib/vpop3d /usr/sbin/ipop3d

Ento para instal-lo, no retire a chamada do pop3d, mas simplesmente coloque o


/usr/lib/linuxconf/lib/vpop3d na sua frente. Essa linha pode variar um pouco de
distribuio para distribuio.

24.17 Como depurar uma configurao

Muitos erros cometidos na de.nio de domnios virtuais so relacionados ao DNS.


Aqui vo alguns testes que voc pode fazer para verificar se sua con.gurao est correta.

Um aviso: usar clientes POP (programa de email) no adianta para testar esse tipo de
con.gurao. Esses programas no so muito informativos para esse tipo de tarefa. Ou
funcionam ou no.

24.17.1 Checando o DNS

Para cada domnio virtual, voc deve fazer algo no DNS. Usando-se o domnio
va.foo.com.br como exemplo, aqui vo os passos:

O MX

O comando nslookup -q=mx va.foo.com.br dever mostrar algo til. Pelo menos o
nome do servidor de email deve ser obtido com seus nmeros IP. Ou ser

149
email.va.foo.com.br, ou o nome oficial do servidor. O nome obtido no precisa fazer parte do
domnio va.foo.com.br, apenas deve apontar para o servidor fsico apropriado.

O servidor de email virtual

O email.va.foo.com.br deve ser definido no DNS. O comando nslookup


email.va.foo.com.br
deve produzir um nmero IP. Alm disso, o comando nslookup o-nmero-IP-obtido
deve mostrar email.va.foo.com.br. Se voc no obtiver isso como resposta, ento o servidor
POP virtual no funcionar, no mesmo e ponto final. Voc precisa ter o mapeamento
reverso correto desse nmero IP. O Configurador Linux faz isso automaticamente se o
mapeamento especial do reverso do domnio estiver definido no mesmo DNS do domnio
virtual. Ento, se voc teve a sada correta desses dois comandos, voc j fez a parte pior.
H um servidor ouvindo?

Depois voc faz o seguinte comando:


telnet email.va.foo.com.br

que deve se conectar ao servidor fsico. Isso prova que o apelido de IP est instalado
corretamente.

H um servidor POP virtual ouvindo?

Execute o seguinte comando e veja se o vpop3d est instalado apropriadamente. Em


caso afirmativo, nada mais pode dar errado.
telnet email.va.foo.com.br pop-3

Voc deve obter

+OK Virtual va.foo.com.br POP3 Server (Version 1.004) ready.

O _va.foo.com.br_ o ponto-chave aqui. Se voc no o obteve como resposta, ento


o domnio virtual ou no est definido, ou o vpop3d no est instalado no /etc/inetd.conf.

Uma ferramenta para se fazer uma checagem rpida

O script /usr/lib/linuxconf/lib/checkvdomain pode ser usado para se fazer uma


checagem da instalao do vpop3d para um domnio virtual. Rode-o sem argumentos para
aprender mais.

O script /usr/lib/linuxconf/lib/testalldomain l o arquivo /etc/named.boot.p e extrai todos


os domnios nele definidos. Ento ele roda o script checkvdomain (assumindo que h uma
mquina virtual de email para cada domnio) em todos os domnios. Ele diz ento se o
domnio est configurado apropriadamente ou no. muito til para um administrador que
gerencia muitos domnios virtuais.

24.17.2 Como adicionar usurios POP

150
Uma vez que um domnio virtual de email est funcionado, voc ainda tem que
adicionar usurios POP a ele. H uma entrada de menu emContas de usurios chamada
Contas POP virtuais (somente email) . Ele lhe deixa escolher um domnio virtual e adicionar
ou editar contas novas nele.

24.17.3 Co-administrador

Para cada domnio virtual de email, h um privilgio novo adicionado ao Configurador


Linux. Voc pode garantir esse privilgio a qualquer usurio normal. Ele poder gerenciar a
lista de usurios (apenas usurios POP) do domnio virtual. Isso totalmente operacional
usando-se a interface HTML tambm.

24.17.4 Como um usurio pode trocar a sua senha

Um problema com os usurios POP (e tambm usurios PPP) que eles no tm


acesso a uma conta shell de onde eles poderiam facilmente trocar sua senha. O
Configurador Linux prov uma soluo a esse problema, mas est disponvel apenas na
interface HTML. Ela tem suporte total a domnios virtuais de email. Se voc apontar seu
navegador para a seguinte URL http://seu_servidor:98/htmlmod:userpass

voc acessar uma tela simples que deixa qualquer um trocar sua prpria senha. O
_seu_servidor_ pode ser qualquer um dos servidores POP virtuais ou o nome normal de seu
servidor. O Configurador Linux gerenciar o arquivo de senhas apropriado baseado no
nmero IP usado para alcan-lo..p g

uma boa idia esconder essa URL em uma de suas pginas de informaes de seu
servidor ( meio chata de digitar).

24.18 Alguns problemas

24.18.1 Todos os emails do domnio saem mascarados

Isso causado por uma m con.gurao do DNS. Todo email que sai do servidor
reescrito, ento parece que veio do domnio principal do servidor. Esse problema se origina
de uma funcionalidade nova do sendmail. No seu incio, o sendmail varre todas as interfaces
de rede (e apelidos de IP) e pega os nomes associados com seus nmeros IP. Ele assume
que todos esses nomes so equivalentes ao domnio principal do servidor. Qualquer email
originrio de um desses nomes ser mascarado como vindo do domnio principal.

O problema no DNS simplesmente que voc definiu o mapeamento reverso de um


nmero IP para um nome de domnio, ao invs de uma mquina deste domnio. O
Configurador Linux no deixar voc cometer esse erro, pois ele nunca faz um mapeamento
151
reverso que aponte para um nome de domnio. Mas no caso de se fazer o DNS na mo,
est-se sujeito a isso. Ento certifique-se de que todos os nmeros IP associados a apelidos
de IP apontam para uma mquina de um domnio, e no para o prprio domnio. Reinicie seu
DNS e seu sendmail e tudo ficar correto.

24.19 Apelidos

s vezes necessrio redirecionar o email de um usurio para outro(s) lugar(es),


outro(s) usurio(s) ou at para programas.

24.19.1 Tarefas

Para um dado nome que pode ou no ser de um usurio real de seu sistema, voc
pode informar:

Um programa de filtro

possvel fazer um _pipe_ de toda a mensagem para um programa, que pode ser um
programa (&:I), um script shell ou uma construo shell como:

cat >> /tmp/mail.log

Este comando ir adicionar todas as mensagens que chegarem para o usurio no


arquivo /tmp/mail.log.

assim que se instala pacotes de servidores de email.

Arquivo de listagem

Voc pode passar a administrao de uma lista de discusso para algum sem
privilgios. Voc pode especificar um arquivo texto que contenha endereos de email. Este
arquivo pode pertencer a qualquer usurio. Um editor de texto simples o necessrio para
gerenci-lo.

Um ou vrios endereos de email

Cada endereo de email pode ser simplesmente um nome de usurio, outro apelido
(apelidos podem ser aninhados), ou um endereo de email completo. Voc pode definir uma
lista de discusso desta maneira. Estas funcionalidades so independentes. Isso significa
que voc pode definir um programa de filtro e um arquivo de listagem e vrios endereos de
email para um nico apelido..

24.19.2 Pseudo-usurio

152
s vezes necessrio conversar com algum de uma empresa sem saber seu nome
real, como por exemplo, apenas querer falar de um servio. Para isto configura-se o pseudo-
usurio.

24.19.3 Lista dos pseudo-usurios mais conhecidos

A Internet criou muitos pseudo-usurios. Aqui vai uma lista de alguns que voc pode
definir em seu sistema (no servidor de email).

hostmaster
Cuida de seu DNS.

postmaster
Este o endereo que se usa quando se precisa de informaes sobre algum (o
endereo de email correto) ou caso se queira apontar um problema relativo a email.

usenet
Usado para apontar problemas no servidor news de seu sistema.

webmaster
Cuida de seu site na Internet.

24.19.4 Apelidos para contas administrativas

O sistema Linux tem vrias contas administrativas que recebem email. no mnimo
incmodo se ter que entrar no sistema como um desses usurios apenas para ver os emails.
Por isso uma boa idia redirecionar esses emails para um usurio real (voc?).

Aqui vai uma lista dessas contas:


_ root
_ uucp
_ news.g p

24.19.5 O pseudo-usurio administrador

Numa empresa pequena, h apenas um administrador para toda a rede. Ao invs de


definir todos aqueles apelidos para ele, economize tempo e aponte-os para um pseudo-
usurio administrador que ele mesmo um apelido para o administrador. Isso pode lhe
economizar tempo.

24.19.6 Onde definir os apelidos

153
Os apelidos so geralmente definidos no servidor de email de uma empresa.
possvel tambm definir apelidos em vrias mquinas.

24.19.7 Administrador de listas de discusso

Voc pode definir uma lista de discusso usando apelidos e arquivos com apelidos.
Isso til e servir para listas de discusso pequenas com trfego limitado (sem muitos
membros entrando/saindo). Numa lista de discusso, voc eventualmente ter membros que
tm o email mal configurado. Cada vez que algum mandar um email para a lista, receber
respostas de erro relativas a esses usurios. Isso ruim pois esse algum nada tem a fazer
(a ver) para resolver esse problema.

Aqui vai a dica. Se voc criar uma lista de discusso, por exemplo, lista-produtos,
ento crie outro apelido owner-lista-produtos que aponte para voc. O Sendmail mandar as
mensagens de erro automaticamente para voc ao invs de mand-las para o remetente da
mensagem.

24.20 Con.gurao de filtros de spam

Com o crescimento da Internet, emails indesejados, tambm conhecidos como spam,


viraram um problema. No basta apenas proteger seus usurios contra emails spam vindos
de sites conhecidos, voc tambm precisa controlar quem pode usar seu servidor de email
como repetidor. Alguns sujeitos inconvenientes que gostam de enviar emails spam,
conhecidos como spammers, tentaro usar seu servidor de email para enviar spams para o
mundo todo. Voc pode controlar isso.

24.20.1 Princpio

Quando seu servidor de email recebe uma mensagem, h dois caminhos a seguir: ou
o email enviado a um de seus domnios e aceito, ou o email no destinado a qualquer
um de seus domnios e o servidor de email tentar redirecion-lo ao servidor de email
apropriado.

H uma terceira possibilidade: a mensagem enviada a um de seus usurios, mas


originria de um remetente que sabe-se que um spammer. Voc pode exclu-la na hora.

24.20.2 Usar nomes ou nmeros IP

Os emails podem vir de mquinas que so identificadas pelo nome e s vezes pelo
nmero IP. svezes mais prtico classificar as mquinas pelo seu nmero IP ao invs do
nome. Na seo seguinte voc ver que s vezes pode informar um nome, s vezes um
nmero IP e s vezes ambos.
154
24.20.3 Especificando uma rede

Voc pode especificar um nmero de rede informando um prefixo de nmero IP para


esta rede. Por exemplo, para a rede classe C 192.168.1.0, voc informar 192.168.1.

24.20.4 Especificando uma mquina ou um domnio

Para especificar um nome de mquina, voc deve informar seu nome completo, como:
mquina1.domnio.com.br. Para especificar um domnio, simplesmente o informe. Isso
significa que qualquer mquina que faa parte desse domnio ser processada da mesma
maneira.

24.21 Definindo remetentes rejeitados

Simplesmente informe uma lista de endereos de email, nomes de mquina, domnio


ou nmeros IP. Todas as possibilidades seguintes so aceitas:
_ spammer@lixo.domnio.p g
_ lixo.domnio
_ D.X.Y.Z
_ C.X.Y
_ B.X
_A
Voc tambm deve informar uma mensagem de erro que ser enviada de volta ao
remetente.

24.21.1 Definindo _repetir para_ por IP

Aqui voc informa uma lista de nmeros IP (mquinas ou redes) para quem seu
servidor poder repetir os emails. Geralmente coloca-se aqui os vrios IPs da rede local.

24.21.2 Definindo _repetir para_ por nome

Aqui voc informa uma lista de nomes de mquina e domnios para quem seu servidor
poder repetir os emails. Geralmente coloca-se aqui os vrios IPs da rede.

24.21.3 Definindo _repetir para_ mquinas

Aqui voc informa uma lista de servidores de email os quais usam o seu servidor
155
como roteador.

25 - Adic ionando Conexes PPP / SLIP para Modem

A primeira coisa a definir na configurao de rede se voc est conectado a uma


rede local, com um grupo de computadores em um escritrio, ou a uma rede de grande
abrangncias, como a Internet. Antes de continuar importante ainda saber qual hardware
ser utilizado para a conexo. Caso se utilize conexes via modem ou placas de rede, esteja
seguro de que o hardware est adequadamente instalado e que os cabos esto
corretamente conectados. Independente da especificao do tipo de rede que seja utilizada,
caso os cabos e equipamentos no estejam bem conectados e configurados, nenhuma
configurao far o sistema funcionar. Iniciaremos pelas conexes via modem.

H algumas informaes que sero obtidas a partir de seu Provedor de Acesso


Internet ou administrador de sistema antes de ter a sua conexo PPP ou SLIP funcionando.
Estes so os dados para ter o seu Conectiva Linux conectado ao seu Provedor:

O endereo IP para o servidor de nomes do domnio (DNS).


O nmero de telefone de conexo.
Nome de acesso e senha.
Um endereo IP para sua mquina, caso a rede qual esteja conectado no defina
automaticamente um endereo dinmico.
Utilizao (ou no) de mtodos de conexo, ATSI como PAP, CHAP ou MS-CHAP.
Nos casos afirmativos, necessrio conhecer a seqncia de caracteres ou palavra
que compe a chave de acesso. CHAP e MS-CHAP no so atualmente suportados
por Linuxconf, e so raramente usados.

Informaes adicionais podem ser teis, mas no fundamentais, tais como endereo
do servidor secundrio e domnio de pesquisa. De posse de todas as informaes voc
estar apto a conectar-se.

Inicie o Linuxconf
Informe a senha do superusurio quando solicitado (caso j no seja o root ).
Abra [Configurao] [Ambiente de Rede] [Tarefas de Cliente] [PPP / SLIP / PLIP].
Selecione Adicionar.

Inicialmente no haver qualquer configurao especificada. Ao selecionar a opo


Adicionar sero apresentadas as opes PPP, SLIP e PLIP.

PPP a interface mais comum e a padro. Para configurar uma conexo PPP
selecione PPP e pressione Aceitar.

Voc ver os seguintes campos:

Nmero de telefone - nome utilizado para o acesso remoto.


Porta do modem - indica a localizao do modem. J deve estar configurada.
Caixa de verificao de uso de autenticao PAP - deve ser acionada caso o sistema
de destino utilize PAP.
156
Nome de acesso - nome usado na conexo ao sistema remoto.
Senha: a senha da conta PPP.

Note que a janela tem o ttulo Interface PPP ppp0 . ppp0 a primeira interface PPP, ppp1
ser a segunda e assim por diante. importante estar atento em relao a qual interface se
est configurando. Conexes SLIP usam o prefixo sl ao invs de ppp . Com exceo da caixa
de verificao de PAP, as opes da caixa de entrada so idnticas para os dois mtodos.

Em quaisquer das interfaces que tenha sido escolhida informe o nmero completo do
telefone da mquina remota e esteja seguro de incluir eventuais nmeros para obter uma
linha externa, caso se esteja ligando de um ramal de uma central telefnica. Por exemplo,
caso seja necessrio discar 0 e outro nmero 3322074, deve ser informado 03322074. No
item porta do modem tem-se disposio um menu. Caso se utilize a dupla inicializao
Linux/Windows pode-se traar uma relao entre os padres do Linux e do DOS da seguinte
forma:
cua0/ttyS0 - COM1 sob MS-DOS
cua1/ttyS1 - COM2 sob MS-DOS
cua2/ttyS2 - COM3 sob MS-DOS
cua3/ttyS3 - COM4 sob MS-DOS

O nome de acesso o nome da conta PPP no servidor remoto. A senha dever ser
informada em texto simples. Ao finalizar com estas informaes selecione o boto
Personalizar no rodap da tela. Todas as demais informaes so solicitadas em diversas
telas (Hardware, Comunicao, Ambiente de Rede e PAP).

Selecione a opo PAP e informe o nome de usurio e senha que o Provedor tenha
disponibilizado no campo de segredo. Os demais padres devem ser suficientes, mas caso
necessrio pode-se editar as configuraes iniciais na opo Personalizar.

157

Вам также может понравиться