You are on page 1of 227

Global Sul Informtica

Administrao, Redes e Servios


Adilson R. Bonan <arbonan.linux@gmail.com> - LPI Trainee Certified Esse Material pode ser copiado e distribudo livremente.

Treinamento Linux Administrao, Redes e Servios

Global Sul Informtica

Introduo.......................................................................................................................................................7 Introduo ao sistema operacional Linux.........................................................................................................7 O anncio....................................................................................................................................................8 Histria do mascote Tux..............................................................................................................................8 O que o Linux?.........................................................................................................................................9 Caractersticas do sistema Linux.................................................................................................................9 O que uma distribuio Linux?...............................................................................................................11 As principais distribuies Linux..............................................................................................................12 Ser que Linux bom para voc?..............................................................................................................14 Captulo 1......................................................................................................................................................17 Semelhanas do Windows com o Linux.........................................................................................................17 Arquivos de lote........................................................................................................................................19 Equivalncia de arquivos de configurao................................................................................................19 Equivalncia nas portas de comunicao...................................................................................................20 Equivalncia de comandos........................................................................................................................21 Equivalncia de redirecionamentos...........................................................................................................21 Particularidades do sistema Linux.............................................................................................................23 Como pedir ajuda no mundo Linux?.........................................................................................................25 Semelhanas do Windows com o Linux....................................................................................................31 Os gerenciadores de janelas do Linux.......................................................................................................33 Semelhanas de aplicativos nativos...........................................................................................................35 Atalhos links simblicos............................................................................................................................36 Processos e servios em segundo plano.....................................................................................................36 Captulo 2......................................................................................................................................................41 Filosofia Linux...............................................................................................................................................41 Criando disquetes de inicializao............................................................................................................41 Gerando discos sob MS-DOS....................................................................................................................41 Gerando discos sob o Windows.................................................................................................................41 Gerando discos a partir do Linux..............................................................................................................41 Entrando no sistema Linux........................................................................................................................42 Os arquivos...........................................................................................................................................42 Meta caracteres ou coringas.................................................................................................................43 Os diretrios.........................................................................................................................................44 O que so diretrios raiz do sistema Linux?.........................................................................................45 Nomenclatura dos discos, parties e portas.............................................................................................46 Estrutura de particionamento do sistema Linux.........................................................................................47 O Interpretador de comandos.....................................................................................................................47 Atalhos de teclado para o bash..................................................................................................................48 Os arquivos de inicializao da mquina...................................................................................................49 Terminais virtuais em modo console.........................................................................................................50 Linux modo console, o poder do shell.......................................................................................................51 Comandos de ajuda do sistema..................................................................................................................51

Treinamento Linux Administrao, Redes e Servios

Comandos de informaes do sistema.......................................................................................................53 Comandos para manipulao de diretrios................................................................................................55 Comandos para manipulao de arquivos..................................................................................................55 Comandos de controle de acessos a arquivos e diretrios.........................................................................57 Comandos de ligao de arquivos e diretrios..........................................................................................57 Comandos para gerenciamento de impresso............................................................................................58 Comandos mensagens no sistema..............................................................................................................59 Comandos de controle de execuo de processos .....................................................................................59 Comandos de manipulao de mdias........................................................................................................60 Comandos de processamento em rede (interno e externo).........................................................................62 Comandos para manipulao de usurios e grupos....................................................................................63 Comandos de som no sistema....................................................................................................................64 Comandos de empacotamento e compresso de arquivos..........................................................................66 Comandos de verificao de logs /var.......................................................................................................66 Comandos diversos....................................................................................................................................66 Comandos genricos do ambiente grfico Gnome ....................................................................................69 Comandos genricos do ambiente grfico KDE .......................................................................................70 Captulo 3......................................................................................................................................................75 Gerenciamento de usurios e grupos..............................................................................................................75 Gerenciamento de usurios e grupos.........................................................................................................75 Arquivos de configurao e personalizao de usurios............................................................................80 Captulo 4......................................................................................................................................................89 Gerenciamento de mdias...............................................................................................................................89 Os comandos mount e umount...................................................................................................................89 O acesso a unidade de disquete.................................................................................................................90 Formatando disquetes no Linux................................................................................................................90 Formatao via modo texto..................................................................................................................91 O acesso a unidade de CD-ROM..........................................................................................................91 O acesso a unidade de zip-drive...........................................................................................................92 O acesso a partio do Windows local.................................................................................................93 Verificao dos pontos de montagem...................................................................................................93 O espao disponvel..............................................................................................................................94 Os arquivos /etc/fstab e /etc/mtab.........................................................................................................94 Reconhecendo as parties...................................................................................................................96 Captulo 5......................................................................................................................................................99 Gerenciamento de permisses........................................................................................................................99 Acesso a um arquivo ou diretrio..............................................................................................................99 Controlando donos, grupos e outros usurios .........................................................................................100 Atribuindo permisses: comando chmod.................................................................................................102 Alterando permisses pelo modo literal..................................................................................................102 Alterando permisses pelo modo numrico (octal).................................................................................103 Alterando permisses pelo modo absoluto..............................................................................................104 Captulo 6....................................................................................................................................................107 Empacotamento e compresso de arquivos...................................................................................................107 Empacotando arquivos com o comando tar.............................................................................................108 Usando o compress e uncompress...........................................................................................................109 Usando o bzip2 e bunzip2.......................................................................................................................110 Usando o gzip, gunzip e zcat...................................................................................................................111 Usando o znew........................................................................................................................................112 Quebrando arquivos grandes...................................................................................................................112

Global Sul Informtica

Captulo 7....................................................................................................................................................115 Gerenciamento de pacotes com RPM...........................................................................................................115 RPM em pacotes no instalados..............................................................................................................116 RPM em pacotes instalados.....................................................................................................................118 RPM em desinstalao de pacotes...........................................................................................................119 RPM em instalao e atualizao de pacotes...........................................................................................119 Dependncias no resolvidas...................................................................................................................121 RPM em verificao do sistema .............................................................................................................121 RPM instalando pacotes via ftp...............................................................................................................121 Convertendo um pacote...........................................................................................................................122 Gerenciamento de pacotes com YUM..........................................................................................................122 Compilao de programas............................................................................................................................124 Gerenciamento de pacotes com Apt/Synaptic...............................................................................................127 Usando o comando apt............................................................................................................................127 Adicionando um CD................................................................................................................................128 Instalando novos pacotes.........................................................................................................................131 Removendo pacotes instalados................................................................................................................131 Atualizando sua distribuio...................................................................................................................131 Procurando por pacotes...........................................................................................................................131 Usando o Synaptic...................................................................................................................................132 Convertendo formatos de pacotes com o Alien............................................................................................134 Captulo 8....................................................................................................................................................137 Configuraes bsicas..................................................................................................................................137 Configurando datas e horrios.................................................................................................................137 Configurando o teclado...........................................................................................................................139 Configurando o mouse.............................................................................................................................140 Configurando a placa de som..................................................................................................................140 Configurando o modem...........................................................................................................................141 Usando o KPP para conectar Internet...................................................................................................142 Servio bsico de ADSL..........................................................................................................................142 Configurando a impressora......................................................................................................................143 Filtros de impresso............................................................................................................................145 Servidor de impresso CUPS e KDE.......................................................................................................147 Configurando o CUPS pelo arquivo...................................................................................................148 Configurando o CUPS pelo cups-config.............................................................................................150 Configurando a impressora pelo KDE.....................................................................................................151 Configurando o vdeo..............................................................................................................................152 Captulo 9....................................................................................................................................................157 Configurao bsica da interface de rede ....................................................................................................157 O modelo base OSI..................................................................................................................................157 Informaes sobre camadas.....................................................................................................................159 TCP/IP um pouco de teoria......................................................................................................................159 IP Internet Protocol...............................................................................................................................160 Classes de rede IP....................................................................................................................................160 A camada TCP/IP....................................................................................................................................162 Resumo das trs classes de nmeros IP:..................................................................................................163 ICMP Internet Control Message Protocol.............................................................................................163 Topologia de redes..................................................................................................................................164 Topologia em Estrela...............................................................................................................................164 Topologia em Barra.................................................................................................................................165 Topologia em Anel..................................................................................................................................165 Sistema Linux, a configurao................................................................................................................166 A interface de rede.............................................................................................................................166 A interface loopback..........................................................................................................................167

Treinamento Linux Administrao, Redes e Servios

Os principais arquivos.............................................................................................................................168 Os mdulos da interface de rede.........................................................................................................173 Configurando no brao............................................................................................................................175 Monitoramente de rede............................................................................................................................178 Captulo 10..................................................................................................................................................181 NFS - Cliente e Servidor...............................................................................................................................181 Como configurar clientes e servidores NFS............................................................................................181 Configurando um servidor NFS...............................................................................................................181 Criando os locais para montagem NFS...............................................................................................182 O portmapper......................................................................................................................................183 Mountd e nfsd.....................................................................................................................................184 Configurando o cliente NFS....................................................................................................................187 Opes de montagem..........................................................................................................................188 Otimizando o NFS..............................................................................................................................188 NFS e segurana......................................................................................................................................189 Segurana no cliente...........................................................................................................................189 Segurana no servidor: nfsd...............................................................................................................189 Segurana no servidor portmapper.....................................................................................................190 NFS e firewalls........................................................................................................................................191 Captulo 11..................................................................................................................................................193 SAMBA Cliente e Servidor.......................................................................................................................193 Caractersticas do servidor......................................................................................................................194 Arquivos de configurao do Samba.......................................................................................................194 Principais arquivos do servidor samba....................................................................................................195 Executando os servidores........................................................................................................................199 Configurando o Samba............................................................................................................................201 Configurando pelo modo texto...........................................................................................................201 Autenticao de usurios modalidade de segurana......................................................................202 Pontos de montagem com Samba............................................................................................................211 Configurando o samba atravs do Swat no Linux...................................................................................213 Captulo 12..................................................................................................................................................215 Conexes remotas.........................................................................................................................................215 Usando o Telnet......................................................................................................................................215 Habilitando telnet entre mquinas......................................................................................................215 Usando o SSH.........................................................................................................................................217 Clientes SSH para Windows e Linux.................................................................................................217 Preparando o servidor.........................................................................................................................218 Execuo de comandos no servidor....................................................................................................219 Usando o FTP..........................................................................................................................................221 Comandos bsicos para ftp.................................................................................................................222 Fazendo ftp via modo texto................................................................................................................223 Fazendo ftp via modo grfico.............................................................................................................223 Arquivo de configurao do servidor ftp............................................................................................224

Global Sul Informtica

Introduo

Introduo ao sistema operacional Linux


Muitas coisas interessantes ocorreram desde que Linus Torvalds1 iniciou o seu trabalho em um sistema operacional para PCs similares ao Unix. O Linux evoluiu de um passatempo de micreiros para um srio competidor de outros sistemas operacionais. :: Linus Torvalds, mentor do sistema Operacional Linux.

Eu que tenho acompanhado algumas distribuies Linux desde seu princpio, tenho percebido como o sistema tem evoludo e melhorado cada vez mais para os usurios e profissionais da rea que trabalham com o sistema Linux como o caso da Red Hat, Debian, Mandriva, Suse, Slackware, Kurumin e a nova distribuio Ubuntu que tem feio o maior sucesso no mundo Linux. Experimente pegar o CD-ROM dessas distribuies de cinco anos atrs e voc saber do que eu estou falando. Por muitos anos, o Unix teve um estigma de algo extremamente complexo. Suas licenas eram comercializadas em valores inatingveis para a grande maioria dos usurios pessoais ou corporativos, criando um distanciamento entre este estvel e robusto sistema operacional e o grande pblico. Porm, algo estava para acontecer e aconteceu. Isso perdurou at que o Linux fosse disponibilizado em embalagens com valores inferiores a R$ 100,00 (cem), em conjunto com centenas de aplicativos adicionais em formatos sem limites de instalaes, usurios ou quaisquer restries, tornando-se acessvel a praticamente todo e qualquer usurio com disposio de conhecer um mundo novo de solues, cooperao e criatividade. No h uma alternativa mais econmica que um X Terminal, pois um antigo e barato 586 pode conter o Linux para executar esta tarefa. O Linux tem ainda excelentes funcionalidades de interao em rede e em especial com outros sistemas operacionais, podendo atuar como servidor e cliente em redes heterogneas, atuando em conjunto com mquina Windows, Unixes, Macintosh, terminais burros etc.

DICA: Hoje se voc quiser montar um cyber-caf, bsico, por exemplo alm de ser simples no precisar das ultimas tecnologias de ponta pois com alguns pentiuns voc poder montar terminais de conexes a Internet para pesquisa e fins acadmicos. Isso muito fcil de ser feito pois o sistema Linux tem as ferramentas bsicas se fazer e no precisa comprar nenhuma licena.

Treinamento Linux Administrao, Redes e Servios

Uma das grandes vantagens do Linux reside na disponibilidade do cdigo-fonte. Alm do fato de ser possvel modificar o sistema para atendimento de alguma necessidade especfica, permite ainda a correo de eventuais problemas, ou seja, em vez de aplicar a filosofia de infelizmente temos que conviver com isto, teremos uma nova filosofia resumida em temos que mudar isto. Essa filosofia que faz o desenvolvimento do Linux to rpido e surpreendentemente estvel. Viva o Linux.

O anncio
Ol para todos que esto usando o Minix estou fazendo um sistema (livre) operacional (como um passatempo, pois no ser grande e profissional como o GNU) para 386 e 486 AT clones. PS.: Linus Torvalds. Foi com essa mensagem que tudo comeou, no dia 3 de julho de 1991, Linux Torvalds, estudante de Cincia da Computao da Universidade de Helsinque comunicava oficialmente comunidade de desenvolvedores do newsgroup comp.os.minix que estava trabalhando em um projeto em Minix. Naquela ocasio, Linus buscava a indicao de um documento das regras POSIX mais recentes. O que no significa, necessariamente, que o Linux nasceu naquele dia. H uma outra data, 25 de agosto de 1991, em que Linus divulga no mesmo news-group, que est fazendo um sistema operacional propriamente dito. E o mais importante de tudo: livre. Assim ficou mais explcito para o pblico a inteno dele em tornar sua obra disponvel para todos que estivessem interessados.

Histria do mascote Tux


O simptico pingim que se tornou cone do Linux foi criado por Larry Ewing em meados de 1996, depois de um concurso de logotipos para o sistema operacional. A simptica criaturinha criada por Ewing venceu quase por aclamao de toda a comunidade. A idia do pingim foi casualmente sugerida pelo prprio Linus Torvalds, depois de mencionar publicamente que os achava engraadinhos. Quando o concurso estava em andamento, Linus havia sugerido que o pingim deveria ser gordinho e com um ar de satisfao depois de empanturrar-se com peixes. :: Tux O mascote do Linux.

Para Linus, um pingim como logotipo daria mais liberdade s pessoas que quisessem usar materiais relacionados ao sistema operacional. Outra razo que Linus salientou que, usando algo parecido com o pingim d s pessoas a oportunidade de fazer modificaes. Exatamente como acontece hoje, quando encontramos diferentes variantes do pingim em boxes das distribuies espalhadas por todo o mundo. O nome Tux uma variante de tuxedo, mais conhecido entre ns como smoking. E, para quem no sabe, h um Tux, em carne e osso, no Zoolgico de Bristol, na Inglaterra. Fonte: Revista Do Linux, nmero 20. Para maiores detalhes e estudos acesse a pgina www.revistadolinux.com.br/ed/020/assinantes/capa.php3. E hoje o sistema operacional GNU/Linux o que voc, prezado leitor/usurio, sabe ou vai aprender sobre esse maravilhoso sistema operacional.

Global Sul Informtica

No decorrer desse material voc aprender como que isso cresceu, deixou de ser um passatempo, tornou-se um sistema altamente profissional usado inclusive por bancos do mundo todo e at mesmo pelo pentgono e pela NASA, mole? Projetos no mundo inteiro esto dando muito mais credibilidade aos sistema Linux, pases esto trocando sua base governamental de sistema Windows para sistema Linux, e isso no por querer brigar com Micro$oft ou com o Sr. Bill Gates, mas sim por ECONOMIA, pois o mundo est tomando conscincia de que o dinheiro finito e a economia como um todo precisa ser controlada no somente aqui no Brasil como no restante do mundo.

O que o Linux?
O Linux um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinque na Finlndia. um sistema operacional de cdigo aberto distribudo gratuitamente pela Internet, ento praticamente todo mundo pode ter em mos os cdigos-fontes do sistema operacional Linux. Seu cdigo-fonte liberado como Free Software3 Software Livre , o aviso de Copyright do Kernel ncleo do sistema feito por Linus descreve detalhadamente isto e mesmo ele est proibido de fazer a comercializao do sistema. Isso quer dizer que voc no precisa pagar nada para usar o Linux. Que bom isso, no? E no crime fazer cpias para instalar em outros computadores , que jia isso, no? Ns inclusive incentivamos voc a fazer isto. Ser um sistema de cdigo aberto pode explicar a performance, estabilidade e velocidade em que novos recursos so adicionados ao sistema. Para rodar o sistema Linux preciso, no mnimo, um computador 386 SX com 2 MB de memria e 40 MB disponveis em seu disco rgido para uma instalao bsica e funcional; verdade mesmo, com o tempo voc descobrir como isso maravilhoso. Podemos recuperar mquinas que praticamente estavam fadadas ao ferro velho. Agora tente instalar o outro em mquinas com essas condies.

DICA: Se voc for bem radical mesmo, poder usar o sistema Linux em um ou dois disquetes e nem vai precisar de disco rgido, pois poder fazer todo o seu trabalho via rede e em modo grfico. Acredite, isso apenas um pedao do paraso.

Caractersticas do sistema Linux


Uma das grandes vantagens do sistema Linux: NO EXISTEM VRUS NO LINUX! Em mais de 15 (quinze) anos de existncia, nunca foi registrado NENHUM tipo de vrus para este sistema. Isso tudo devido grande segurana oferecida pelas permisses de acesso do sistema que funcionam inclusive durante a execuo de programas. O que tem aparecido por a ultimamente so worms, ou seja, pequenos scripts ou programas que precisam de um certo privilgio para funcionar e que depois de ter esse privilgio apresentam um comportamento geralmente semelhante ao de um vrus. Mas isso no impede que um bom administrador de redes se encarregue de anular esse tipo de situao; A pilha TCP/IP mais rpida que no Windows e tem sua pilha constantemente melhorada. O Linux tem suporte nativo a redes TCP/IP e no depende de uma camada intermediria como o Winsock. Em acessos via modem Internet, a velocidade de transmisso 10 por cento a 20 por cento (em alguns casos) maior, e sem contar que roda aplicaes Windows atravs do WINE e tambm atravs do CrossOver; Veja outras caractersticas: Convive sem nenhum tipo de conflito com outros sistemas operacionais (como MS-DOS, Windows, OS/2, Mac etc) no mesmo computador; multitarefa real e multiusurio e tem Suporte a nomes extensos de arquivos e diretrios (255 caracteres); Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows, DOS etc; Proteo de programas executados na memria RAM; Tem suporte para terminais virtuais consoles , o que importantssimo para os diversos tipos de conectividade que o Linux oferece e oferece modularizao. O sistema Linux somente carrega para a memria o que usado durante o processamento, liberando totalmente a memria assim que o programa/dispositivo finalizado. E se por ventura algum programa travar possvel tir-lo do ar sem nenhum esforo ou sem ter que reinicializar a mquina novamente;

Treinamento Linux Administrao, Redes e Servios

Devido modularizao, os drivers dos perifricos e recursos do sistema podem ser carregados e removidos completamente da memria RAM a qualquer momento. Os drivers (mdulos) ocupam pouco espao quando carregados na memria RAM (cerca de 6 kb para a Placa de rede NE 2000, por exemplo); No precisa de um processador potente para funcionar. O sistema roda bem em computadores 386 SX de 25 mhz com 4 mb de memria RAM (sem rodar o sistema grfico X, que recomendado 8MB de RAM). J pensou no seu desempenho em um 486 ou Pentium ou ento em um AMD de 1,5 ghz? O crescimento e novas verses do sistema no provocam lentido; pelo contrrio, a cada nova verso os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos teis e melhor desempenho do sistema (como o que aconteceu na passagem do kernel 2.0.x para 2.2.x, e assim sucessivamente); No requerida uma licena para seu uso. O Linux licenciado de acordo com os termos da GNU e acessa sem problemas discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SunOS, Amiga, Atari, Mac etc.; Utiliza permisses de acesso a arquivos, diretrios e programas em execuo na memria RAM; Suporte a dispositivos infravermelho; suporte a rede via rdio amador; suporte a dispositivos plug-and-play; suporte a dispositivos USB etc.

Calma l, isso ainda no tudo. O sistema de arquivos usado pelo Linux (ext2, ext3 ou reiserfs) organiza os arquivos de forma inteligente, evitando a fragmentao e fazendo-o um poderoso sistema para aplicaes multiusurios exigentes e gravaes intensivas. Ele tambm permite a montagem de um servidor Web, e-mail, News etc com um baixo custo e alta performance. O melhor servidor Web do mercado, o Apache2, distribudo gratuitamente com o Linux. O mesmo acontece com o Sendmail. Por ser um sistema operacional de cdigo aberto, possvel ver o cdigo-fonte (o que foi digitado pelo programador) faz e adapt-lo s suas necessidades ou de sua empresa. Essa caracterstica uma segurana a mais para empresas srias e outros que no querem ter seus dados roubados (voc no sabe o que um sistema sem cdigo-fonte faz na realidade enquanto esta processando o programa). Ainda apresenta suporte a diversos dispositivos e perifricos disponveis no mercado, tanto os novos como obsoletos, e pode ser executado em dez arquiteturas diferentes (Intel, Macintosh, Alpha, Arm etc). H consultores tcnicos especializados no suporte ao sistema espalhados por todo o mundo e entre muitas outras caractersticas que voc descobrir durante o uso do sistema. O sistema segue o padro POSIX, que o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o Linux voc no encontrar muita dificuldade em operar um sistema do tipo UNIX, FreeBSD, HPUX, SunOS etc., bastando apenas aprender alguns detalhes encontrados em cada sistema. O cdigo-fonte aberto permite que qualquer pessoa veja como o sistema funciona (til para aprendizado), corrija algum problema ou faa alguma sugesto sobre sua melhoria; esse um dos motivos de seu crecimento rpido, do aumento da compatibilidade de perifricos (como novas placas sendo suportadas logo aps seu lanamento) e de sua estabilidade. Outro ponto em que o sistema Linux se destaca o suporte que oferece a placas, CD-ROM, CDRW ect e outros tipos de dispositivos de ltima gerao e mais antigos (a maioria deles j ultrapassados e sendo completamente suportados pelo sistema operacional). Esse um ponto forte para empresas que desejam manter seus micros em funcionamento e pretendem investir em avanos tecnolgicos com as mquinas que possui. Hoje o Linux desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo sua contribuio ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha em seu desenvolvimento e tambm ajuda na coordenao entre os desenvolvedores. Resumidamente, encontramos no Linux surpresas agradveis, sendo um sistema com caractersticas de suporte multitarefa, multiusurio, multiprocessamento, multiplataforma, execuo em modo protegido, aderente ao POSIX e aos padres Unix e, em especial, com um formato de desenvolvimento comunitrio de cdigo aberto. Cabe salientar que o que comumente se define como Linux algo que ultrapassa o kernel, pois uma distribuio normalmente compreende centenas de programas adicionais, variando de compiladores a bancos de dados, passando por servidores de correio e firewall.

10

Global Sul Informtica

O que uma distribuio Linux?


S o sistema operacional Linux no necessrio para ter uma sistema funcional, mas o principal. Existem grupos de pessoas, empresas e organizaes que decidem distribuir o Linux com outros programas essenciais como por exemplo editores grficos, planilhas, bancos de dados, ambientes de programao, formatao de documentos, firewalls etc. Este o significado bsico de uma distribuio. Cada distribuio tem sua caracterstica prpria, como o sistema de instalao, o objetivo, a localizao de programas, nomes de arquivos de configurao etc. A escolha de uma distribuio pessoal e depende da necessidade de cada um de ns. Algumas distribuies bastante conhecidas so: Red Hat, Debian, Mandriva, Suse, Slackware, Kurumin e Ubuntu, por exemplo. Acompanhe esse Time Line das principais distribuies Linux no mundo e veja sua evoluo: :: Time Line das principais distribuies Linux no mundo.

11

Treinamento Linux Administrao, Redes e Servios

Todas essa distribuies usam o sistema Linux como kernel principal , porm a Debian uma distribuio independente de kernel e pode ser executada sob outros kernels, como o GNU/hurd. A escolha de sua distribuio deve ser feita com muita ateno, no adianta muita coisa perguntar em canais de IRC sobre qual a melhor distribuio, ser levado pelas propagandas, pelo vizinho etc. O melhor caminho para a escolha da distribuio, acredito eu, seria perguntar as caractersticas de cada uma e por que essa pessoa gosta dela, em vez de perguntar qual a melhor, porque quem lhe responder isso estar usando uma distribuio que se encaixa de acordo com suas necessidade, e esta mesma distribuio pode no ser a melhor para atend-lo.

As principais distribuies Linux


Tem alguns humoristas que dizem que voc encontra Linux at em caixas de biscoitos. Eles falam isso no sentido pejorativos, mas eu tambm falo a mesma coisa s que no sentido de lutar contra toda e qualquer forma de monoplio extremo. Sabe porqu? Porque voc tem o direito de escolha, de opinar, de mudar se no tiver contente. Acredite, muitas das coisas do que vemos hoje em dia s melhorou porque em algum momento, algum percebeu quem manda na verdade somos ns os usurios e de uma certa forma consumidores, comeamos a mudar algo que no nos deixava mais satisfeitos. Ento, fabricantes foram obrigados a melhorar a qualidade de seus produtos. O mesmo acontece com o sistema Linux que tem inmeras distribuies, mais de uma duas centenas. Eu mesmo, tenho 20 (vinte) tipos de distribuies e tudo isso serve para voc testar, aprender, opinar e recomendar devido minhas experincias. Mas longe de afirmar qual a melhor distribuio, pois a melhor aquela de melhor lhe atende, veremos aqui algumas distribuies e suas caractersticas mais importantes. Debian Linux Distribuio desenvolvida e atualizada atravs do esforo de voluntrios espalhados ao redor do mundo, seguindo o estilo de desenvolvimento GNU/Linux. Por este motivo, foi adotada como a distribuio oficial do projeto GNU. Possui suporte a lngua Portuguesa, a nica que tem suporte a 10 arquiteturas diferentes (i386, Alpha, Sparc, PowerPc, Macintosh, Arm, etc.) e aproximadamente 15 sub-arquiteturas. A instalao da distribuio pode ser feita tanto atravs de Disquetes, CD-ROM, Tftp, Ftp, NFS ou atravs da combinao de vrios destes em cada etapa de instalao. Acompanha mais de 4.350 programas distribudos em forma de pacotes divididos em 4 (quatro) CDs binrios e 2 (dois) de cdigo fonte (ocupa 2.1 GB em meu disco rgido), cada um destes programas so mantidos e testados pela pessoa responsvel por seu empacotamento. Os pacotes so divididos em diretrios de acordo com sua categoria e gerenciados atravs de um avanado sistema de gerenciamento de pacotes (o dpkg) facilitando a instalao e atualizao de pacotes. Possui tanto ferramentas para administrao de redes e servidores quanto para desktops, estaes multimdia, jogos, desenvolvimento, web, etc. A atualizao da distribuio ou de pacotes individuais pode ser feita facilmente atravs de 2 comandos, no requerendo adquirir um novo CD para usar a ltima verso da distribuio. a nica distribuio no comercial onde todos podem contribuir com seu conhecimento para o seu desenvolvimento. Para gerenciar os voluntrios, conta com centenas de listas de discusso envolvendo determinados desenvolvedores das mais diversas partes do mundo. Kurumin Linux O Kurumin uma distribuio Linux destinada a desktops baseada no Debian. Ele mantm o mesmo sistema de deteco de hardware, mas muito menor, apenas um CD Live que nem precisa ser instalado, fazendo com que o download seja rpido. O Kurumin uma tentativa de desenvolver um Linux voltado para o uso em desktops, que seja fcil de usar, fcil de instalar e resolva problemas clssicos como a falta de suporte a softmodems e a multimdia. O Kurumin j inclui drivers para vrios softmodems, suporte a vrios formatos de vdeo, incluindo Divx e uma ferramenta para instalar suporte a Flash. Tudo isso organizado de uma forma intuitiva. Mandriva Distribuio muito boa e funcional e veio da unio ente Conectiva (Brasil) e Mandrake (Frana) a qual tambm apresenta boa parte de seus pacotes j traduzido para o nosso idioma. Esse distribuio caracterizou-se facilidade em detectar o hardware e implementao de algumas filosofia de trabalhos. Tambm apresenta um visual melhorado, bonito e muito intuitivo para o usurio final. Apresenta tambm suporte melhorada para o modens WinModens. Red Hat Principal distribuio americana que at um tempo atrs era ela quem ditava as regras. Mas as coisas mudaram e os ventos sopram em outras direes, no entanto uma das principais distribuies

12

Global Sul Informtica

americanas e apresenta bom suporte para nosso idioma. A distribuio Red Hat era uma das primeiras distribuies a ser apresentadas em cursos de sistema operacional Linux por apresentar-se rpida, confivel e altamente configurvel. Agora a Red Hat apresenta um outro Linux, o Fedora Core Linux, que traz vrias inovaes. Slackware Linux Distribuio desenvolvida por Patrick Volkerding, desenvolvida para alcanar facilidade de uso e estabilidade como prioridades principais. Foi a primeira distribuio a ser lanada no mundo e costuma trazer o que h de mais novo enquanto mantm uma certa tradio, provendo simplicidade, facilidade de uso e com isso flexibilidade e poder. Desde a primeira verso lanada em Abril de 1993, o Projeto Slackware Linux tem buscado produzir a distribuio Linux mais UNIX-like, ou seja, mais parecida com UNIX. O Slackware segue os padres Linux como o Linux Standard File System, que um padro de organizao de diretrios e arquivos para as distribuies. Enquanto as pessoas diziam que a Red Hat era a melhor distribuio para o usurio iniciante, o Slackware o melhor para o usurio mais velho, ou seja programadores, administradores, etc. SuSE Linux Distribuio comercial Alem com a coordenao sendo feita atravs dos processos administrativos dos desenvolvedores e de seu brao norte-americano. O foco da Suse o usurio com conhecimento tcnico no Linux (programador, administrador de rede, etc.) e no o usurio iniciante no Linux. A distribuio possui suporte ao idioma e teclado Portugus, mas no inclui (at a verso 6.2) a documentao em Portugus. Possui suporte as arquiteturas Intel x86 e Alpha. Sua instalao pode ser feita via CD-ROM ou CD-DVD ( a primeira distribuio com instalao atravs de DVD). Uma mdia de mais de 2.000 programas acompanham a verso 8 distribudos em 6 CD-ROMs. O sistema de gerenciamento de pacotes o RPM padronizado. A seleo de pacotes durante a instalao pode ser feita atravs da seleo do perfil de mquina (developer, estao kde, grficos, estao gnome, servidor de rede, etc.) ou atravs da seleo individual de pacotes. Fedora Core 7 (Red Hat) O Linux Fedora 7 traz como interface grfica padro, o KDE 3.5, que conta com novos recursos que aumentam a integrao entre os aplicativos disponveis e facilitam sua utilizao. O sistema ainda possui amplo suporte a funcionalidades de Internet, permitindo ao usurio a utilizao dos principais servios disponveis na Web. Com excelentes navegadores, clientes de e-mail, programas de chat, mensagens instantneas, oferecendo um pacote completo para acesso Internet. uma excelente plataforma para o acesso e gravao de mltiplos formatos de udio, vdeo e outros recursos multimdia. Ele suporta os principais perifricos e uma vasta gama de softwares de jogos e produtos para comunicao audiovisual. Na parte de segurana, o Fedora 7 est preparado para comunicao segura, via e-mail, contendo assinatura digital, e com sites que possuem certificados digitais, emitidos pela ICP-Brasil ou autoridades certificadoras autorizadas. H o OpenOffice em portugus do Brasil que uma das mais completas suites de escritrio disponveis no mercado, possui ferramentas para edio de textos, planilha de clculos, desenhos vetoriais e apresentaes, alm de ser compatvel com o MSOffice. A distribuio apresente centenas de outras aplicaes de uso totalmente livre . Bom, nem s de trabalho vive o homem, prova disso o sucesso dos games dos mais variados gneros que existem por a. Mas porqu tanto sucesso? Por que as produtoras resolveram investir em tecnologia, enredo e design de games, tudo isso para cativar ns pobres mortais usurios. O sistema Linux traz excelentes jogos consigo, claro, vamos concordar que so simples mas mesmo assim j d para gastar um tempinho na frente do micro, porm ns temos hoje uma outra realidade: LAN House, Cyber Cafs etc esto usando o sistema Linux em seus servidores pelo simples fato de ser mais confivel, rpido e seguro e tambm no precisar pagar R$ 5.000 (cinco mil) por um servidor dedicado em ambiente Windows. Isso sem contar que os melhores servidores para esse tipo de jogo com toda certeza o Linux. Basta que voc pergunte em uma LAN House que servidor eles usam. E se voc quiser saber como que se monta um servidor de Counter Strike por exemplo s fazer uma pesquisa no google que voc vai encontrar vrios tutoriais ensinado com fazer isso de modo correto. Bom entretenimento. E a maioria dos melhores jogos ja esto sendo portados para o sistema Linux faz tempo, como por exemplo Herectic, Doom, Sim City, Quake (1,2,3 e 4), Half Life, Unreal e Unreal Tournament e at mesmo o Counter Strike um dos mais jogados jogos das LAN Houses hoje em dia e a qualidade to boa quanto em ambiente Windows pois hoje o Linux conta com um bom suporte com relao s placas 3D do mercado. Isso sem contar com os emuladores de vdeo games e computadores.

13

Treinamento Linux Administrao, Redes e Servios

:: Counter Strike para Linux.

O Linux j conta com todos eles, se voc chegou a conhecer o MSX e quiser relembrar daquele tempoo Linux tem o emulador desse maravilhoso computador daquele poca. Tem emulador de Atari, TK 2000, Apple, Amiga, NeoGeo, Snes, Game Boy, Play Station, Xbox (quem disse que no?), Dream Cast e por a vai. Realmente o sistema Linux um verdadeiro laboratrio onde voc no precisa pagar para construir um bomba e ela explodir na sua mo. Com esse sistema voc tem oportunidade de aprendizado e de fazer as coisas acontecerem.

Ser que Linux bom para voc?


O Linux um bom sistema, voc est migrando para ele do MS-DOS? Bom, ser que voc gostar dele como seu sistema? Alguns provedores adoram o Linux por ser um sistema operacional timo para a Internet/intranet. Mas e se voc usa o Linux em um computador caseiro? Realmente, o Linux para quem est migrando do Windows um sistema operacional difcil. Mas para quem quer se aventurar realmente nesse mundo, o Linux uma boa idia para voc. Se voc for uma pessoa que s quer as coisas prontas, recomendo no usar o Linux, pois voc no usar o sistema realmente. Se voc pretende ou j usa Linux, mesmo que seja a pouco tempo, prepare-se para se tornar um hacker, no um hacker mal, que que atrapalha a vida dos administradores de sistemas, mas sim, um hacker que possui conhecimento. Sistema Linux instalado com sucesso... e agora? Voc acaba de instalar o Linux, com os pacotes desejados, programas legais, coisas interessantes, criou um usurio pra voc (se ainda no, voc dever criar imediatamente) se logou (entrou no sistema) como esse usurio, informou a senha e agora est no prompt (caso seu Linux entre direto em modo texto) olhando para a tela neste exato momento, se perguntando: O que fao agora? Calma, vamos agora fazer um warm up (aquecimento), como fazer tarefas que voc faria no MSDOS. Vamos comparar os dois sistemas, comear vendo o bsico de tudo. Lembre-se de que o prximo captulo um apanhamento geral do resto da livro. Voc pode encontrar coisas que no encontrar em outras sees. Aqui voc vai encontrar o bsico de tudo. Se quiser mais detalhes, veja tambm as outras sees do manual do Linux. possvel personalizar as telas de login para que elas fique do seu jeito, como por exemplo, o papel de parede oficial de sua empresa, a tipologia de letras, cores, cones e mais algumas outra configuraes. Aps ter entrado no sistema, a filosofia a mesma do ambiente Windows, ou seja, arrastar, copiar, mover, apagar, maximizar, minimizar e mais algumas particularidades que apenas o Linux possui, mas que voc aprender rapidamente. Eu lhe aconselho a esquecer (se voc puder, claro) pelo menos por um ms o ambiente Windows, tente fazer tudo o que voc faz no Windows em Linux, pelo menos a parte bsica para comear. Claro que se voc usar um aplicativo que s tem para Windows voc no conseguir fazer isso pelo menos por hora. Se voc fizer isso, pode acreditar voc vai descobrir que realmente existe um sistema operacional de verdade.

14

Global Sul Informtica

:: Tela padro de login em modo texto do sistema Linux

Exemplos de login em modo texto e em modo grfico. :: Tela padro de login grfico usando o GDM (GNOME).

15

Treinamento Linux Administrao, Redes e Servios

Anotaes:

16

Global Sul Informtica

Captulo 1

Semelhanas do Windows com o Linux


Para quem j est acostumando com o MS-DOS (linha de comando) do Windows, o que nos dias de hoje meio raro, usar o sistema Linux em modo texto em princpio pode parecer meio confuso. E da vem aquela perguntinha: OK! Para que o modo texto se eu tenho o modo grfico e l eu fao tudo? Calma no entre em detalhes nesse caso, o prprio decorrer do aprendizado do sistema Linux mostra que em ambos os modos, texto e grfico, voc consegue respostas... Alguns usurios preferem o modo grficos pois suas tarefas requer esse ambiente, outros usurios usam o modo texto pois nesse modo que eles encontram agilidade e produo. No entanto, para aquelas pessoas que j conhecem informtica h um bom tempo, o sistema Linux muito mais fcil de aprender, pois o usurio j est acostumando com a linha de comando. No ambiente Linux ns temos os comandos do pacote mtools que so semelhantes (no iguais) com alguns comandos do MS-DOS. Para saber quais so basta digitar:
# mtools mattrib, mcat, mcd, mcopy, mdel, mdeltree, mdir, mdu, mformat,,minfo, mlabel, mmd, mmount, mmove, mpartition, mrd, mren, mtype, mtoolstest, mshowfat, mbadblocks, mzip, mkmanifest, mcheck

Para o usurio que somente conhece o Windows e nunca viu sequer uma linha de comandos em MS-DOS, o sistema Linux j um pouco mais difcil, mas se falarmos de ambiente grfico esse usurio praticamente no ter dificuldades nenhuma com o modo grfico do Linux, pois a mesma filosofia do arrasta e solta tambm est presente aqui no ambiente do Linux. :: Tela padro de prompt de comando do MS-DOS no Windows.

O terminal (prompt) do Linux , sem exageros, mil vezes mais poderoso do que o do Windows para quem souber us-lo. Alm do mais, o terminal que o usurio v na mquina local na verdade pode estar em outra mquina chamando outro procedimento e atividade para poder trabalhar de um modo mais seguro e rpido. Isso o Windows no faz. Ento a nossa concluso que se o usurio tiver um pouco de fora de vontade, ele vai aprender o Linux sem muito esforo.

17

Treinamento Linux Administrao, Redes e Servios

:: Tela personalizada de prompt de comando do Linux.

Mas bom lembrar-se de que isso questo de tempo, no d para aprender o Linux da noite para o dia, preciso que tenhamos uma disciplina, que tambm entenda-se o propsito deste sistema operacional e que a cada dia ele muda suas caractersticas para que seja possvel um amadurecimento. A nossa primeira concluso de que o modo prompt do Linux, alm de muito mais bonito, mais poderoso. Dentro de um mesmo terminal, possvel chamar em paralelo outro terminal, e, alm do mais, possvel transparncia, imagens de fundo, cores de fundo, tipologia de letras e controle cache de linhas; tambm possvel arrastar cones do modo grfico para dentro de um terminal, pois automaticamente ser criado o caminho para que o usurio possa copiar o arquivo. Resumo dos comando mtools Embora voc no vai usar agora esses comando pois eles sero usados a medida que voc for adquirindo conhecimento, eu resolvi disponibiliz-los aqui:
mattrib: Mostra e modifica os atributos de arquivos. mcat: Exibe informaes da unidade de disquete em formato RAW. mcd: Igual ao cd normao, entra e sai de diretrios . mcopy: Faz cpias de arquivos. mdel: Exclui arquivos mdeltree: Apaga arquivos, diretrios e tambm sub-diretrios. mdir: Lista arquivos e diretrios da unidade de disquete. mdu: Mostra o espao ocupado pelo diretrio do MS-DOS. mformat: Grava uma fat no disquete. minfo: Mostra informaes sobre a unidade de disquetes. mlabel: Cria um volume (label) para unidades DOS. mmd: Cria diretrios. mmount: Monta discos MS-DOS. mmove: Move ou renomeia arquivos/subdiretrios. mpartition: Particiona um disco para ser usado no DOS. mrd: Apaga um diretrio e mren: Renomeia arquivos. mtype: Mostra o contedo de arquivos, parecido com o cat. mtoolstest: Exibe a configurao atual do pacote mtools. mshowfat: Mostra a FAT da unidade. mbadblocks: Procura por setores defeituosos na unidade. mzip: Ejeta discos em unidades ZIP. mcheck: Verifica arquivos na unidade.

Vamos aprender aqui alguns comandos que encontram semelhana aos comandos do MS-DOS1. Vale lembrar que esses comandos so semelhantes, NO iguais. Isso quer dizer que se assemelham na sintaxe mas no so iguais, pois no sistema Linux os comandos so muito mais poderosos que os do ambiente MSDOS.

18

Global Sul Informtica

Arquivos de lote
Se voc do tempo do MS-DOS deve lembrar que muitas vezes para automatizarmos nossas tarefas, a gente criava os famosos arquivos de lotes, que eram arquivos com uma seqncia de comandos e ser executados pelo computador. Desse jeito ficava mais fcil, pois simplesmente digitvamos o nome do arquivo e ele executa os comandos dentro dele. Esse arquivo deveria ter a extenso .BAT. Mas no sistema Linux no temos esse tipo de extenso e feito de outro jeito. Caso voc queira criar seu arquivo de lote o qual a partir de hoje vamos chamar simplesmente de script, simples. Crie um arquivo normalmente com a seqncia de comandos, esse arquivo pode ter ou no uma extenso, mas atentando para o seguinte detalhe de no incio do arquivo ter a seguinte instruo #!/bin/bash ou #!/bin/sh ou #!/bin/csh etc. Isso a informa ao Linux que ser usado um desses interpretadores. Agora para executar o seu script voc pode usar o comando source script-teste.sh, por exemplo. Voc poder tambm usar o comando chmod +rwx script-teste.sh. E para execut-lo use o comando ./scriptteste.sh caso voc esteja no mesmo diretrio do seu script. Se voc no estiver, copie-o para o diretrio /bin assim no precisa usar o ./ e nem o source, basta simplesmente digitar o nome do seu script.

Equivalncia de arquivos de configurao


No sistema Windows nos temos os arquivos config.sys e autoexec.bat que arquivo de configurao desse ambiente. Nos tempos ureos do MS-DOS qualquer usurio com um pouco mais de experiencia j sabia mexer nesses arquivo e meio que fazer um afinao no sistema. Mas nos dias de hoje tem gente que nem sabe que isso existe. J no sistema Linux a filosofia diferente, alm de no ser apenas dois, mas sim vrios arquivos de configurao onde alguns, a gente mexe, outros a gente estraga :-), e alguns o prprio sistema Linux cuida disso. Esses encontram-se a grande maioria deles no diretrio /etc que o diretrio onde ficam quase todos os arquivos de configurao do sistema Linux, somente para citar temos o inittab que cuida entre outras coisas dos terminais de conexo e inicializao em modo texto e em modo grfico do sistema, temos tambm o arquivo fstab que vai cuidar dos pontos de montagem do sistema Linux e nmeros outros arquivo de configurao. Listagem do arquivo /etc/inittab (inicializao)
... # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS # (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) id:5:initdefault: # System initialization. si::sysinit:/etc/rc.d/rc.sysinit su:S:wait:/sbin/sulogin l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 # Things to run in every runlevel. #ud::once:/sbin/update # Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r now # When our UPS tells us power has failed, # assume we have a few minutes # of power left. Schedule a shutdown for 2 minutes from now. # This does, of course, assume you have powerd installed and your # UPS connected and working correctly. pf::powerfail:/sbin/shutdown -f -h +2 Power Failure; System Shutting Down

19

Treinamento Linux Administrao, Redes e Servios

# If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown -c Power Restored; Shutdown Cancelled # Run gettys in standard runlevels 1:2345: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 #7:2345:respawn:/sbin/mingetty tty7 #8:2345:respawn:/sbin/mingetty tty8 #9:2345:respawn:/sbin/mingetty tty9 #10:2345:respawn:/sbin/mingetty tty10 #11:2345:respawn:/sbin/mingetty tty11 #12:2345:respawn:/sbin/mingetty tty12 # Run xdm in runlevel 5 # xdm is now a separate service x:5:once:/etc/X11/prefdm -nodaemon

Listagem do arquivo /etc/fstab (pontos de montagem)


/dev/hda5 / ext3 defaults 0 0 /dev/hda6 swap swap defaults 0 0 /dev/hda7 /home ext3 defaults 0 0 /dev/hda8 /usr ext3 defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 defaults,user,noauto,ro 0 0 /dev/fd0 /mnt/floppy auto defaults,user,noauto 0 0 none /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 /dev/hda1 /mnt/winxp vfat user,owner,exec,dev,suid,rw 1 1

DICA: No sistema Linux a maioria dos arquivos de configurao de programas/aplicaes costuma terminar com rc e criam diretrios que comeam com ., que so arquivos invisveis no sistema Linux. Outra macete, tudo no sistema Linux tratado como arquivo at mesmo os dispositivos de hardware.

Equivalncia nas portas de comunicao


Alguns usurios mais tcnicos que esto acostumados com as portas COM do MS-DOS acham estranho a nomenclatura usado no sistema Linux, mas isso mesmo cada um tem a sua particularidade. Veja o quadro seguinte a qual nos mostra os dispositivos e portas de comunicao do Linux.
MS-DOS WINDOWS A: B: C: D: E: LPT1 LPT2 LPT3 COM 1 COM 2 COM 3 COM 4 LINUX /dev/fd0 /dev/fd1 /dev/hda1 /dev/hdc ou /dev/cdrom /dev/sda4 ou /dev/zip /dev/lp0 /dev/lp1 /dev/lp2 /dev/cua0 ou /dev/ttyS0 /dev/cua1 ou /dev/ttyS1 /dev/cua2 ou /dev/ttyS2 /dev/cua3 ou /dev/ttyS3 DESCRIO Unidade de disquete. Unidade de disquete. Somente uma das parties do disco rgido. Unidade de CD-ROM. Unidade de zip drive. Impressora. Impressora. Impressora. Porta de comunicao 1. Porta de comunicao 2. Porta de comunicao 3. Porta de comunicao 4.

20

Global Sul Informtica

Voc percebeu aqui diferente mas no difcil. Por exemplo o comando dir a: lista os arquivos do disquete em um ambiente MS-DOS/Windows e no sistema Linux poder ser feito assim, supondo-se que o disquete est montado: ls -ls /dev/fd0. Calma que com o decorrer da leitura do livro voc vai aprender tudo direitinho.

Equivalncia de comandos
Alguns comandos do Linux so semelhantes aos do MS-DOS. Esses comandos fazem tambm, coisas semelhantes, como voc j sabe tem os comandos do pacote mtools e agora temos tambm os comandos comuns. Mas eu j vou lhe avisando, use os comandos do Linux pois so muito mais prticos e poderosos. Com os comandos do sistema Linux voc poder montar shell scripts poderosos que podero lhe ajudar no dia-a-dia. Isso do jeito que o Linux faz o MS-DOS nunca fez e nem vai fazer e no sistema Windows voc vai ter que ter um programinha para cada coisa, ou seja vai entupir seu Windows de shareware e coisas desse tipo e depois no v dizer que eu no avisei. Veja no quadro seguinte alguns comandos semelhantes do MS-DOS com Linux.
MS-DOS backup cd copy del deltree dir edit format help md move nul prn rd ren restore type win LINUX tar -Mcvf cd cp rm rm -R ls, dir, vdir ou echo vi fdformat, mformat, kfloppy ou gfloppy man mkdir mv null lpr rmdir mv tar -Mxpvf less, more ou gless starx, kde, gnome ou xdm DESCRIO Faz cpias de segurnana. Entra e sai de diretrios. Faz cpias de arquivos, tambm faz em modo recursivo. Apaga arquivos. Apaga arquivos em modo recursivo. Lista diretrios. Executar um pequeno editor de arquivo texto. Formatao de disquetes. Executa a ajuda para um determinado cmando. Cria diretrios. Move arquivos ou renomeia arquivos (Linux). Redirecionamento nulo. Manda para a impressao. Apagar diretrios vazios. Renomeia arquivos (Linux). Faz restaurao das cpias de segurana. Permite ver conteudo de arquivo texto. Executa o modo grfico do sistema.

Equivalncia de redirecionamentos
Assim como no MS-DOS, o sistema Linux tambm permite que voc mande alguma coisa para algum lugar e isso pode ser um arquivo que poder ser mandado para uma impressora, ou uma listagem do comando ls que ir para um arquivos de log etc, entendeu? O Linux trata o funcionamento dos recursos de direcionamento de entrada e sada do sistema de forma mais eficaz que o sistema MS-DOS e tem at mais recursos. O direcionador > Ele simplesmente redireciona a sada de um programa, comando ou script para algum dispositivo ou arquivo, em vez do dispositivo de sada padro que o seu monitor. Quando usado com arquivos, esse redirecionamento cria ou substitui o contedo do arquivo.

21

Treinamento Linux Administrao, Redes e Servios

Vejamos um exemplo:
ls -laF /etc/rc.d/ > scriptsLocais.txt

A sada do comando ls -laF ser enviada para o arquivo scriptsLocais.txt, e quando usar o comando cat scriptsLocais.txt, ver (nesse exemplo):
total 56 drwxr-xr-x drwxr-xr-x drwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x 11 60 2 1 1 1 2 2 2 2 2 2 2 2 root root root root root root root root root root root root root root root root root root root root root root root root root root root root 4096 4096 4096 2875 785 1493 4096 4096 4096 4096 4096 4096 4096 4096 Set 10 12:03 ./ Set 29 11:16 ../ Set 11 00:35 init.d/ Fev 6 2003 rc* Fev 6 2003 rc.local* Mar 26 2003 rc.sysinit* Set 11 00:35 rc0.d/ Set 11 00:35 rc1.d/ Set 11 00:35 rc2.d/ Set 11 00:35 rc3.d/ Set 11 00:35 rc4.d/ Set 20 21:18 rc5.d/ Set 11 00:35 rc6.d/ Set 10 12:03 rcS.d/

O mesmo comando pode ser redirecionado para uma segunda console, ou seja, um terminal virtual, por exemplo /dev/tty5, assim ls -laF /etc/rc.d/ > /dev/tty5, ento o resultado do comando ls -laF ser mostrado no /dev/tty5. Agora, combine CONTROL+ALT +F5 e voc ver o contedo l. Mas lembre-se esse terminal dever aceitar entradas nele. O direcionador >> Esse redirecionador faz a mesma coisa que o anterior, s que ele no apaga o contedo do arquivo, caso esse arquivo j exista; o que ele faz adicionar o resultado na sada do arquivo. Vejamos um exemplo:
ls /etc/rc.d/ >> scriptsLocais.txt

A sada do comando ls ser adicionada ao final do arquivo scriptsLocais.txt e quando voc usar o comando cat scriptsLocais.txt, ver (nesse exemplo):
total 56 drwxr-xr-x drwxr-xr-x drwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x init.d rc rc.local rc.sysinit rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rcS.d 11 60 2 1 1 1 2 2 2 2 2 2 2 2 root root root root root root root root root root root root root root root root root root root root root root root root root root root root 4096 4096 4096 2875 785 1493 4096 4096 4096 4096 4096 4096 4096 4096 Set 10 12:03 ./ Set 29 11:16 ../ Set 11 00:35 init.d/ Fev 6 2003 rc* Fev 6 2003 rc.local* Mar 26 2003 rc.sysinit* Set 11 00:35 rc0.d/ Set 11 00:35 rc1.d/ Set 11 00:35 rc2.d/ Set 11 00:35 rc3.d/ Set 11 00:35 rc4.d/ Set 20 21:18 rc5.d/ Set 11 00:35 rc6.d/ Set 10 12:03 rcS.d/

22

Global Sul Informtica

O direcionador < Esse redirecionador direciona a entrada padro de arquivo/dispositivo para um comando. Esse comando faz o contrrio do anterior, ele envia dados ao comando. Vejamos um exemplo (o resultado ser o mesmo de que cat scriptsLocais.txt):
cat < scriptsLocais.txt

O direcionador | O pipe |, pronuncia-se paipe, tambm chamado de duto, simplesmente envia a sada de um comando para a entrada do prximo comando para continuidade do processamento. Os dados enviados so processados pelo prximo comando, que mostrar o resultado do processamento. Vejamos uns exemplos:
locate html | more ou locate html | less locate find | grep bin/|more

Voc poder usar mais de um comando de redirecionamento <, >, | em um mesmo comando para atingir um melhor resultado. Qual a diferena entre o | e o > ? muito simples, a diferena entre o | e o > que o pipe envolve processamento entre comandos, pois comandos trabalham juntos para atingir um resultado, ou seja, a sada de um comando enviado a entrada do prximo, e o > redireciona a sada de um comando para um arquivo e/ou dispositivo. O comando tee Outro exemplo de direcionamento, o comando tee muito interessante pois enquanto voc v o resultado no monitor, ele j vai gerando o arquivo com a sada vista no monitor, e o comando teve deve ser usado com o pipe |. Vejamos alguns exemplos:
locate html | tee todos_html.txt tar -zxpvf teste-1.0.i386.tar.gz| tee install_teste.log

Exemplo de uso o redirecionadores O modo mais usado de redirecionamento quando vamos criar um log do resultado da sada de um programa ou quando vamos imprimir um arquivo via linha de comando. Acompanhe alguns exemplos:
cat musica.mp3 >/dev/sound, cat arquivo1.txt > /dev/lp0 cat < arquivo1.doc > /dev/lp0 cat arquivo1.txt | tee /dev/lp0 car arquivo1.doc | lpr, make | tee make.log dmesg | lpr, cat /etc/passwd | gless

Particularidades do sistema Linux


O sistema Linux um sistema multiusurio mesmo que ele esteja instalado em um nico computador. Depois de instalado poder ser configurado para ter mais de um IP, voc poder fazer login vrias vezes no sistema, poder fazer ftp e telnet em voc mesmo, poder aprender a fazer invaso em voc mesmo treinando assim suas aptides para hacker etc. Podemos execut-lo remotamente onde o processo pesado feito pelo servidor e nos enviado apenas a tela do sistema, isso til quando usamos micros fracos e servidores parrudos. Podemos at mesmo imprimir remotamente pela Internet em qualquer lugar do mundo e tambm podemos fazer ripagem de CDs via Internet a partir de qualquer lugar do mundo. Depois que voc instalou o Linux e a mquina for reinicializada, voc dever escolher um sistema operacional, acho que no seu caso voc ter o Windows (95/me/xp/2000) e o Linux. Que permite que voc escolha esse sistema operacional ou o LILO Linux Loader ou o GRUB Grand Unified Boot Loader que so responsveis pelo carregamento dos sistemas operacionais.

23

Treinamento Linux Administrao, Redes e Servios

:: GRUB Permite a escolha do sistema operacional.

:: LILO Um dos mais populares, tambm permite a escolha do sistema.

Se voc no escolher um sistema operacional que vai usar o GRUB/LILO automaticamente poder carregar o Linux ou o Windows dependendo de como voc o configurou. Antes de voc entrar no sistema, acho que voc j percebeu que aparece uma serie de informaes sobre o que o Linux est fazendo. Algumas coisas do OK, outra PASSOU e outras FALHOU, no se preocupe com isso, pois apenas o reconhecimento de hardware que ele est fazendo em seu computador. Por exemplo se sua placa de rede estiver funcionado e voc configurou para ser levantada junto com a inicializao, o Linux testa isso e poder aparecer OK ou FALHOU. Se voc quiser dar uma olhada nessas informaes mais tarde use o comando dmesg.
DICA: Em algumas distribuies existe um mecanismo de segurana que te alerta sobre eventuais tentativas de entrada no sistema por intrusos usando seu login, faa um teste: entre com seu login e digite a senha errada, na segunda vez entre com a senha correta no sistema. Na penltima linha das mensagens aparece uma mensagem "1 failure since last login", o que quer dizer "1 falha desde o ltimo login". Isto significa que algum tentou entrar 1 vez com seu nome e senha no sistema, sem sucesso.

Diretrios No sistema Linux os diretrio so identificados por uma / e no por uma \ como acontece no MS-DOS. Para entrar no diretrio /adilson do diretrio home digite o comando cd /home/adilson. Os comandos so case-sensitive, letras maisculas so diferentes de letras minsculas minsculas. Como o sistema Linux oferece recursos multiusurio pois ele nasceu sobre o TCP/IP, como a Internet, ento voc poder logar no seu sistema de qualquer parte do mundo, desde claro que isso esteja configurado.

24

Global Sul Informtica

Terminais Virtuais Os Terminais Virtuais simulam outro computador, com login e tudo para isso use a combinao de tecla CONTROL+ALT+Fn, onde n uma das 12 teclas de funo. Caso voc j tenha aberto vrios terminais poder fazer assim ATL+ e ATL+ para mudar rapidamente de um para outro. Reinicializaes Para reiniciar o computador, voc pode pressionar CTRL+ALT+DEL (como usurio root) ou digitar o comando shutdown -r now. Porm possvel combinar essa combinao para fazer outras aes no sistema Linux. Para sair do modo grfico e voltar ao modo texto ou voltar ao login do modo grfico voc poder combinar CONTROL+ALT+ BACKSPACE. Porm se voc tiver uma torre ATX dessas modernas, seu computador ser desligado sem d em menos de 1 segundo. Ou ento usar a seqncia normal para desligar o computador pelo modo grfico ou digitar shutdown -h now e esperar o aparecimento da mensagem Power Down agora mete o dedo no boto desligar do seu computador.

Como pedir ajuda no mundo Linux?


Bom, h 4 (quatro) maneiras de se pedir ajuda. Quer saber? 1. A primeira voc mesmo... faa as perguntas e se vire, corra atrs, RTFM, ou seja, leia as pginas de manual. 2. A segunda perguntar para seu amigo do lado ou o vizinho. :) 3. A terceira a Internet com suas listas, chats, forums, how-tos e minis, receitas de bolo etc. 4. A quarta a que eu lhe aconselho pois voc est lendo esse livro que foi feito pensando em voc (posso te bajular um pouquinho n?) pedir ajuda ao sistema. Nesse ponto o sistema Linux bem nosso amigo sabia? , tem ajuda para tudo, para comandos, para configurao, para modo texto e modo grfico, tem tutoriais e mais um monte de coisas legais que voc poder usar. Porm, claro, voc somente ter isso se voc instalar esses recursos, com pginas de manuais, tutoriais, how-tos etc. Pginas de manual (man pages) No sistema Linux, quase todos os comando tem sua pgina de manual, o que um averdadeira mo na roda pois muito rpido o aprendizado. Tambm possvel redirecionar a sida da ajuda de um comando para um determinado arquivo, para que mais tarde possamos ler com mais calma ou quem sabe fazer o nosso prprio resumo de comandos. Exemplo: man cat | colcrt > cat.txt, criamos o arquivo formato texto chamado cat.txt; mais tarde, poderemos format-lo do nosso jeito. Esse arquivo texto cont a sada do comando man cat, til se ns estivermos fazendo uma apostila ou coisa parecida. Exemplo de ajuda com o comando man cp.
CP(1) NOME

cp - copia arquivos e diretrios

SINOPSE cp [opes] arquivo caminho cp [opes] arquivo... diretrio Opes POSIX: [-fipRr] Opes GNU (forma reduzida): [-abdfilprsuvxPR] [-S SUFFIX] [-V {num-bered, existing,simple}][sparse=WHEN] [help] [Version] DESCRIO cp copia arquivos (ou, opcionalmente diretrios). Voc pode copiar uma arquivo para um destino fornecido, ou copiar arbitrariamente muitos arquivos para um diretrio destino. Se o ltimo argumento de nome um diretrio existente, cp copia cada arquivo origem para aquele diretrio (com o mesmo nome). De outraforma, se somente dois arquivos so fornecidos, ele copia o primeiro para o segundo. um erro se o ltimo argumento no for um diretrio e mais que dois argumentos serem fornecidos. ...

Para que voc entenda melhor essa idia do comando man voc poder observar que o diretrio /usr/man diretrio com a documentao do sistema (normalmente em ingls) e a documentao de praticamente todas as distribuies est organizada dessa forma, em subdiretrios da seguinte forma:

25

Treinamento Linux Administrao, Redes e Servios

man1: man2: man3: man4: man5: man6: man7: man8: man9: manl: mann:

Comandos de usurio Chamadas do sistema Chamadas de bibliotecas Dispositivos Formatos de arquivo Jogos Diversos Comandos do sistema Chamadas internas do kernel Comandos SQL Comandos Tcl/Tk

Para visualizar o contedo da documentao pode-se usar os comandos man como ns j vimos ou o comando groff. Por exemplo, para obter informaes sobre o comando ls, usamos o comando man ls ou ento o comando groff -Tascii -man /usr/man/man1/ls.1 | less. Outros lugares onde voc encontra os arquivos de ajuda do sistema :
/usr/man/pt_BR: o diretrio com a documentao em portugus do Brasil. /usr/man/es: o Diretrio com a documentao em espanhol. /usr/man/fr_FR: o Diretrio com a documentao em francs.

Pginas de informao (info pages) Esse mtodo semelhante ao das pginas de manual, mas usada navegao entre as pginas de informaes. Use ENTER sobre uma palavra em destaque, para que a info page carregar a ajuda necessria. A info page til quando sabemos o nome do comando e queremos saber para o que ele serve. Ajuda on-line do sistema No sistema Linux, quando ns precisamos de ajuda para um determinado comando, fazemos mais ou menos com no MS-DOS, ou seja, digitamos o comando com um parmetro para ajuda, como exemplo cat --help ou cat -h, isso vai trazer a ajuda do comando cat. Mas fique atento pois nem todos os comandos lhe fornecero ajuda atravs desse mtodo. Voc s vai saber quais so no decorrer do uso do sistema. Documentos HOWTOs do sistema Os documentos how-tos so os documentos em formato texto, html, etc, que tem salvado muita gente de dores de cabea porque que nos ensinam como fazer determinada tarefa ou como um programa funciona. Eles fornecem explicaes detalhadas desde como usar o o interpretador de comandos at sobre como funciona o modem winmodem (o que ultimamente tem sido muito procurado) ou como montar um servidor Internet/Intranet completo. Os HOWTOs podem ser encontrados no diretrio do projeto de documentao do GNU/Linux (LDP) em ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/ ou traduzidos para o Portugus pelo LDP-BR em http://ldp-br.conectiva.com.br//comofazer. Caso tenha optado por instalar o pacote de HOWTO's de sua distribuio Linux o que j vem na instalao quando voc os marca podem ser encontrados em: /usr/doc/how-to. Documentao dos programas A documetao de programas, eu acho que nem seria necessrio lembrar, n gente? So os manuais em formato .txt, .doc, .rtf, .htm e .pdf os quais ningum l e depois ficam que nem uns loucos (no bom sentido, claro) perguntando para meio mundo como que faz isso, como que faz aquilo etc. FAQs do sistema A FAQ so as perguntas e respostas mais freqentes e que so fceis de serem entendidas. uma boa idia sempre que voc puder dar uma olha nas FAQs (desde que voc as tenha instalado). Por exemplo: Como fao para formatar um disquete? Isso seria uma FAQ ou seria um How-to? Bom, quem perguntou primeiro fui, ento se vire? :-) Ajuda pela internet Agora vem o lado mais maravilhoso, ou o que uma amiga minha que tambm fera em Linux costuma falar: O lado sugo da fora!. Bom, opinies a parte, na Internet, se voc quiser disciplinas e coisa sria para aprender tem um monte de gente disposta a lhe ensinar e de grtis. Voc tem os chats, lista de discusso, news group, enfim um monte de lugar. Experimente usar o www.google.com.br, e digite ali uma pequena dvida e voc ver centenas de links sobre aquele assunto. No tem como no aprender. Tambm com mais de 10.000 (dez) mil

26

Global Sul Informtica

servidores espalhados pelo mundo at eu. Quer algumas listas? OK! linux-br@unicamp.br, dicasl@unicamp.br etc . V com calma na hora de assinar uma lista seno voc vai boa parte de seu dia lendo a lista ao invs de us-la de um modo mais eficiente. Voc tambm encontrar vasto material para pesquisa e estudos em:
Antispam BSD LinuxIT Bytes e Artes CIPSGA ComLinux Comunidade Linux DBTH Debian-CE Dicas-L DicasLinux Elevador ForumNordeste FreeCode BR Freshmeat GentooBr Gildot GuaraLinux Guia fo hardware GULSAP IGLU Linux na Rede Linux Single Linux Today Linux Weekly News Linux World LinuxAyuda LinuxBH LinuxBSD LinuxClube LinuxDicas LinuxFacil LinuxHard LinuxInfo LinuxPlace LinuxRapido LinuxSecurity OLinux OpenCode PontoBR Portal do Linux Slashdot UnderLinux VivaOLinux www.antispam.org.br http://bsd.linuxit.com.br www.byteseartes.com.br www.cipsga.org.br www.comlinux.com.br www.comunidadelinux.com.br http://dbth.net www.debian-ce.org www.dicas-l.unicamp.br www.dicaslinux.com.br www.elevador.org www.forumnordeste.com.br http://freecode.linuxsecurity.com.br http://freshmeat.net www.gentoobr.org http://gildot.org www.guaralinux.com.br www.guiadohardware.net.br www.gulsap.kit.net www.linuxiglu.cjb.net www.linuxnarede.org http://linux.novatrento.net http://linuxtoday.com http://lwn.net http://linuxworld.com www.linuxayuda.org www.linuxbh.org www.linuxbsd.com.br www.linuxclube.com www.linuxdicas.com.br www.linuxfacil.hpg.com.br http://linuxhard.webcindario.com www.linuxinfo.com.br www.linuxplace.com.br www.linuxrapido.linuxdicas.com.br www.linuxsecurity.com.br www.olinux.com.br www.opencode.com.br http://pontobr.org www.portaldolinux.org http://slashdot.org www.underlinux.com.br www.vivaolinux.com.br

DICA: OK! Agora voc no pode falar que eu no lhe ajudei, n? Voc tambm poder consultar o The Linux Manual de autoria do Hugo Cisneiros e o Guia Foca GNU/Linux de autoria do Gleydson Mazioli da Silva em www.cipsga.org.br e tambm poder acessar o rau-tu da Unicamp em www.rautu.unicamp.br/linux/, aqui tambm voc aprender um monte de coisas sobre o sistema Linux e por ltimo eu lhe indico www.guiadohardware.net do Carlos morimoto, l voc encontrar inmeras dicas para sair fera no sistema Linux.

Como pedir ajuda pelo modo grfico? Do mesmo modo que voc faz pelo modo texto tambm poder fazer pelo modo grfico basta abrir um terminal e digitar os comandos l dentro ou ento se voc precisar ler um manual em pdf ou postscript poder usar o xpdf para ler nesse formato ou o konqueror que ao mesmo tempo navegador de disco, navegador de Intermet, e tambm leitor de arquivos postcript e pdf. Dependendo de sua distribuio voc poder encontrar um pequeno utilitrio chamado xman, que nada mais do que um leitor de man pages pginas de manual no modo grfico. Tambm pela Internet voc poder encontrar outros utilitrios feitos para esse fim, mas a voc vai ter que procurar. Caso voc encontre um legal, mande-me um email, ou ento divulgue-o nas listas ou fruns.

27

Treinamento Linux Administrao, Redes e Servios

O mtodo clssico de pedir ajuda do sistema Windows atravs do pressionamento da tecla [F1] tambm existe aqui no Linux, porm no so todos os programas que tm ajuda lembre-se disso. No ambiente KDE quando voc pressiona a tecla [F1] ele abrir uma tela padro de ajuda, por ela que voc pedir ajuda para todo o sistema. O konqueror do ambiente KDE tem mil e uma utilidades permite abrir uma srie de formatos de arquivos e tem suporte parea vrios tipos de plug-ins. O KDE possui um timo sistema de ajuda, semelhante ao do Windows, mas para us-lo por completo voc precisar instalar a documenta dos programas, as pginas de manual etc. Pois o que ele faz ler tudo isso para dentro do sistema de ajuda dele. Experimente abri um aplicativo do KDE e depois pressiona F1 ou use o menu para pedir ajuda. Voc vai perceber que ele no est todo em portugus por o sistema de ajuda de alguns programas est en Ingls, entendeu? O Konqueror o principal gerenciador de arquivos do Linux ele pode ainda ser usado como leitor de man-pages e pginas info. Para isso basta digitar na barra de localizao do Konqueror a palavrachave man: seguida do nome da pgina de manual que voc quer buscar. O Konqueror ir mostrando as opes disponveis medida que voc for digitando o nome. De maneira semelhante voc pode visualizar pginas info dentro do Konqueror. Apenas troque a palavra-chave por info: e informe a pgina info que deseja. A vantagem de utilizar o Konqueror para visualizar essas pginas que ele apresenta as pginas em cores e facilita a navegao entre elas. O konqueror tambm poder fazer busca para voc usando mecanismos de ferramentas de busca na Internet. As principais palavras-chave que j vm junto com o Konqueror so:
1. 2. 3. 4. 5. av: Para o AltaVista gg / google: Para o Google dj / deja: Para o Deja lycos / ly: Para o Lycos seek: Para o Go.com

Para isso basta digitar por exemplo: av:linux tutoriais quando voc estiver conectado a Internet que ser feita uma busca por linux tutoriais usando o mecanismo do AltaVista. Criao de um banco de dados para obter ajuda do sistema Como j estamos sabendo, o sistema Linux bastante verstil quando quer nos ajudar, mas ns tambm precisamos fazer a nossa parte, e isso quer dizer que, para alguns casos, deveremos criar um banco de dados para que o sistema Linux faa pesquisa nesse banco de dados a fim de nos fornecer as informaes de que precisamos. O primeiro comando que deveremos usar depois que nossa instalao de um sistema Linux est instalado o comando updatedb. Esse comando atualiza um banco de dados que contm o local e o nome de todos os arquivos em seu sistema. Esse comando ainda poder criar o banco de dados dos seus arquivos locais e/ou remotos, porm tome cuidado se voc for us-lo em rede com compartilhamentos, pois o seu banco de dados poder ficar gigantesco e nem sempre ( raro) voc precisar ter esse gigantesco banco de dados. Lembre-se tambm de que a sua partio Windows local tambm no interessante estar cadastrada em seu banco de dados, pois raramente voc precisar via Linux encontrar um arquivo na partio do seus Windows local. Caso isso venha a ocorrer, nada melhor que o bom e velho comando find para ajud-lo. Voc dever usar o comando df para saber quais so os pontos de montagem ativos no sistema e saber qual dever entrar ou no em seu banco de dados. Uso do comando df sem argumentos e com os pontos de montagem:
# df Filesystem /dev/hda5 /dev/hda7 /dev/hda8 /dev/hda1

1k-blocks 1510032 248895 37763 7495052 20472816

Used 441328 991996 198282 1522064 4957632

Available 31% 16% 5592252 15515184

Use% Mounted on / /home 22% /usr 25% /mnt/winxp

O que percebemos aqui que os pontos de montagem: /mnt/floppy, /mnt/cdrom, /mnt/winxp etc, pela lgica, no devem ser includos nesse banco de dados. Ento, como que poderemos evitar isso? Simples, use assim:

28

Global Sul Informtica

# updatedb --prunepaths=/mnt/floppy,/mnt/cdrom

Mas isso se esses pontos de montagem esto montados, caso contrrio no ser preciso. O argumento --prunepaths usado para os diretrios que no devero ser includos. O padro /tmp, /usr/tmp, /var/tmp. J o argumento --netpaths usado para os diretrios de rede (NFS, AFS, RFS etc) que devero ser includos. E, por final, o argumento --output=dbfile refere-se ao arquivo de base de dados que voc quer construir como arquivo alternativo. O padro usado /usr/local/var/locatedb. Caso voc queira personalizar um pouco esse mtodo de pesquisa poder alterar o arquivo /etc/ updatedb.conf que responsvel por algumas configyraes. Veja a listagem do contedo desse arquivo:
# Onde comear a base de dados. FROM="/" # Quais diretrios sero excluidos. # O /home e /root so automaticamente exluidos. PRUNEPATHS="/proc,/tmp,/var/tmp,/usr/tmp,/net,/afs,/mnt" # Nivel de segurana: # 0 Checagem de segurana desativado, # assim a pesquisa mais rpioda. # 1 Checagem de segurana ativado. Esse o padro. SECURITY="1" # Modo verbose ativado (YES) ou desativado (NO). VERBOSE="YES" # Local que ser gavado o banco de dados. DATABASE="/var/lib/slocate/slocate.db" # Quais sistemas de arquivos sero escluidos da pesquisa? PRUNEFS="nfs,smbfs,ncpfs,proc,devpts,supermount, vfat,iso9660,udf,usbdevfs,devfs"

Bom, depois de tudo isso, agora voc poder usar o comando: locate para encontrar os arquivos sobre os quais deseja obter informaes (caminho, documentos, manuais e compartilhamento). Veja o exemplo de localizao da ocorrncia do comando locate:
# locate locate /usr/bin/locate /usr/bin/slocate /usr/share/doc/HTML/en/kcontrol/kcmlocate.docbook /usr/share/man/pt_BR/man1/locate.1.gz /usr/share/man/pt_BR/man1/slocate.1.gz /usr/share/man/man1/locate.1.gz /usr/share/man/man1/slocate.1.gz /usr/share/man/man5/relocated.5.gz /usr/share/man/es/man5/locatedb.5.gz /usr/share/gnome/help/gsearchtool/C/figures/locate.png /usr/share/gnome/help/gsearchtool/C/locate.html /usr/share/gnome/help/gsearchtool/es/figures/locate.png /usr/share/gnome/help/gsearchtool/es/locate.html /usr/share/gnome/help/gsearchtool/it/figures/locate.png /usr/share/gnome/help/gsearchtool/it/locate.html /etc/cron.daily/slocate /etc/postfix/relocated /var/lib/slocate /var/lib/slocate/slocate.db /var/lib/slocate/slocate.db.tmp /var/www/default/manual/mod/mod_php4/function.imagecolorallocate.html /var/www/default/manual/mod/mod_php4/function.imagecolordeallocate.html

A grande vantagem que a pesquisa no feita em seu disco rgido, e sim no arquivo de base de dados, o que extremamente veloz. Ok! No entanto, isso no tudo. Ns j sabemos que o comando man permite acessar ao manuais do sistema, acabamos de aprender a importncia da dupla updatedb e locate, porm se no soubermos o nome certo de um comando para pedirmos ajuda estaremos com problemas.

29

Treinamento Linux Administrao, Redes e Servios

Ento, para isso vamos aprender mais trs comandos:


1. makewhatis: Cria um arquivo de dado para ser usado pelo whatis. 2. apropos: Pesquisa base de dados por descrio de funo. 3. whatis: Pesquisa base de dados.

Suponhamos a seguinte situao, na qual voc quer saber quais so os comando/programas que executam a tarefa de compilao em seu sistema. Proceda ento da seguinte maneira:
# makewhatis # apropos compiler cccp cccp [cpp] compile_et cpp cpp [cccp] g++ [gcc] gcc tic

(1) - The GNU C-Compatible Compiler Preprocessor (1) - The GNU C-Compatible Compiler Preprocessor (1) - error table compiler (1) - The GNU C-Compatible Compiler Preprocessor (1) - The GNU C-Compatible Compiler Preprocessor (1) - GNU project C and C++ Compiler (gcc - 2.95) (1) - GNU project C and C++ Compiler (gcc - 2.95) (1m) - the terminfo entry-description compiler

Analizando o resultado acima: o comando makewhatis criou a base de dados (semelhante ao comando man -k) e depois usamos o comando apropos compiler para saber quais so, ento os comandos/programas que executam a tarefa de compilao. Veja outro exemplo:
# apropos tcl catclose [catopen] (3)- open/close a message catalog setclock (8)- sets the hardware clock from the system clock tclsh (1)- Simple shell containing Tcl interpreter

Experimente agora usar o comando: apropos copy e voc receber uma lista com vrios comandos/programas que trabalham com cpias em seu sistema; compare com o comando whatis cp. O primeiro comando exibe uma lista enorme, e o segundo simplesmente o informar o que faz o comando cp. Compare tambm o resultado dos comandos: apropos gimp e whatis gimp. Se preferir, crie dois arquivos textos (gimp-apropos.txt e gimp-whatis.txt) e depois rode o comando diff sobre eles (diff gimp-apropos.txt gimp-whatis.txt) para comparar quais so as diferenas entre esses arquivos. Para finalizar, vamos aprender mais dois comandos muito teis:
1. whereis: Encontra arquivos binrios, fonte e man page de um comando. 2. file: Informa o tipo de um arquivo.

Vejamos os seguintes exemplo:


# whereis cp cp: /bin/cp /usr/share/man/man1/cp.1.gz # file /bin/cp /bin/cp: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped

No primeiro exemplo com o comando whereis cp, ns encontramos o executvel (binrio) cp e os arquivos de pginas de manual (man page). No segundo exemplo com comando: file /bin/cp, descobrimos que ele um ELF (executvel padro Linux) e outras informaes. Veja mais um exemplo:
# file /var/www/icons/world2.png /var/www/icons/world2.png: PNG image data, 20 x 22, 4-bit colormap, non-interlaced

Aqui descobrimos que o arquivo world2.png uma imagem .png verdadeira, em tamanho de 20 x 22 pixels que usa 4 bit de cor. Bom, agora voc no tem mais desculpas, meu querido amigo leitor; deixe essa timidez de lado e saia pelo sistema afora (ou seria adentro?) pedindo ajuda para aprender mais.

30

Global Sul Informtica

Semelhanas do Windows com o Linux


Para aqueles usurios que esto acostumados com o ambiente Windows e sempre vem a mesma cara desse ambiente e quando, no mximo, colocam alguns temas para melhorar a aparncia do seu desktop, vo se sentir em casa quando estiverem usando o modo grfico do Linux com um milho de vantagens. Imagine se o prompt (modo console) do Linux muito mais poderoso, quem diria do ambiente grfico, que na verdade existem vrios ambientes para todos os tipos e gostos de usurios e tambm para micros menos potentes e micros parrudos. Ele tem interface grfica que roda at em AT-386 com 4 mb de RAM, mole? Mas h interfaces que voc vai precisar de um computador com bastante memria. :: A rea de trabalho do Windows.

:: A rea de trabalho do Linux (Gnome)

31

Treinamento Linux Administrao, Redes e Servios

Acreditem ou no, meu computador tem 1 GB de RAM e algumas vezes aparece uma mensagem no Windows informado que meu sistema no tem mais recursos e est sem memria, mole? Em contra partida meu outro micro um modesto K6II com 64 mb de RAM nunca faltou memria no Linux com ele e eu uso um monte de coisas, telnet daqui, ftp dali, mp3 acol e o micrinho vai que vai. Mas o que importa que a partir de um 386, voc poder ter o sistema Linux com modo grfico e tudo; agora diga-me se possvel instalar o Windows 98 em um 386 com 4 mb de RAM? Ento, agora voc que comeou a ler este livro j deve estar pensando como deve ser poderoso e gostoso de usar um sistema operacional que nos d tantas possibilidades desse jeito. E isso ainda no tudo. possvel usar o sistema Linux em micros sem disco rgido. Como assim? H distribuies que cabem em apenas alguns disquetes ou em apenas um disquete e isso, s para comear, vem at com modo grfico. Mas calma l, claro que o modo grfico no um presente, porm um modo grfico simples que vai servir para que o usurio possa trabalhar e executar programas simples que esto no disquete. Logo, se o usurio precisar de programas complexos, essas mini distribuies tambm garantem suporte a rede e o usurio ter todo o poder que um micro com o sistema Linux completo pode fazer. Por exemplo, vamos supor que um usurio qualquer precise executar o programa gimp (semelhante ao Adobe PhotoShop, s que gratuito e vem no CD-ROM do sistema) para trabalhar com imagens mas no tem o gimp no disquete, ele poder perfeitamente compartilhar o programa com uma outra mquina conectada em rede e ento executar o gimp. Bom, entre os dois sistemas h muitas semelhanas teis mas quando as vantagens comeam a aparecer o Linux leva vantagem pois ns j sabemos que ele e seus inmeros aplicativos so desenvolvidos para resolver as necessidades dos usurios e no como mais um produto numa prateleira de livraria, entendeu? Quer um bom comeo para saber do que eu estou lhe falando? Voc que usa o ambiente Windows, toda hora est usando o Windows Explorer, o qual tambm sabemos que mudou muito e est bem melhor o seu uso. :: Windows Explorer, gerenciador de arquivos do Windows.

No entanto a partir do momento que voc comear a usar o Linux em modo grfico com a interface KDE pode exemplo, vai perceber que a filosofia bsica de se trabalhar com janelas a mesma, porm o Linux apresenta algumas vantagens como por exemplo um simples papel parede ele no precisa obrigatoriamente se copiado para seu computador, voc pode usar um papel de parede remoto o qual pode estar localizado na sua rede ou na Internet. O gerenciador de arquivos tem 1001 (mil e uma) utilidades. Com ele podemos gerenciar arquivos locais e remotos, podemos fazer ftp, podemos ler arquivos html e XML, navegar na Internet, ouvir msicas, assistir filmes e copiar at CDs e DVDs. Com o Konqueror podemos trabalhar com nossas pastas com a filosofia de abas, o que torna-se muito mais produtivos quando precisamos navegar por vrias pastas para consultas de arquivos. Temos tambm um mini shell nele onde podemos digitar nossos comandos tendo como acompanhamento a visualizao das pastas acima. E ainda no caso do KDE podemo configur-lo para trabalhar como a filosofia do Mac OS com a mutante de menu no topo da tela.

32

Global Sul Informtica

:: Konqueror (KDE), um dos melhores utilitrios do sistema.

Os gerenciadores de janelas do Linux


A ambiente grfico no sistema Linux, chamado de X ou X11, e/ou X Window. Pelo amor de Deus, esse Window a porque trabalha-se com janelas, viu? No v me falar: Ah! Ento igual ao Windows. Por favor no ofenda o Linux de jeito, ele no lhe fez nada, ali ele poder fazer tudo para voc. Ento o que esse tal de X Window? Simples, ele um sistema grfico de janelas que roda em uma grande faixa de computadores, mquinas grficas e diferentes tipos de mquinas e plataformas Unix e entenda aqui, Linux. Ele pode tanto ser executado em mquinas locais como remotas atravs de conexo em rede. Uma coisa muito interessante de ser feita e que fica muito legal que tambm voc poder impressionar os seus amigos a seguinte: Executar o modo grfico usando dois monitores simultaneamente, assim o seu Firefox poder ficar no monitor direito e os seus trabalhos ficaro no monitor esquerdo, e voc passa de um para o outro simplesmente arrastando o mouse para o canto da tela. O Windows no faz isso, pois ele um gerenciador local de janelas e nem mesmo servidor de modo grfico, j comea por a. At o modo grfico do Linux j nasceu como servidor. AfterStep Baseado no FVWM, o Afterstep junta caractersticas de vrios gerenciadores, como, por exemplo, a rea dock do Window Maker, e totalmente configurvel e possui excelentes temas que voc poder baixar livremente da Internet para a sua estao de trabalho. Como o GNOME, possui um monte de temas que, bem escolhidos, podem deix-lo com um visual muito bonito. Caso voc queira a criar temas para o AfterStep veja em www.themes.org e procure por script do AfterStep Tambm um gerenciador muito leve e rpido. O gerenciador de janelas Wiundow Maker teve seu inicio inspirado no Aftaer Step e depois tomou outro rumo para ter sua prpria filosofia de gerenciamento. BlackBox A grande preocupao dos desenvolvedores dessa interface a minimizao do uso dos recursos da mquina, fornecendo assim uma interface simples e rpida, que suporta tambm aplicativos do KDE. Por incrvel que parea, ela gasta menos de 1 mb de memria. extremamente veloz e todos os programas tm um ganho de performance incrvel com esta interface. O Black Box ideal para voc usar em redes com micros no muito potentes, pois como ele leve, todas as aplicaes sero carregadas e execuradas mais rapidamente, alm do mais existem temas muito bonitos para ele que voc pode baixar da Internet e depois s configurar as mquinas e tudo ficar lindo e maravilhoso. Enlightenment Compatvel com o GNOME e com o KDE, este gerenciador possui muitas funcionalidades que agradam aos usurios em geral: configurao de teclas de atalho e de rea de trabalho, ferramenta de dicas, suporte a temas, enfim, ele pode ser totalmente configurvel. O Enlightenment em sua ltima verso tem se mostrado mais gil e mais rpido em seu carregamento alm de inmeros epplets, semelhantes a aplicativos que so executados como cones e que devolve informaes na tela quando clicados. O Enlightenment o gerenciador de janelas mais bonito que existe para o sistema Linux, quando bem escolhido um tema, claro. A criao de temas para o Enlightenment considerada difcil ou trabalhosa

33

Treinamento Linux Administrao, Redes e Servios

por quem cria temas no Window Maker, pois com o Enlightenment voc pode definir tudo e todos os compenente de uma janelas e no o que padro. Gnome GNOME a sigla de "GNU Network Object Model Environment" (em portugus, Ambiente GNU de Modelos de Objeto de Rede). O Gnome um sistema compatvel com muitos gerenciadores de janelas, muito favorvel para os usurios que j se sentem vontade com interfaces grficas. O ambiente possui painis, barra de tarefas e menus que ajudam o usurio a entrar no mundo Linux. Atualmente, o Gnome uma interface que est em grande desenvolvimento. Existe um grande nmero de pessoas trabalhando com ele, construindo novas aplicaes e deixando o seu ambiente cada vez melhor. Alm disso, muitas empresas esto apostando nele por ser de livre distribuio, estvel e possuir uma esttica muito boa. Bom, como podemos ver, muito fcil chegarmos concluso de que com tantas opes de ambientes grficos e para todos os tipos de mquinas e usurios o Linux tem uma enorme vantagem sobre o Windows; questo agora apenas de tempo para que ocorra uma migrao em massa para a plataforma Linux. Window Maker O Window Maker um gerenciador de janelas leve e verstil, com muitas funcionalidades que fazem dele um ambiente de trabalho muito prtico. Sua interface nica, diferente das outras que sero mostradas, mas nem por isso deixa de ser interessante. Por ser um ambiente menos carregado e sem muitos detalhes grficos, existe a possibilidade de que um hardware com menos recursos possa execut-lo sem problemas. Foi desenvolvido por Alfredo Kojima, um brasileiro. o gerenciador de janelas o qual o mais fcil de criar temas, pois tudo feito pelo modo grfico onde voc informa quais so as imagens, cores, texturas, fontes etc. Se voc for criativo, far temas maravilhosos. KDE O gerenciador de janelas KDE (K Desktop Environment) muito poderoso, intuitivo, fcil de utilizar e possui inmeros recursos grficos, funcionalidades e facilidades para o usurio, alm de uma gama de aplicativos escritos para ele. Agora, a tendncia que cresa mais ainda essa gama de aplicativos que est sendo desenvolvida para ele, alm da distribuio do KDE, pelo simples motivo de que a biblioteca na qual se baseia o KDE foi liberada sob a licena GPL, o que permite a livre divulgao do cdigo-fonte. O KDE tabm maravilhoso quando falamos de temas, existem temas espetaculares para ele, verdadeiras obras de arte. Alguns temas deixam o KDE semelhante a um Mac OS X ou Windows XP (argh!!!). Criar temas para o KDE no to simples e fcil como para o Window Maker, mas se voc procurar com calma, poder encontrar na Internet uns How-tos que ensinam como criar temas e voc tambm poder encontrar aplicativos para esse fim. Ultimamente o ambiente KDE junto com o Gnome um dos que mais tem adicionado funcionalidades ao asistema, e a tendncia que ele fique cada vez mais poderoro e fcil de ser usado em desktops. A cada verso nova dele, ele nos supreende cada vez mais. Exeprimente usar o konqueror para navegar localmente e tambm na Internet e voc vai descobrir umas funcionalidades e acho que voc no vai querer usar outro navegador. XFCE Projetada tanto para sistemas Linux como para sistemas UNIX, esta interface baseada em GTK, uma ferramenta de programao que muito utilizada atualmente e adotada em vrias aplicaes. O XFCE possui vrias ferramentas para a configurao do sistema, como, por exemplo, o XFMouse para a configurao do mouse e o XFGNOME, que consiste no mdulo para a configurao da interao com o GNOME. O XFCE em principio simples pois ele implementa uma barra de tarefas bem semelhante ao sistema OS/2 da IBM de uns anos atrs e essa barra tambm pode ser chamada de dentro de outro gerenciador de janelas. Mas alm de ser uma simples barra de tarefas, se voc souber usar vai descobri que essa barr muito interessante e mais ainda quando voc descobrir que o XFCE pode tambm ser um gerenciador de janelas super leve e rpido que pode substituir os outros gerenciadores os quais so tambm leves mas no apresentam um visual agradvel ao nossos olhos. Essa idia voc poder usar quando estiver trabalhando com VNC, ao invs de usar o fvwm ou mwm que tal usar o XFCE. Outros gerenciadores Se voc fizer uma pesquisa na Internet vai perceber que existe muito mais gerenciadores de janelas para o sistema Linux e a cada dia algum desenvolve mais mesmo que apenas para projetos acadmicos. Se voc instalar todos os gerenciadores que vem no repositrio do Fedora vai encontrar uns dez.

34

Global Sul Informtica

Existem outros como o MacWM que bem semelhante ao System 7.5 da Apples e tem atmbm o MacOS que semelhante e muito bonito pois se parece como Jaguar, sistema dos Mac novos da Apple. Tem tambm um gerenciador que se parece com o gerenciador de janelas dos micros Amiga. Entre os demais ns temos: fvwm 1, 2 e fvwm95, mwm, qvwm, flubox, blackbox, lite step, amigawm, etc. Lembre-se que alguns gerenciadores esto no formato rpm mas outros voc precisar compilar e tambm ter suas bibliotecas atualizadas. Gerenciadores abertos simultaneamente possvel abrir duas interfaces grficas diferentes ao mesmo tempo, apenas combine CONTROL+ALT+F2 e completando com o usurio e a senha requeridos. Depois disso, basta digitar o seguinte na linha de comando:
<nome_da_interface> -- :1

Onde <nome_da_interface> a linha de inicializao do ambiente grfico e -- :1 um display livre que poder ser usado. Por exemplo, vamos supor que voc j esteja com o ambiente KDE aberto e deseja inicializar o Window Maker. Basta, ento, digitar: startx -- :1, que ir abrir o Window Maker como segundo ambiente. Lembre-se de que o KDE continua aberto e para acess-lo basta combinar CONTROL+ALT+F7. Exemplo:
# kde -- :1 # gnome -- :2 # startx -- :1 --> Carrega o ambiente KDE no Display 1. --> Carrega o ambiente Gnome no Display 2. --> Carrega a interface grfica que estiver em .xinitrc.

DICA: Dentro do arquivo .xinitrc, antes do carregamento do ambiente grfico, um comando por linha seguido de & far com que o comando/programa abr automaticamente dentro do ambiente grfico na hora do carregamento.

Ento, se voc quer abrir um terminal e depois o gimp, observe o exemplo abaixo:
# Arquivo .xinitrc #(depois s digitar startx para carregar o WindowMaker) exec xterm & exec gimp & exec wmaker

O que ns chamamos de servidor X o programa que controla a exibio dos grficos na tela, mouse e teclado. Ele se comunica com os programas cliente atravs de diversos mtodos de comunicao. E o gerenciador de Janelas Window Manager o programa que controla a aparncia da aplicao. Os gerenciadores de janelas so programas que atuam entre o servidor X e a aplicao. Voc pode alternar de um gerenciador para outro sem fechar seus aplicativos.

Semelhanas de aplicativos nativos


Assim como o Windows tem o seus programas o Linux tambm tem os seus programas, veja a relao deles aqui, comeando pelo Windows:

Windows
Agente de sistema Bate-papo Bloco de nota Calculadora Internet Explorer Mixer

Linux
cron, kron kopete, gaim, kicq, gicq kwrite, kate, kedit, gedit kcal, xcalc, gnome-calculator konqueror, firefox, galeon aumix, kmix, gmix

35

Treinamento Linux Administrao, Redes e Servios

Outlook Painel de controle Paint Telnet, ftp Windows Explorer Windows Media Player MS Office PhotoShop

kmail, mutt, qmail, exim, pine gnome-controlcenter, kcontrol kpaint, kvio, gpaint ktelnet, telnet, ftp, tftp, wget konqueror, gmc, mc, nautilus xine, mplayer, xmmsx, kaffeine StarOffice, OpenOffice, KOffice, GnomeOffice

gimp

Atalhos links simblicos


Nos sistemas Unixes/Linux, existe um tipo de arquivo que no existe no MS-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 aos atalhos do Windows. Exemplo de links simblicos: /usr/X11, que redireciona para /usr/X11R6; /dev/modem, que redireciona para /dev/cua0 ou /dev/cua1 ou /dev/ttyS1 ou /dev/ttyS2. Para criarmos um link simblico, tambm conhecido como soft link, usaremos o comando ln, o que permite a criao de ligaes entre arquivos: hard links e soft links. Um Exemplo para criar um link entre a porta serial e o modem seria o comando ln -s /dev/ttyS1 /dev/modem. Exemplo para criar um link chamado TEMA que o levar no diretrio de temas do Window Maker quando voc usar o comando cd TEMA.
# ln -s /root/GNUstep/Library/Windomaker/Themes /bin/TEMA

Os links simblicos so importantes principalmente na hora de compilar o kernel do sistema, isso voc vai aprender quando estiver o captulo de compilao do kernel.

Processos e servios em segundo plano


Quando voc executa um comando ou aplicativo qualquer, ele executados em alguma parte da memria que no momento no nos interessa. O que importa aqui que o sistema Linux cria um identificador para aquele comando ou programa que est em execuo e sendo assim cada comando ou programa tem um identificador nico e a vantagem disso que o kernel do sistema precisa disso para execut-lo no seu processador. Outra vantagem que, sabendo qual o identificador do processo de um comando ou programa, caso esse venha a ficar instvel e/ou travar, sim alguns programas travam no sistema Linux MAS no o sistema Linux, entendeu? Ento se um programa travar, ns poderemos mat-lo (quanta violncia, no?) se soubermos qual o o seu processo (daemon) atravs do comando kill -9 <PID_do_programa>, onde o PID Process Identifier, ou seja, o cdigo numrico que identifica um processo qualquer. No Windows NT, 2000 e XP podemos acessar nossos processos com a combinao CONTROL+ALT+DEL e v-los na aba Processos. O que segundo plano? No sistema Linux existe o conceito de que podemos colocar um processo demorado executando em segundo plano e continuar nosso trabalho sem ter que ficar esperando que o processo termine. Que tal uma enorme fila de impresso, hein? Como colocar o processo em segundo e primeiro planos? Colocar o processo em segundo plano significa que o kernel ir executar esse processo sem que haja a interveno direta do usurio; por exemplo, uma compactao demorada pode ser colocada em segundo plano para finalizar sem ficar ocupando um terminal. O processo da compactao desvinculado do terminal, deixando-o livre para executar outros comandos. Isso muito til quando estamos usando apenas uma tty (modo console) ou apenas um terminal. Ao final da compactao, a mensagem de trmino de processo exibida no terminal, indicando que o processo terminou. Veja um pequeno exemplo:

36

Global Sul Informtica

# updatedb & [1] 5852 # jobs [1]+ Running # jobs [1]+ Done updatedb & updatedb

No exemplo anterior, o comando updatedb & foi executado, mas ele est rodando em segundo plano o qual ns podemos constatar isso com o comando jobs, que informa quantos processos esto sendo executado (Running) em segundo plano e qual o seu PID, depois de um certo tempo, o comando jobs foi executado e podemos perceber o processo terminou (Done). Voc percebeu que para colocar um processo em segundo plano basta acrescentar o smbolo & ao final da linha do comando que deseja executar em segundo plano. Caso voc queira uma relao dos processo em sua mquina, use o comando ps que fornece uma imagem dos processos atuais. Caso se deseje uma atualizao repetitiva da situao, deve-se usar o comando top. Esta pgina de manual documenta a verso baseada no sistema de arquivos /proc do comando ps. Veja um pequeno exemplo:
# ps a PID TTY 5832 pts/2 5847 pts/2 5848 pts/2 5977 pts/2 STAT S S S R TIME 0:00 0:00 0:00 0:00 COMMAND -bash su bash ps a

A combinao CONTROL+Z leva um processo para o segundo plano e a combinao CONTROL+C, de dentro de um terminal mata um processo. Experimente abrir um terminal e executar o Gimp, voc vai perceber que no mais possvel usar o terminal pois o Gimp foi executado a partir dele, agora faa um CONTROL+C e o Gimp ser encerrado; viu nada de CONTROL+ ALT+ DELETE, certo?
DICA: Voc poder visualizar melhor os processos em sua mquina com os comandos ps, pstree, top, ktop, gtop, kpm, gnome-system-monitor e outros que voc poder adquirir pela Internet. A vantagem de voc visualisar um processo pelo modo grfico que muito mais simples voc interagir como os processos como: parar, elevar e at mesmo matar. Em algumas distribuies, existe um pequeno utilitrio chamado de xkill que nada mais do um programa que quando voc o executa e depois clica sobre a janela de um outro programa, ele simplesmente mata o programa sem d.

Outros comandos relacionados aos processos so fg (ForeGround) primeiro plano, que eleva um processo para o primeiro plano, e o bg (BackGround) segundo plano, que leva um processo para o segundo plano. Exemplos:
# fg gimp # bg gimp

Uma outra coisa interessante que o shell nos permite a pausa em um comando atravs da tecla SCROLL LOCK. Experimente usar o comando ls / -R, o qual ir listar recursivamente todos os arquivos de seu sistema; assim que voc o fizer, pressione a tecla SCROLL LOCK e automaticamente o shell interromper (pausa) temporariamente o comando. Para voltar, pressione novamente a tecla. Como automatizar processos? Para automatizar processos muito simples voc poder adicion-los no seu arquivo /etc/rc.d/rc ou /etc/rc.d/rc.local ou /etc/rc.d/rc.sysinit onde cada um servir para um proposito. O mais comum o primeiro que levanta os processos/scripts na inicializao. O segundo tem a finalidade de mostrar o logotipo em modo texto do pingim do Linux. O terceiro contem io caminho e funes para processos/scripts do sistema. Os processos de nveis de execuo voc poder controlar usando o ksysv. possvel definir processos para todos os 6 (seis) nveis (runlevel). Voc tambm poder usar o utilitrio ntsysv para informar qual processo (daemon) quer que seja inicializado com o sistema na prxima vez. Exemplo: gpm (mouse), samba (Servidor samba), httpd

37

Treinamento Linux Administrao, Redes e Servios

(Servidor web) etc. Tambm poder usar o ksysv conforme j vimos, que do ambiente KDE que muito interessante pois podemos habilitar/desabilitar ois processos que queremos para cada nivel de execuo (runlevel) do sistema. Para saber em qual runlevel voc est trabalhando digite o comando runlevel e para gerenciar poderemos usar o comando chkconfig.

38

Global Sul Informtica

Anotaes:

39

Treinamento Linux Administrao, Redes e Servios

Anotaes:

40

Global Sul Informtica

Captulo 2

Filosofia Linux
Bom meu querido leitor, acredito que at aqui voc j tenha absorvido uma gama enorme de conhecimentos. Ento agora, ns vamos comear a entender um como que funciona o sistema Linux, vamos comear aprendendo algumas coisa pelo modo texto e da ns vamos avanado e ento falaremos do modo grfico. Porm, com um pouco mais de pacincia, vamos fazer as configuraes iniciais. As configuraes iniciais serviro para criarmos discos de inicializao quando assim, for necessrio. Antes de comearmos a trabalhar com os mais diversos tipos de configuraes, vamos aprender com o que se faz para criar disquetes de inicializao1, podemos criar pelo Windows e tambm pelo Linux. Ambos os procedimentos so muito fceis de aprender.

Criando disquetes de inicializao


Quando ns vamos ter o primeiro contato com o Linux, necessrio algumas vezes criar ou recriar o disquete de inicializao ou o suplementar, a partir de um arquivo imagem. Como o nome indica, um arquivo imagem aquele que contm uma cpia exata (ou imagem) do contedo do disquete. Como o disquete contm informaes do sistema de arquivos, alm dos dados contidos nos arquivos, o arquivo de imagem no til at que seja gravado em um disquete. Para criar os discos de instalao e inicializao e suplementar, so necessrios (ou no) dois discos vazios, formatados, de alta densidade (1.44 Mb), 31/2 polegadas. As imagens dos discos esto localizadas no diretrio /imagens no CD de sua distribuio Linux ou no site FTP de onde a instalao esteja ocorrendo.

Gerando discos sob MS-DOS


Para gerar os discos sob o MS-DOS, pode-se executar o utilitrio rawrite includo no CD da maioria das distribuies Linux, no diretrio dosutils. Inicialmente nomeie um disco formatado com o nome de disco de inicializao ou algo similar e insira na unidade. Em seguida, execute os seguintes comandos (presumindo que o seu CD seja o drive d:):
rawwrite <enter> /images/boot.img <enter> A: <enter>

O utilitrio inicialmente solicitar o nome do arquivo do disco imagem, onde dever ser informado boot.img (o nome pode variar). Em seguida, solicitar o dispositivo de gravao, onde dever ser informado A: <ENTER>. Agora s esperar um pouco que o disco de inicializao estar pronto para ser usado em qualquer micro que no suporte o boot direto pelo CD-ROM, geralmente BIOS mais antigas.

Gerando discos sob o Windows


Algumas distribuies trazem o rawwritewin, que muito mais prtico para a gerao de discos de inicializao no sistema Linux. Nesse caso voc dever informar qual o arquivo de imagem para escrita (write), esse arquivo geralmente est em d:\images\, mas pode ter alguma variao dependendo de sua distribuio. Voc percebe que tem vrios outros tipos de arquivos imagem, o bootnet.img para voc efetuar uma instalao via rede.

Gerando discos a partir do Linux


Para gerar os discos a partir do Linux, necessrio que se tenha permisso de gravao no dispositivo /dev/fd0 (a unidade de disco flexvel). Inicialmente, nomeie um disco formatado de 31/2 com o nome de disco de inicializao ou algo similar e insira na unidade (no necessrio montar a unidade de

41

Treinamento Linux Administrao, Redes e Servios

disquete). Se for necessrio, monte o CD de sua distribuio e v para o diretrio /images ou algo semelhante e execute o seguinte comando:
# dd if=boot.img of=/dev/fd0 bs=1440k

DICA: O # significa que voc est no prompt do Linux logado com usurio root (Administrador). O $ significa que voc est no prompt do Linux logado com usurio comum.

Se for necessrio, em algumas distribuies, para gerar o disco suplementar (o nome do arquivo para disco suplementar poder variar, e varia de acordo com sua distribuio); se for necessrio, etiquete um segundo disco com a inscrio disco suplementar, insira na unidade de disco flexvel e execute o seguinte comando:
# dd if=supp.img of=/dev/fd0 bs=1440k

Pronto, isso j o suficiente para que voc possa iniciar uma instalao do sistema Linux, mas no se esquea de configurar a BIOS para dar o boot pela unidade de disquete, ok? Outro modo interessante de gerar disco de boot Linux por meio do comando mkbootdisk, para onde precisamos passar alguns parmetros a fim de que seja criado automaticamente o referido disco.
# mkbootdisk device /dev/fd0 2.4.28872cl Insert a disk in /dev/fd0. Any information on the disk will be lost. Press <Enter> to continue or ^C to abort: Warning: lvm support disabled Warning: ReiserFS support disabled

A numerao 2.4.28872cl a verso do Kernel que estamos usando. Para saber basta usar o comando uname -r, e se precisar de mais informaes, basta usar o comando uname -a. Pronto, agora tambm voc j tem um disquete de inicializao.

Entrando no sistema Linux


Bom, ns j sabemos quando entramos no sistema Linux, atravs do GRUB ou do LILO, ns temos a opo de escolher com qual sistema operacional vamos trabalhar. Ento depois de passarmos, por exemplo, pelo GRUB ou ns paramos na tela de login modo texto (init 3), a qual voc j viu no captulo anterior. No entanto, voc pode ter optado pelo modo grfico (init 5), logo voc ver como padro o KDM KDE Desktop Manager ou seja, com ele voc poder escolher qual interface grfica usar. Ns temos o kdm (KDE), o gdm (Gnome) e o xdm (padro Unix) para decidir qual interface grfica usar. O kdm o mais usado e permite vrias configuraes, assim como o gdm. O xdm no nos fornece tantas configuraes, mas d para fazer umas coisas legais com ele. Antes de efetuar o login no sistema o usurio poder escolher, o idioma que vai trabalhar (tem at chins) e que tipo de interface que usar. Tambm por aqui possve l desligar ou reinicializar o sistema.

Os arquivos
No sistema Linux tudo considerado arquivo, algumas coisas so iguas ao Windows, outras mudam e tem filosofia diferente, os arquivos de imagens so iguais salvo os arquivos de algum programa grfico do Linux como o gimp. J sabemos tambm que o Linux aceita at 255 caracteres para nomes de arquivo, e que ele case sensitive, ou seja, letras maisculas e letras minsculas so tratadas de forma diferente pelo sistema. Exemplo o arquivo GabrielBonan.txt diferente de GABRIEBONAN.TXT. Os arquivo ocultos no sistema Linux comeam com um . na frente de seu nome. Ento se voce quiser deixar um arquivo invisvel s renome-lo com . antes. A listagem normal com o comando ls no vai mostrar esses arquivos, voc ter que usar o comando ls -a. No Sistema Linux, ns temos os arquivos de link, ou seja, um arquivo que aponta para um outro arquivo ou outro local, semelhante ao atalhos do Windows. A listagem de arquivo colorida e quando identificamos vrios arquivos atravs de suas cores, por exemplo: branco normal = arquivo comum, verde com asterisco = arquivo executvel (no existe .exe e .com), rosa = arquivos temporrios, amarelo = arquivos

42

Global Sul Informtica

que representam dispositivos, ciano = arquivo de links simblicos etc. Resumindo, ns temos dois tipos de arquivos e mais suas particularidades. Os dois tipos so: 1. Arquivo texto: Seu contedo compreendido e pode ser visto com o comando cat, less, more etc. Um arquivo texto pode ser uma carta, um script, um programa de computador escrito pelo programador, arquivo de configurao, etc. 2. Arquivo binrio: Seu contedo somente pode ser entendido pelo computador. No possvel ver seu contedo pelo mtodo convencional. Um arquivo binrio gerado atravs um processo chamado de compilao. Compilao basicamente a converso de um programa em linguagem humana para a linguagem de mquina. Alguns arquivos binrios podem ser entendidos pelos humanos atravs do comando od. Experimente os dois comandos:
# cat /sbin/ifconfig # od /sbin/ifconfig Entendeu alguma coisa ? Entendeu alguma coisa ?

Pois ... esse comando somente os hackers conseguem identificar o seu contedo. Mas quem sabe um dia voc chega l. Ento, vamos analisar mais um exemplo:
# cat .cshrc if ( $?prompt ) then set autoexpand set autolist set cdpath = ( ~ ) set pushdtohome if ( -e ~/.alias ) then source ~/.alias endif endif # od .cshrc 0000000 063151 0000020 064164 0000040 070170 0000060 064554 0000100 020150 0000120 072560 0000140 020146 0000160 020051 0000200 020145 0000220 063151 0000232

024040 067145 067141 072163 020075 064163 020050 064164 027576 005012

022040 020012 005144 020012 020050 072144 062455 067145 060456 067145

070077 071440 020040 071440 020176 064157 077040 020012 064554 064544

067562 072145 062563 072145 005051 066557 027057 020040 071541 005146

070155 060440 020164 061440 020040 005145 066141 071440 020012

020164 072165 072541 070144 062563 020012 060551 072557 062440

020051 062557 067564 072141 020164 064440 020163 061562 062156

Como podemos verificar nos exemplos anteriores, o comando cat nos mostra, quando possvel, o contedo de um arquivo qualquer, mas quando isso no for mais possvel, poderemos usar o comando od que nos mostra a contedo desse arquivo em formato octal ou em outros formatos, coisa de hacker, certo?

Meta caracteres ou coringas


Todos ns usurios j sabemos o que so coringas (ou referncia global). Trata-se de um recurso usado para especificar um ou mais arquivos ou diretrios do sistema de uma s vez. No sistema Linux, temos os meta caracteres que nada mais so do que curingas com mais poder, vamos dizer assim. Esse um recurso que permite que voc faa a filtragem do que ser listado, copiado, apagado etc. So usados trs tipos de curingas no Linux, o * o ? e o modo padro.
*: Faz referncia a um nome completo/restante de um arquivo/diretrio. ?: Faz referncia a uma letra naquela posio. [padro]: Faz referncia a um padro que pode ser: [a-z][1-0]: Faz referncia a caracteres de a at z ou de 1 at 10. [a,z][1,0]: Faz referncia aos caracteres a e z ou 1 e 10 naquela posio. [a-z,1,0]: Faz referncia aos caracteres de a at z e 1 e 10 naquela posio.

Vale lembrar tambm que a procura de caracteres case sensitive. Assim se voc deseja que sejam localizados todos os caracteres alfabticos, deve usar [a-z,A-Z]. Caso a expresso seja seguida de um ^, feita uma referncia a qualquer caractere exceto o da expresso. Por exemplo [^abc] faz referncia a

43

Treinamento Linux Administrao, Redes e Servios

qualquer caractere exceto a, b e c. Lembrando que os trs tipos de coringas (*, ? e [ ]) podem ser usados ao mesmo tempo. Vamos ver alguns exemplos de uso de meta caracteres:
ls *.new: Lista todos os arquivos que terminam com .new. ls teste?.new: Lista todos os arquivos que comeam com teste que contenham qualquer caractere na posio do curinga ? e terminem com .new. ls teste[4,5].*: Lista todos os arquivos que comeam com teste que contenham nmeros de 4 e 5 naquela posio e terminem com qualquer extenso.

Vimos aqui que o uso de meta caracteres muito til e interessante, mas deve ser feito com muito cuidado pois olhe s esse exemplo matador rm -fr / * &. Sabe o que isso faz? Apaga tudo e todos do seu sistema Linux e ainda executado em segundo plano. Voc sabia que o comando echo * tambm expande os nomes de arquivos de diretrios? A seguir, voc tem um arquivo script, ou seja, um arquivo que tem a mesma funo do um arquivo .bat ou de lote do MS-DOS. Esse script servir para ligar a numlock na inicializao do sistema. Se voc quer que o numlock seja ligado na inicializao, adicione o seguinte no seu script de inicializao/etc/rc.d/rc.local):
# /bin/bash # liganunlock.sh echo -n "Ligando os LEDs NumLock: " for tty in /dev/tty[1-6] /dev/tty1[2]; do setleds -D +num < $tty & done echo "Ok, j terminei. "

Esse procedimento ir ligar os numlocks nos terminais tty1 at tty6 e nos terminais tty11 e tty12. Perceba o uso de metacaracteres na linha for tty in /dev/tty[1-6] /dev/tty1[2]; do. Lembre-se de que voc deve ter instalado o pacote console-tools para que isso funcione. Se voc quiser encontrar todos os arquivos que correspondam a um padro qualquer, que nesse caso old, e os apagar pedindo sua confirmao antes, use o comando find / -name "*.old" -ok rm {} \;

Os diretrios
Os diretrios do sistema Linux seguem a mesma idia do Widnows, por quando voc estiver em modo texto usar as barras contrrias. Exemplo cd c:\windows\system no Windows e cd /usr/local/ no Linux. Quando voc usar o comando ls -laF em um terminal ou em uma console, os diretrios sero aqueles com a cor azul, e uma barra / no final e na primeira coluna so os diretrios que comeam do a letra d. A estrutura de diretrios do Linux similar ao do MS-DOS, mas existem algumas diferenas entre o do MSDOS e o do Linux. Agora vou mostrar um exemplo de diferena:
MS-DOS: C:\DOCS\LINUX\manual_gimp.doc Linux:/home/adilson/docs/manual_linux.pdf

Uma particularidade o ~ para referenciar diretrios, por exemplo para entrar no diretrio /home/adilson eu posso digitar assim cd ~adilson que tambm funciona. O comando pwd mostra qual o caminho e diretrio que voc esta no momento. E o comando cd volta um nvel na hierarquia. A hierarquia de diretrios No sistema Linux, voc j percebeu, cada diretrio tem a sua funo. Vou mostrar a estrutura bsica de diretrios, mas ela muito maior do que a aqui apresentada:
/bin: Contm arquivos e programas que so usados pelos usurios. /root: Diretrio do usurio root. /sbin: Diretrio de programas usados pelo superusurio (root) para administrao e controle do funcionamento do sistema. /boot: Contm arquivos necessrios para a inicializao do sistema. /boot/grub: Contm arquivos necessrios para a inicializao do sistema com Grub.

44

Global Sul Informtica

/mnt/cdrom: Ponto de montagem da unidade de CD-ROM. /mnt/floppy: Ponto de montagem de unidade de disquetes. /mnt/windows: Ponto de montagem do Windows local. /dev: Contm arquivos usados para acessar dispositivos (perifricos) locais. /etc: Arquivos de configurao de seu computador local. /home: Diretrios com os arquivos dos usurios. /lib: Bibliotecas compartilhadas pelos programas do sistema e mdulos do kernel. /lost+found: Local para a gravao de arquivos/diretrios recuperados pelo utilitrio fsck.ext2. Cada partio possui seu prprio diretrio lost+found. /mnt: Ponto de montagem temporrio. /opt: Alguns softwares de terceiros so desenhados para serem instalados sob o diretrio /opt. A menos que a partio /opt seja criada, o software tentar instalar-se sob /opt e o far na partio raiz, a qual pode eventualmente no ter o espao necessrio. Claro que existem outras opes de resoluo do problema, tais como criar uma ligao simblica entre /opt e outra partio com mais espao como /usr por exemplo. /proc: Sistema de arquivos do kernel. Este diretrio no existe em seu disco rgido, ele colocado l pelo kernel e usado por diversos programas que fazem sua leitura, verificam configuraes do sistema ou modificar o funcionamento de dispositivos do sistema atravs da alterao em seus arquivos. /tmp: Diretrio para armazenamento de arquivos temporrios criados por programas, aqui deve-se apagar os arquivos lixo que no sero mais usados pelo sistema. /usr: Contm maior parte de seus programas. /usr/src: Destinada ao armazenamento de grandes quantidades de cdigos- fonte includa no Linux, tais como: fontes do ncleo do Linux (kernel), os fontes completos do Linux so armazenados aqui, assim como os novos ncleos so construdos aqui. No momento o seu tamanho de aproximadamente 50 (cinquenta) MB compactados e descompactados tem mais de 350 (trezentos e cinquenta) MB. Lembre-se de manter espao adicional para a construo de novos ncleos, pois pode-se desejar manter mais de uma cpia do ncleo simultaneamente.

DICA: Fontes de pacotes baseados em formato rpm, caso um pacote de fontes (tambm conhecido como SRPM) seja instalado, os arquivos sero gravados aqui. Note que, a menos que seja especificado o contrrio, qualquer pacote ir utilizar um diretrio aqui construdo.

/usr/local: Destinada ao armazenamento de objetos em separado do restante do Linux, tais como softwares no disponveis como um pacote no formato .rpm. O seu tamanho depende da previso do volume de dados que usar esta estrutura. /var: Diretrio de logs e configuraes.

O que so diretrios raiz do sistema Linux?


No sistema Linux, temos inmeros diretrios mas temos os tambm os diretrios que so chamados de raiz, isso quer dizer que ele importante para o sistema e que dentro dele se encontram coisas importantes que o usurio precisar ou o sistema usar. Dentro dele esto todos os diretrios do sistema. O diretrio raiz representado por uma /; assim se voc digitar o comando cd /, estar acessando esse diretrio. Nele, esto localizados outros diretrios como: /bin, /sbin, /usr, /usr/local, /mnt, /tmp, /var, /home etc. Esses so chamados de subdiretrios pois esto dentro do diretrio /. A estrutura de diretrios e subdiretrios pode ser identificada da seguinte maneira:
/ /bin /sbin /usr /usr/local /mnt /tmp /var /home

45

Treinamento Linux Administrao, Redes e Servios

A estrutura de diretrios tambm chamada de rvore de Diretrios porque parecida com uma rvore de cabea para baixo.

DICA: Essa hierarquia aqui apenas para que voc tenha uma noo de como que o seu sistema Linux est organizado. claro que h muito mais diretrios e subdiretrios em seu sistema. Use o comando mc (modo texto) para navegar por eles ou algum navegador de disco do modo grfico, tais como: gmc, nautilus ou o konqueror.

O diretrio /root Esse um dos principais diretrios do sistema, aqui que vai ficar todos os arquivos do usurio administrador do sistema que o usurio root. Ento quando voc estiver logado no sistema como root tome muito cuidado com seus comandos, pois se algo der errado nem sempre voc poder voltar. O diretrio /home Esse diretrio a casa de todos os usurios que voc cadastrou no sistema e mais outros que outros programas acabaram criando e as contas do sistema Linux, no entanto voc poder definir um outro local para seus usurios (eu acoselho a deixar como est j que esse o padro). Esse lugar o lugar dos usurios e das contas do sistema. Voc consegue perceber a diferena? Usurios so pessoas que usam o sistema e contas so contas dentro do sistema sem que seja preciso existir um usurio para logar no sistema. Por exemplo, a conta nobody, usada pelo servidor Apache, porm no preciso que exista um fulano chamado nobody, Entendeu? Mas isso tambm no significa que dentro do /home tenha um diretrio chamado nobody. Pois quando voc cadastra um usurio no sistema, um diretrio para ele automaticamente criado nesse /home e alguns arquivos iniciais j sero disponibilizados para o usurio. aconselhvel que esse diretrio seja na verdade uma partio exclusiva. Uns 500 MB j est bom, pois com o tempo voc vai precisar disso. O diretrio /var Esse diretrio o diretrio de logs do sistemas e alguns programas o usam tambm como diretrio de configurao. Contm maior parte dos arquivos que so gravados com freqncia pelos programas do sistema, e-mails, spool de impressora, cache etc.

Nomenclatura dos discos, parties e portas


No sistema Linux, os dispositivos existentes em seu computador, tais como discos rgidos, disquetes, tela, portas de impressora, modem, zip-drive, scaner etc, so identificados por um arquivo referente a esse dispositivo no diretrio /dev. A identificao de discos rgidos no Linux feita da seguinte forma: /dev/hdaX. Onde:
X: Nmero que identifica o nmero da partio no disco rgido. a: Letra que identifica o disco rgido (a=primeiro, b=segundo, etc). hd: Sigla que identifica o tipo do disco rgido (hd=ide, sd=SCSI. /dev/: Local onde so ficacm os dispositivos existentes o sistema.

A seguir algumas identificaes de discos e parties do Linux:


/dev/fd0: Primeira unidade de disquetes. /dev/fd1: Segunda unidade de disquetes. /dev/hda: Primeiro disco rgido na primeira controladora IDE. /dev/hda1: Primeira partio do primeiro disco rgido IDE. /dev/hdb: Segundo disco rgido na primeira controladora IDE. /dev/hdb1: Primeira partio do segundo disco rgido IDE. /dev/sda: Primeiro disco rgido na primeira controladora SCSI. /dev/sda1: Primeira partio do primeiro disco rgido SCSI. /dev/sda4: Geralmente usado para unidades de Zip Drive. /dev/sdb: Segundo disco rgido na primeira controladora SCSI. /dev/sdb1: Primeira partio do segundo disco rgido SCSI. /dev/sr0: Primeiro CD-ROM SCSI. /dev/sr1: Segundo CD-ROM SCSI.

46

Global Sul Informtica

importante entender como os discos e parties so identificados no sistema, pois ser necessrio usar os parmetros corretos para mont-los. Veja agora como que isso funciona para as portas de comunicao:
COM1: COM2: COM3: COM4: /dev/cua0 /dev/cua1 /dev/cua2 /dev/cua3 ou ou ou ou /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3

Ento o mouse no sistema Linux ficar na /dev/cua0 ou /dev/ttyS0, mas geralmente ele definido pelo seu link simblico /dev/mouse, que um arquivo que aponta (como se fosse um atalho) para um dispositivo de hardware e o modem como /dev/modem que poder ser a porta de comunicao 2 (/dev/ttyS1), 3 (/dev/ttyS2) ou 4 (/dev/ttyS3). Use o comando ls /dev/hd* e veja quantos dispositivo voc poder ter:
# ls /dev/hd* /dev/hda /dev/hdb /dev/hdg /dev/hdh /dev/hde1 /dev/hdf1 ... ... /dev/hdc10 /dev/hdd10 /dev/hda9 /dev/hdb9 /dev/hdg9 /dev/hdh9 /dev/hdc /dev/hda1 /dev/hdg1 /dev/hde10 /dev/hdc9 /dev/hdd /dev/hdb1 /dev/hdh1 /dev/hdf10 /dev/hdd9 /dev/hde /dev/hdc1 /dev/hda10 /dev/hdg10 /dev/hde9 /dev/hdf /dev/hdd1 /dev/hdb10 /dev/hdh10 /dev/hdf9

Estrutura de particionamento do sistema Linux


Conforme o tipo de instalao, podem ser requisitados entre 100 (cem) MB at 4 (quatro) GB de espao em disco, o qual extremamente aconselhado estar separado de reas que possuam outros sistemas operacionais como MS-DOS, OS/2, Windows, outras verses de Linux, etc. A forma de separar essas reas dividindo o espao disponvel em reas distintas chamadas parties. Cada partio pode ser acessada como se fosse um disco totalmente diferente. Adicionalmente cada partio tem um tipo que indica como os dados so armazenados naquela partio. Por exemplo, h trs tipos de parties diferentes usadas pelo Linux, OS/2 e MS-DOS. Para saber os tipos de parties vlidas em seu computador, use o comando fdisk -l:
# fdisk -l Disco /dev/hda: 255 cabeas, 63 setores, 3738 Unidades = cilindros de 16065 * 512 bytes Dispositivo Boot Incio Fim Blocos /dev/hda1 * 1 2550 20482843+ /dev/hda2 2551 3738 9542610 /dev/hda5 2551 2741 1534176 /dev/hda6 2742 2758 136521 /dev/hda7 2759 2790 257008+ /dev/hda8 2791 3738 7614778+ cilindros Id c f 83 82 83 83 Sistema FAT32 Win95 (LBA) Estendida Win95 (LBA) Linux Linux swap Linux Linux

O Interpretador de comandos
O interpretador de comandos tambm conhecido como shell ou modo console (modo texto), com sinnimo. o programa responsvel em interpretar as instrues enviadas pelo usurio e seus programas ao sistema operacional no caso o kernel. Em sistema Linux, voc poder ter vrios interpretadores de comandos, ao contrrio do que acontece no sistema Windows que s tem o tal do command.com. O interpretador de comandos que executa comandos lidos do dispositivo de entrada padro, que o teclado ou de um arquivo executvel a principal ligao entre o usurio, os programas e o kernel. O Linux possui diversos tipos de interpretadores de comandos, entre eles posso destacar o bash, ash, csh, tcsh, sh etc. Entre eles o mais usado o bash. Os comandos podem ser enviados de duas maneiras para o interpretador: a) interativa e b) no-interativa. a) Interativa: Os comandos so digitados no aviso de comando e passados ao interpretador de comandos um a um. Neste modo, o computador depende do usurio para executar uma tarefa ou o prximo comando.

47

Treinamento Linux Administrao, Redes e Servios

b) No-interativa: So usados arquivos de comandos criados pelo usurio (scripts) para o computador executar os comandos na ordem encontrada no arquivo. Neste modo, o computador executa os comandos do arquivo um por um, e dependendo do trmino do comando, o script pode checar qual ser o prximo comando que ser executado e dar continuidade ao processamento. Esse sistema til quando temos que digitar por vrias vezes seguidas um mesmo comando ou para compilar algum programa complexo. Uma caracterstica interessante do Bash Bourne Again Shell, que ele possui a funo de auto-completar os nomes de comandos que foram digitados via entrada padro (stdin). Isso feito pressionando-se a tecla TAB; o comando completado e acrescentado um espao. Isso funciona sem problemas para comandos internos; caso o comando no seja encontrado, o Bash emite um beep. Por exemplo, estando voc em /root digite cd GN (aperte TAB)+L (aperte TAB)+Win (aperte TAB)+T (aperte TAB) e veja como foi fcil digitar um caminho longo para entrar no local dos temas da interface do Window Maker: GNUstep/Library/Windowmaker/Themes.

Atalhos de teclado para o bash


Existem alguns atalhos teis que podem ser utilizados no bash para facilitar o nosso trabalho no dia-a-dia no sistema Linux:
ATALHO Alt+b Alt+f Ctrl+a Ctrl+c Ctrl+d Ctrl+e Ctrl+k Ctrl+l Ctrl+r Ctrl+t Ctrl+u Ctrl+w Ctrl+y Ctrl+z DESCRIO Move o cursor uma palavra para trs. Move o cursor uma palavra para frente. Ir para o incio da linha. Pra o comando. Logout. Ir para o final da linha. Apagar do cursor at o final da linha. Apaga a tela (clear). Busca incremental no histrico de comandos. Inverte o caracter sob o cursor com o anterior. Apagar do cursor at o comeo da linha. Apagar do cursor at o comeo da palavra. Re-inserir o ltimo trecho apagado. Pe processo em background (Voltar, use o fg).

Bom, agora que voc j sabe um monte de combinaes poderosas pode sair queimando o seu teclado no bash. Certo? Mas o bash no pra por a, sabia? Voc pode repetir um comando no bash sem ter que digit-lo de novo. Isso possvel porque utilizando o caractere ! na frente do comando que deseja repetir o bash vai buscar aquele comando no histrico, e se l tiver algo parecido o comando ser executado. Veja o seguinte exemplo:
# # # # mount /mnt/cdrom ls /mnt/cdrom umount /mnt/cdrom !mount

O comando !mount ir informar ao shell (bash) para executar o ltimo comando mount executado, neste exemplo, mount /mnt/cdrom. Que poder, hein? Caso voc queira verificar qual a shell que est em uso, digite o comando: echo $SHELL; para saber as disponveis use chsh -l, o comando cat /etc/shells tambm nos informa.

48

Global Sul Informtica

# cat /etc/shells /bin/sh /bin/bash /bin/ash /bin/bsh /bin/tcsh /bin/csh /bin/zsh

Os arquivos de inicializao da mquina


No ambiente Windows, voc tem l algumas variveis de ambiente e os arquivos:
autoexec.bat: Carrega variveis e progranas residentes. config.sys: Carrega configuraes de variveis. ms-dos.sys: Carrega o sistema MS-DOS. io.sys: Carrega informaes do sistema da BIOS. command.com: Carrega o interpretador de comandos.

No entanto, a grande maioria dos usurios hoje no conhece bem o arquivo autoexec.bat. J no sistema Linux, os arquivos de inicializao alm de serem infinitamente mais poderosos so diversos. Ns temos arquivos de inicializao da mquina em arquivos de configurao de aplicativos e programas em si tambm. Onde eles esto? Esses arquivos esto em /etc/rc.d.
# ls -laF /etc/rc.d total 84 drwxr-xr-x 10 root drwxr-xr-x 54 root drwxr-xr-x 2 root -rwxr-xr-x 1 root -rw-r--r-1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root

root root root root root root root root root root root root root root

root root 4096 4063 114 1762 576 2964 21437 4096 4096 4096 4096 4096 4096 4096

4096 4096 Out 10 Jun 25 Out 10 Out 10 Jun 25 Jun 25 Jun 25 Out 10 Out 10 Out 10 Out 10 Out 10 Ago 1 Out 10

Out 10 07:34 ./ Dez 5 11:26 ../ 07:04 init.d/ 07:20 rc* 07:34 rc.firewall 07:34 rc.local* 07:20 rc.modules* 00:59 rc.news* 07:20 rc.sysinit* 07:42 rc0.d/ 07:42 rc1.d/ 07:42 rc2.d/ 07:42 rc3.d/ 07:42 rc4.d/ 16:57 rc5.d/ 07:42 rc6.d/

Vamos entender o que fazem alguns desses arquivos, os scripts de inicializao: O script rc*: responsvel pelo incio e parada de servios quando houver uma troca de nvel de execuo (runlevel); ele tambm responsvel pela configurao bsica de inicializao da mquina com, por exemplo, o nome da mquina (hostname). O script rc.local*: executado aps todos os outros scripts tiverem sido processados pelo sistema e responsvel por aquele pinguim, o Tux, que voc v quando o sistema Linux est sendo iniciado; cuida tambm da execuo do script de configurao do idioma . /etc/profile.d/lang.sh que ser usado e suas variveis. O arquivo do pinguim geralmente est em /etc/issue, e o contedo do script rc.local* voc poder ver a seguir (Distribuio Conectiva Linux):
#!/bin/sh . /etc/profile.d/lang.sh if [ -f /etc/conectiva-release ] ; then R=$(cat /etc/conectiva-release) echo "$R" > /etc/issue.net echo "Kernel $(uname -r)" >> /etc/issue.net echo >> /etc/issue.net if [ -x /usr/bin/linux_logo ] ; then clear > /etc/issue linux_logo -classic >> /etc/issue echo "$R (\l)" >> /etc/issue echo >> /etc/issue else

49

Treinamento Linux Administrao, Redes e Servios

fi

fi

cat /etc/issue.net > /etc/issue

O script rc.sysinit*: o script que ser roda uma nica vez em seu sistema e ele que vai controlar praticamente toda a parte de configurao do seu sistema, pois vai ler todos os arquivos de configurao. Se voc usar o comando cat --number /etc/rc.d/rc.sysinit, vai perceber que esse script tem praticamente umas 800 (oitocentas) linhas, mole? O diretrio /etc/rc.d/init.d guarda os scripts e processos (daemons) do sistema que precisam ser derrubados ou levantados, como servios de rede, NFS, Samba etc. Isso tudo voc ver mais tarde e entedender o seu funcionamento. Como voc pode perceber, so muitos os arquivos que serviro de base para a inicializao de uma mquina Linux. Os diretrios: rc0.d/, rc1.d/ ... rc6.d/ contm arquivos responsveis para aquele nvel de execuo (runlevel) do Linux. Assim quando voc executa o comando shutdown -h now o sistema Linux processar os arquivos que esto em rc0.d/, e assim por diante. Entendeu? E isso interessante porque voc poder personalizar esses arquivos, ou seja, quando a mquina estiver para ser reinicializada uma mensagem poder aparecer informando: PREZADO USURIO, D UM TEMPO A QUE EU J VOLTO.....:-), ou quando a mquina estiver sendo desligada, poder aparecer uma imagem informando que ela j pode ser desligada com segurana, semelhante quela mensagem do Windows. Se voc quiser fazer suas configuraes dos nveis de execuo voc poder usar os seguintes utilitrios do Linux: a) chkconfig: Esse pequeno utilitrio pode ser usado pela linha de comando para configurar seus nveis de incializao. b) ntsysv (modo text) ou system-config-services (modo grfico): No ambiente KDE esse utilitrio permite a configurao dos nveis de execuo e ativao e desativao de processos individuais do seu sistema e...

Terminais virtuais em modo console


Uma coisa que sem dvida importantssima para os usurios do sistema Linux e que outros usurios do ambiente Windows no tem o conceito de terminais virtuais. como se fosse um outro computador que voc acessa on the fly ou seja, na hora, e j comea a trabalhar. Um terminal virtual uma segunda seo de trabalho completamente independente de outras, que pode ser acessada no computador local ou remotamente via telnet, rsh, rlogin, ssh, vmware, vnc etc. Qual a importncia disso? Primeiro, PODER, sim poder para voc continuar fazendo suas tarefas enquanto a mquina faz outras tarefas, como uma compilao do kernel que pode demorar bastante tempo de mquina, uma compilao de um programa qualquer, uma instalao que vai ser demoarada, monitoramento local e remoto de uma rede etc, enfim so inmeras as coisas importantes que com os terminais virtuais podemos fazer. No Linux, em modo texto, voc pode acessar outros terminais virtuais segurando a tecla ALT e pressionando F1 a F6 (por padro). Cada tecla de funo corresponde a um nmero de terminal do 1 ao 6 (o stimo usado por padro pelo ambiente grfico X). O Linux possui mais de 63 terminais virtuais, mas apenas 6 esto disponveis inicialmente por motivos de economia de memria RAM. Porm, isso no o impede de criar mais terminais ou ficar com apenas dois terminais. Essas configuraes voc far editando o arquivo /etc/inittab. Veja exemplo a seguir:
# Run gettys in standard runlevels 1:2345: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 #7:2345:respawn:/sbin/mingetty tty7 #8:2345:respawn:/sbin/mingetty tty8 #9:2345:respawn:/sbin/mingetty tty9 #10:2345:respawn:/sbin/mingetty tty10 #11:2345:respawn:/sbin/mingetty tty11 #12:2345:respawn:/sbin/mingetty tty12

50

Global Sul Informtica

Como podemos ver nesse arquivo, a linha: 1:2345:respawn:/sbin/mingetty tty1 informa que a combinao CONTROL+ALT+F1 (se estiver usando o modo grfico) nos levar ao primeiro terminal virtual (console), e assim por diante, at chegar na combinao CONTROL+ALT+F7, que nos levar de volta ao modo grfico. Se quisermos habilitar o terminal 12 basta descomentar e executar o comando init q e depois s combinar CONTROL+ALT+F1 ou ALT+F1. A combinao ALT+F1, ALT+F2 vlida somente se voc no estiver usando o modo grfico. Voc pode perceber tambm que nessas linhas todas elas apresentam a seqncia :2345:; isso que dizer que aquele terminal virtual aceita esses nveis de execuo (runlevel), ou seja, o modo 2 (multiusurio sem NFS), modo 3 (multiusurio com rede completa), modo 4 (sem uso no momento) e o modo 5 (modo grfico). Se voc precisar saber quem est usado as consoles (terminais virtuais), use o comando ps -aux | grep tty. Em um sistema Linux possvel capturar as ocorrncias de atividades em um console ou em um terminal. Por exemplo, Sabemos que se pressionarmos duas vezes a tecla TAB possvel saber quantos comandos poderemos usar em um console ou terminal virtual; esses comandos variam de uns 1000 (mil) at mais de 3500 (trs mil e quinhentos). E se voc desejar anotar um por um esses comandos em um arquivo para depois fazer um resumo do que cada um dos comandos faz? J pensou nisso? Bom, se voc pensou em direcionamentos, est quase certo mas no vai funcionar, pois precisar da sada de um comando para a entrada de um arquivo. Se voc pensou em um xterm aberto no modo grfico e depois na ao de pressionar duas vezes o TAB e logo em seguida quis selecionar (copiar) com o mouse e depois colar em um editor de texto, voc est certo. Porm, em distribuies Linux o xterm vem configurado para segurar somente 1000 (mil) ou 1500 (mil e quinhentas) linhas na tela; se o resultado das teclas TAB der mais do que essas linhas, voc tambm no conseguir o que precisa. Ento, faa assim:
# script tab-tab.log Script iniciado, o arquivo tab-tab.log # . Tudo o que voc fizer ser capturado agora. . # exit Script concludo, o arquivo tab-tab.log

Como voc pode perceber, o comando script gera um arquivo texto de tudo que impresso na tela. til para quem precisa de uma cpia impressa de uma sesso interativa, pois o script pode ser impresso mais tarde com comando lpr. Se o parmetro nome do arquivo fornecido, script grava todos os dilogos em um arquivo. Se nenhum nome de arquivo fornecido, o script gravado no arquivo typescript. E para sair, o script termina quando se encerra o shell (CONTROL+D para sair do bash ou sh, ou pelos comandos exit ou logout).

Linux modo console, o poder do shell


Bom, vamos aprender aqui como poderemos usar o modo texto do sistema Linux, mais conhecido como modo console e chamado de modo shell por alguns usurios mais experientes. O grande poder do sistema Linux est sem seu modo texto pois possvel fazer praticamente tudo o que se faz em modo grfico, quase todos os arquivos de configurao, so arquivo em formato texto e qualquer editor serve para fazer as configuraes. No tem muita lgia executar um editor de texto grfico, pesado somente para adicionar algumas linhas no /etc/fstab, por exemplo. Isso pode ser feito pelo modo texto com muito mais flexibilidade e dependendo do que voc quer talvez com um nico comando voc resolve isso. Muitos usurios trabalham no modo grfico mas deixam um terminal aberto para digitao de comandos, o qual pode ser um xterm, eterm, wterm, gnome-terminal ou konsole do KDE. Esta parte servir mais como um guia de comandos, ou seja, voc ter o nome do comando e uma breve descrio do que ele faz no sistema, e em alguns casos alguns exemplos para exerccio e memorizao; no sero vistos todos porque so mais de 3000 (trs) mil, isso mesmo muito comando.

Comandos de ajuda do sistema


man No sistema linux, ns temos o comando man que serve para ajud-lo quando voc no souber o que um determinado comando faz. O comando man traz uma descrio bsica do comando/programa e detalhes sobre seu funcionamento. Uma pgina de manual visualizada na forma de texto nico com rolagem

51

Treinamento Linux Administrao, Redes e Servios

vertical. Tambm documenta parmetros usados em alguns arquivos de configurao. A utilizao da pgina de manual simples, digite man [seo] [comando/arquivo]. Onde seo: a seo de manual que ser aberta; se omitido, mostra a primeira seo sobre o comando encontrada (em ordem crescente). E comando/arquivo: o comando/arquivo que deseja pesquisar. A navegao dentro das pginas de manual feita usando-se as teclas:
q: Sai da pgina de manual. PageDown ou f: Rola 25 linhas abaixo. PageUP ou w: Rola 25 linhas acima. SetaAcima ou k: Rola 1 linha acima. SetaAbaixo ou e: Rola 1 linha abaixo. r: Redesenha a tela (refresh). p ou g: Inicio da pgina. h: Ajuda sobre as opes da pgina de manual. s: Salva a pgina de manual em formato texto no arquivo especificado.

Exemplo: man ls, man 5 hosts_access, man ftp, man ssh etc Alguns comandos no possuem pgina de manual, e para saber como us-los basta ento execut-los. Mas pode acontecer que tambm no tenha ajuda, a a gente no pode fazer nada se quem criou o comando no disponibilizou nenhum ajuda. xman O comando xman faz a mesma coisa que o comando man, mas esse voltado para o modo grfico. Ele apresenta uma enorme vantagem sobre o man do modo texto, pois permite que voc escolha com o mouse os comando de uma relao apresentada a voc. help Alguns comandos tambm aceitam a sintaxe: help <comando>, e ento o comando exibir uma ajuda sobre ele. Outra maneira : <comando> --help ou -h. info O comando info semelhante ao comando man para as pginas de manual, a vantagem dele que ele usa links para carregar outras partes do documento de ajuda. Se pressionarmos ENTER em cima de uma palavra destacada, a info pages, como tambm conhecido esse comando, nos levar a seo correspondente. A info pages til quando sabemos o nome do comando e queremos saber para o que ele serve. Tambm traz explicaes detalhadas sobre uso, opes e comandos. Para usar a info pages, digite: info [comando/programa]. Se o nome do comando/programa no for digitado, a info pages mostrar a lista de todos os manuais de comandos/programas disponveis. A navegao da info pages feita atravs de nomes marcados com um * (hipertextos), que se pressionado ENTER, nos levar at a seo correspondente. A info pages possui algumas teclas de navegao teis:
q: ?: n: p: u: d: m: Sai da info pages. Mostra a tela de ajuda. Avana para a prxima pgina. Volta uma pgina. Sobre um nvel do contedo (at checar ao ndice de documentos). Volta ao ndice de documentos. Permite usar a localizao para encontrar uma pgina do info.

Se pressionar m, digite o comando e tecle ENTER que ser levado automaticamente a pgina. Existem muitas outras teclas de navegao teis na info pages, mas estas so as mais usadas. Para mais detalhes, entre no programa info e pressione ?. makewhatis e apropos Uma facilidade bastante interessante existente em sistemas Unix/Linux o comando apropos. Mas antes de usar o comando apropos, voc dever digitar o comando makewhatis para que seja criado o banco de dados descritivo de comandos. Esse comando consulta um banco de dados constitudo da descrio do comando. bastante til em situaes em que se deseja executar determinada tarefa e no se conhece o nome do comando.

52

Global Sul Informtica

Por exemplo, caso eu queira descobrir como obter informao a respeito de compiladores instalados em meu sistema, eu poderia digitar:
# apropos compiler cccp, cpp (1) - The GNU C-Compatible Compiler Preprocessor. g++ (1) - GNU project C++ Compiler gcc, g++ (1) - GNU project C and C++ Compiler (v2.7)

Uma vez de posse dessa informao eu digitaria ento: man gcc para obter informaes especficas sobre o compilador gcc. Todavia, esse banco de dados no criado automaticamente. O administrador de sistemas precisa cri-lo atravs do comando: catman. Esse comando ir varrer todos os diretrios especificados na varivel de ambiente MANPATH e ir construir um arquivo chamado whatis, no qual ir colocar as descries dos programas. Caso no exista esse arquivo, ao invocar o comando apropos uma mensagem parecida com a mensagem abaixo ser exibida:
# apropos compiler apropos: file /usr/local/man/whatis not found Create the whatis database using the catman -w command.

Para construir esse banco de dados emitir o comando: catman -w. Uma vez criado o banco de dados, o comando apropos (ou man -k) poder ento ser utilizado. type O comando type um til porque ele nos informa o que o arquivo e tambm mostra a localizao dos arquivos. Mas tambm mostra se um comando do shell (modo console). Exemplos:
# type bash bash is /bin/bash # type cd cd is a shell buitin

O primeiro type informa onde est o arquivo bash, e o segundo type informa que cd um comando interno para a shell em uso. How-to e /usr/doc, /usr/share/doc: Os documentos conhecidos por Howtos so documentos bem detalhados que ensinam ao usurio a desenvolver uma certa atividade no sistema Linux. Configurao de uma intranet por exemplo. Existem tambm os mini Howtos, que so resumos ou receitas de bolo como so conhecidos. E dentro do sistema Linux existem locais, diretrios onde possvel realizar uma pesquisa com um navegador qualquer.

Comandos de informaes do sistema


arch Exibe a arquitetura do computador. O comando arch equivalente ao comando uname -m. Nos sistemas Linux atuais, arch mostra algo como i386, i486, i586, alpha, sparc, arm, m68k, mips, ppc. cal Mostra um calendrio no vdeo. O comando cal ir gerar na tela (stdout) um calendrio referente ao ms solicitado. Usando o comando sem argumentos, mostrado o calendrio do ms e ano corrente. Para mostrar o calendrio do ano 2004, o comando seria: cal 2004. Para mostrar o ms de 12 (dezembro) de 1999 (ano), o comando correto seria: cal 12 1999. date Exibe a data e a hora do sistema e permite alteraes. Para configurar seu sistema para 09/01/2001 14:30 use o comando date 0109143001. Outro modo se mudar as configuraes atravs do comando date -s mm/dd/aaaa hh:mm:ss. dmesg Mostra as mensagens de inicializao e reconhecimento do hardware. free Mostra como que est o uso da memria no computador. Outra maneira de obter informao sobre a memria com o comando cat /proc/meminfo.

53

Treinamento Linux Administrao, Redes e Servios

meminfo Mostra as informaes sobre uso da memria de um modo mais elegante; fique atento para saber como usar o meminfo. O arquivo /proc/kcore, que parece ser grande, apresenta na verdade o tamanho de sua memria RAM. last Mostra uma lista das entradas e sadas dos usurios do sistema. So mostradas as seguintes informaes: a) Nome do usurio. b) Terminal onde ocorreu a conexo/desconexo. c) Hostname (caso a conexo tenha ocorrido remotamente) ou console (caso tenha ocorrido localmente). d) Data do login/logout e e) Tempo (hh:mm) que esteve conectado. lastlog Informa o ltimo login do usurio que utilizou o terminal. So mostradas as seguintes informaes: a) O nome usado no login. b) O terminal utilizado e c) A hora do ltimo login. Caso o usurio no tenha feito login, mostrada a mensagem ** Never logged in **. logname Mostra seu login (username). Exemplo: logname. hosname Mostra o nome da mquina. Exemplo: hostname. id Mostra ao usurio qual sua atual identificao no sistema, informando o usurio, grupo primrio e outros grupos a qual pertence. time O comando time mede o tempo gasto para executar um processo (programa) em seu computador. Use-o assim: # time [comando]. Onde: comando o comando/programa que deseja medir o tempo gasto para ser concludo. Exemplo: time ls, time find / -name crontab. tty O comando tty mostra qual o terminal virtual ou console em que voc est. uptime Mostra quanto tempo a sua mquina est no ar. rusers Se voc quiser saber quem est usando as mquinas de sua rede, esse o comando. O parmetro -a mostra informaes de todas as mquinas que responderem, mesmo que no haja nenhum usurio conectado. O parmetro l seleciona um formato longo de sada de informaes. Se nenhuma mquina tiver sido especificada na linha de comando, rusers exibir as informaes de todas as mquina da rede local. rup Esse comando exibe informaes sobre o status de uma mquina operante na rede. similar ao comando uptime que exibe infomaes sobre a mquina local. Exexemplo: rup <micro_ou_IP> ruptime Esse comando muito interessante, pois com ele possvel saber informaes sobre cada mquina da rede local, assim podemos obter dados sobre os pacotes difundidos pelas mquinas de tempos em tempos (geralmente por padro de 1 a 3 minutos). Uma mquina ser considerada inativa (down) quando a mesma no difunde informaes sobre o seu estado a algum tempo (geralmente entre 5 a 11 minutos, dependendo do sistema utilizado). rwho Mostra quem est usando as mquinas da rede local e o que esto fazendo. Use o comando rwho -a para mais informaes sobre usurios inativos h mais de uma hora. traceroute Voc j parou para pensar por onde passam os seus dados em suas viagens pela Internet? Se voc quer saber, existe um comando em sistemas Unix e Windows (95 e NT) que lhe fornece essas informaes. Esse comando chama-se traceroute. ping Servem basicamente para testar se uma conexo existe, ou seja, se uma mquina ou dispositivo (ethernet) est funcionando corretamente, ou ainda, se a conexo entre dois pontos est ativa, sendo esta ltima a sua maior utilidade. uname Exibe informaes do sistema. Exemplo: uname -a, uname -r, uname -rs.

54

Global Sul Informtica

Comandos para manipulao de diretrios


l, ls, dir, vdir Lista o contedo de um diretrio e hierarquicamente. As opes mais comummente usadas so: C: Lista arquivos em colunas, ordenados verticalmente, R: Lista os diretrios encontrados, ordenados recursivamente, a: Inclui os arquivos ocultos (iniciados com .) el: Exibe as propriedades do arquivo na listagem. Veja alguns exemplos:
ls -l | grep ^-..x: Lista somente os arquivos executveis. ls -l | grep ^d: Listar somente diretrios. ls / -R *: Listar todos os arquivos do disco rgido.

cd /, cd .. , cd - e cd Entra ou sai de diretrios. Se usarmos o cd , o comando cd volta o cd anterior (como se fosse um desfazer). Se usarmos cd ~adilson, conforme o exemplo, o comando cd entrar em /home/adilson, ou seja, entra no diretrio do usurio. Somente o comando cd sempre voltar raiz do diretrio do usurio (root ou no). pwd Lista o nome do caminho de trabalho atual. Ento, para voc saber em que nvel hierrquico de diretrio est, basta usar o comando pwd para que ele o informe. mkdir Cria diretrios. A opo -m modo, --mode=modo, seleciona o modo de criao dos diretrios para modo, que pode ser simblico como em chmod, e ento usa o modo padro como ponto de partida. A opo -p cria qualquer diretrio pai faltante para cada argumento diretrio para diretrios pais fixo pela umask modificada por u+wx. Para criar diretrios com nomes longos e com espaos, preciso usar aspas. rmdir Remove diretrios vazios, mas se nesses diretrios existirem mais diretrios o e/ou arquivos, voc dever usar o comando rm -frv <nome_diretrio>. Para remover diretrios com nomes longos e com espaos, preciso tambm usar aspas. cp O comando cp copia arquivos e/ou opcionalmente diretrios. Voc pode copiar um arquivo para um destino fornecido, ou copiar arbitrariamente muitos arquivos para um diretrio de destino. Se o ltimo argumento de nome um diretrio existente, o comando cp copia cada arquivo origem para aquele diretrio (com o mesmo nome). De outra forma, se somente dois arquivos so fornecidos, ele copia o primeiro para o segundo. um erro se o ltimo argumento no for um diretrio e mais que dois argumentos forem fornecidos. As opes que voc poder usar: f: Remove os arquivos de destino existentes, e nunca pergunta antes de fazer isso, i: Pergunta se ser sobrescrito o arquivo regular de destino, l: Cria ligaes fortes ao invs de cpia de no diretrios r: Cpia diretrios de forma recursiva como se fossem arquivos regulares. mv Movimenta ou renomeia arquivos ou diretrios. Se o ltimo argumento um nome de um diretrio existente, o comando mv movimenta cada arquivo dado para um arquivo com o mesmo nome naquele diretrio. De outra forma, se somente dois arquivos so dados, ele renomear o primeiro como o segundo. errado se o ltimo argumento no for um diretrio e mais de dois arquivos forem fornecidos. du Usaremos o comando du quando precisarmos saber as hierarquias, ou seja, algumas informaes sobre um determinado diretrio.

Comandos para manipulao de arquivos


basename Retira o diretrio e sufixo do arquivo. bash Executa o interpretador de comandos bash. cat Concatena arquivo e lista o resultado na sada padro. O comando cat muito importante no dia-a-dia de quem trabalha com Linux, porque ele ele permite a criao de um arquivo texto qualquer com se fosse o comando copy con:teste.txt l do MS-DOS.

55

Treinamento Linux Administrao, Redes e Servios

Veja o exemplo:
# cat > arquivo1.txt Esta a primeira linha do arquivo 1 Esta a segunda linha do arquivo 1 ^D

Ok, no final de cada linha voc dever pressionar ENTER; se errou, no tem como subir uma linha, e no final, depois do ENTER, s fazer CONTROL+D para que o arquivo seja gravado. Viu como o comando semelhante ao copy con:arquivo.txt do MS-DOS? Agora veja o contedo do arquivo:
# cat arquivo1.txt Esta a primeira linha do arquivo 1 Esta a Segunda linha do arquivo 1

O comando mostra o que tem dentro do arquivo. Se for um arquivo binrio, voc ver tudo bagunado e no vai entender nada. Faa um CONTROL+C para cancelar. Veja algumas opes que voc poder usar: b: Numerar todas as linhas de sada diferentes de espaos que comecem com 1 e n: Numera todas as linhas de sada, comeando com 1. dd O comando dd possui vrias outras funes interessantes, alm da cpia pura e simples de arquivos. Uma funo que bastante til e a converso de caracteres. Por exemplo, para converter todos as letras maisculas de um documento para letras minsculas, execute o comando dd if=arquivo1 of=arquivo2 conv=lcase. Esse comando ir converter todos as letras maisculas do arquivo1 em letras minsculas e gerar um outro arquivo chamado arquivo2 com o resultado do processamento. Da mesma forma, se quisermos converter todas as letras do arquivo2 em maisculas dd if=arquivo2 of=arquivo3 conv=ucase. Outra aplicao interessante deste comando seria renomear todos os arquivos em um determinado diretrio com seu nome equivalente em letras minsculas:
#!/bin/sh for file in 'ls' do mv $file 'echo $file | dd conv=lcase' done

diff O comando diff muito simples: ele compara dois arquivos e gera um terceiro arquivo com o resultado da diferena entre os outros dois. Seu uso muito simples # diff arquivo1 arquivo2 > arquivo3 Se voc quer saber a diferena sem criar o arquivo, mais simples ainda, s no fazer o redirecionamento, assim: diff -f /etc/passwd.old /etc/passwd. tac Faz o mesmo que o comando cat, mas em ordem inversa. rm, cp e mv Fazem a mesma ao descrita para comandos de diretrios. tail Lista a ltima parte de arquivos. A opo -f continua indefinidamente tentando ler caracteres ao final do arquivo, assumindo que o arquivo est crescendo. Ignorado se estiver lendo de um pipe. Caso mais que um arquivo seja informado, tail imprime um cabealho sempre que apresentar a sada de um arquivo diferente para indicar a qual arquivo a sada se refere. Um exemplo de uso seria tail -f / var/log/message. Outro exemplo, tail -c5 /etc/passwd, listar somente as ltimas cinco linhas do arquivo. head Lista a primeira parte de arquivos. o inverso do comando tail. more um filtro para paginao de texto em um terminal. Essa verso bastante limitada, e comandos como o less disponibilizam opes mais poderosas do que more. Exemplo de uso seria more /etc/ passwd. O nico detalhe que o more no volta como o comando less.

56

Global Sul Informtica

less um filtro para paginao de texto em um terminal semelhante ao comando more, porm mais poderoso. Exemplo de uso seria less /etc/passwd. Se usarmos as teclas acima, abaixo, esquerda e direita poderemos ajustar nosso texto na tela. Se voc pressionar a letra v enquanto estiver fazendo um less no arquivo, esse arquivo ser aberto dentro do vi para que voc possa fazer suas edies. Depois para sair e voltar ao less, pressione ESC+:wq!. wc O comando wc lista o nmero de bytes, palavras e linhas nos arquivos. Veja alguns parmetros usados: l: Lista o nmero de linhas que contm o arquivo, c: Lista o nmero total de caractres do arquivo, w: Lista o total de palavras do arquivo, b: Lista o nmero de bytes do arquivo. Veja alguns exemplos:
# # # # wc wc wc wc /etc/passwd -w /etc/passwd -l /etc/passwd -l -w /etc/passwd --> --> --> --> Mostra Mostra Mostra Mostra a a a a quantidade quantidade quantidade quantidade de de de de linhas, palavras e letras (byte). palavras. linhas. linhas e palavras.

grep O comando grep lista as linhas que combinem com um padro. O grep pesquisa nos arquivos de entrada (ou na entrada padro, caso nenhum arquivo seja informado ou o nome dos arquivos seja igual a -) linhas que contenham o padro informado. Por padro, o comando grep lista as linhas coincidentes. Por exemplo, se voc quer informao sobre o processo de inicializao do Linux, o comando correto seria: ps as | grep init. Ento agora ficou mais interessante. por exemplo, se voc quer informao sobre quais so os terminais ativos em sua mquina, s usar o comando:
# ps as | grep tty 326 2 S 0:00 /sbin/mingetty 327 3 S 0:00 /sbin/mingetty 328 4 S 0:00 /sbin/mingetty 329 5 S 0:00 /sbin/mingetty 330 6 S 0:00 /sbin/mingetty 332 7 S 0:00 /sbin/mingetty 334 8 S 0:00 /sbin/mingetty tty2 tty3 tty4 tty5 tty6 tty8 tty9

Comandos de controle de acessos a arquivos e diretrios


chmod Muda a permisso de acesso a um arquivo ou diretrio. Com esse comando, voc pode escolher se um usurio ou grupo ter permisses para ler, gravar, executar um arquivo ou arquivos. Sempre que um arquivo criado, seu dono o usurio que o criou e seu grupo o grupo do usurio (exceto para diretrios configurados com a permisso de grupo s, o qual ser visto adiante). Exemplos de permisses de acesso:
# chmod g+r * --> Permite que todos os usurios que pertenam ao grupo dos arquivos (g) tenham (+) permisses de leitura (r) em todos os arquivos do diretrio atual. # chmod o-r qwerty.txt -- > Retira (-) a permisso de leitura (r) do arquivo teste.txt para os outros usurios (usurios que no so donos e no pertencem ao grupo do arquivo qwerty.txt). # chmod uo+x teste.txt --> Inclui (+) a permisso de execuo do arquivo qwerty.txt para o dono e grupo do arquivo. # chmod a+x qwerty.txt --> Inclui (+) a permisso de execuo do arquivo qwerty.txt para o dono, grupo e outros usurios.

Comandos de ligao de arquivos e diretrios


No ambiente Linux, existe algo interessante que ns chamaremos de links. Os links so ligaes para arquivos e diretrios, onde essas ligaes podem ser do tipo hard e do tipo soft, tambm chamada de simblica. Um exemplo importante de uso seria quando voc tivesse a necessidade de editar um arquivo que estivesse, vamos dizer assim, a uns dez nveis abaixo do diretrio pai (diretrio de nvel mais alto).

57

Treinamento Linux Administrao, Redes e Servios

Voc teria que digitar uma linha muito grande para chegar at ele, certo? Com os links isso no problema, pois voc pode criar um link que com apenas uma letra voc faz tudo isso. Legal, n? Esse tipo de link no sistema Linux semelhante aos atalhos do ambiente Windows. Mas so apenas semelhantes, pois eles podem apontar para arquivos e diretrios e o propsito vai muito mais alm. ln (hard link) A diferena entre um hard link e um soft link que o soft link precisa do parmetro s, mas a filosofia a mesma. Vamos supor que o arquivo teste-1.0.txt tem 20 MB, e ele importantssimo para voc, mas ficar duplicando um arquivo somente para ter uma cpia de segurana e ficar gastando 40 MB do disco rgido no momento no muito interessante. Ento, nesse caso, voc cria um hard link da seguinte maneira:
# ln teste-1.0.txt teste-1.0lnk.txt

Ok! Agora voc ter um hard link pronto. Um detalhe que o Linux est informando que o arquivo tambm tem 20 MB, mas isso s para informar que esses megas so daquele arquivo vinculado. Se voc apagar o arquivo original, poder usar o arquivo do hard link, porque ele est apontado para o local onde existiam informaes do teste-1.0.txt. ln (soft link) Usaremos o soft link para quando quisermos fazer uma referncia simples para um caminho muito longo, poupando assim digitao. Voc perceber que a ligao simblica entre arquivos e diretrios muito utilizada. Um exemplo disso o comando X para carregar o startx (gerenciador de janela); encontraremos um link simblico para a prpria compilao do kernel do Linux. O exemplo seguinte cria uma ligao simblica (soft link) para o mouse que est como padro na porta ttyS0:
# ln -s /dev/ttyS0 /dev/mouse

Agora voc pode reportar para /dev/mouse quando quiser dizer que /dev/ttyS0. Um outro exemplo de uso do comando ln -s para criar soft links usando em processo de compilao do kernel:
# ln -s linux-2.6.22 linux

Nesse caso, estamos informando ao Linux que quando nos referirmos ao diretrio linux na verdade estamos nos referindo ao diretrio linux-2.6.22.

Comandos para gerenciamento de impresso


lpq Mostra os trabalhos de impresso atuais. lprm Remove um trabalho de impresso. possvel tambm usar o programa de administrao lpc para gerenciar a fila de impresso. lpstat muito utilizado em ambientes Unix, mas tambm foi portado para o Linux. Ele oferece muitas opes, das quais destacam-se: a: Lista todos os relatrios enviados para as impressoras, p: Lista o estado das impressoras, R: Mostra o nmero de cada job na fila de impresso, s: Mostra um sumrio do estado das impressoras. kups, cups ou qtcups Executa o novo programa para configurao de impressoras em modo grfico.
DICA: Voc tambm poder gerenciar as tarefas que esto sendo impressas, contando com duas ferramentas: o klpq do KDE e o gulp do GNOME; para acion-lo abra um terminal X e digite seus respectivos nomes. Elas mostram propriedades da fila de impresso, tais como nome do documento que est sendo impresso, remoo da fila de impresso (cancelar impresso) e exibio de quanto falta para a concluso da tarefa.

58

Global Sul Informtica

Comandos mensagens no sistema


rwall O comando rwall manda uma mensagem para todos os usurios de uma mquina. Ele muito simples. Acompanhe um exemplo de uso comum do comando rwall micro10 arquivo-de-mensagens.txt. Nesse exemplo, o comando rwall pega um arquivo com mensagens e manda para o micro10 em questo (a rede deve estar configurada e funcionando). Mas se voc vai escrever poucas coisas, o comando seria assim:
# rwall secretaria <enter> Ateno secretaria Luciene... O Sr. Adilson solicita a sua presena em sala Imediatamente, faa um logout no sistema e venha logo. ^D

Como voc pode ver, para mensagens curtas muito interessante usar o comando rwall como no caso anterior, e devemos termin-lo combinando CONTROL+D. Vale lembrar que o usurio dever ter permisso do root para fazer esse tipo de coisa, e antes disso dever estar pronto para receber mensagens em um terminal. write Envia uma mensagem para outro usurio. Write permite que voc se comunique com outros usurios, copiando linhas de seu terminal para os deles. O outro usurio ver a mensagem EOF indicando o fim da conversao. Voc pode evitar que outras pessoas (exceto o superusurio) escrevam para voc utilizando o comando mesg n (desabilita) e mesg y (habilita). talk Permite que voc converse com um outro usurio na rede e funciona assim: talk usurio [tty]. Exemplo talk adilson@micro05 tty5. ytalk Assim como o comando talk, ytalk tambm permite bate-papo (chat) na rede, mas vrios usurios podem conversar ao mesmo tempo. ktalk, gtalk Os comandos gtalk do gnome e ktalk KDE j so para bate-papo na rede via modo grfico. Para que voc possa receber mensagens e enviar use o comando mesg y, e se voc quiser isso de modo permanente, apenas edite o /home/.bash_profile do usurio e insira o comando mesg y nesse arquivo. kchat Esse utilitrio o que mais est sendo usado pois mais rpido e simples de se trabalhar, at parece um IRC. Mas funciona perfeitamente em uma Intranet e pode trocar mensagens com micros externos usando TCP/IP e o endereo da mquina remota.

Comandos de controle de execuo de processos


jobs Exibe todos os processos que esto em segundo plano. bg (background) e fg (foreground) Quando voc executa algum comando ou programa, no precisa necessariamente ficar olhando, at porque algumas vezes demora. Voc pode minimizar o programa e deixar ele rodando em background. Para fazer algum programa rodar em background, voc deve colocar um & depois do comando. Ento ele ficar em background. Mas, se voc j est rodando algum programa e quer que ele v para background, combine CONTROL+ Z, que ele fica congelado e volta para o modo shell, depois e s digitar o comando bg, que o comando volta a rodar em background. Aps o Ctrl-Z:
[1]+ Stopped ftp ftp://ftp.redhat.com bg [1]+ ftp ftp://ftp.conectiva.com.br &

Veja que ele colocou um & depois do comando para mostrar que est em background. No caso que voc queira trazer o comando de volta, e s digitar o comando fg de Foreground seguido do nmero dele, que nesse caso 1, que ele volta tela.

59

Treinamento Linux Administrao, Redes e Servios

# fg 1 ftp ftp://ftp.redhat.com ...

kill Mata um processo. O uso comum dele kill -9 PID, onde PID o identificador do processo que foi conseguido com comando ps -aux | less. Exemplos de uso: kill -9 1035. Comando kamikaze: kill -9 -1, esse comando faz com que tudo seja morto e desse jeito a mquina entre em colapso e saia do ar. Ateno, um usurio s tem permisso de matar os processos que ele rodou, e no os processos de outros usurios; isso s quem pode fazer o root. killall Mata os processos pelo nome, no pelo PID. muito usado tambm quando voc configurou algum arquivo de configurao, tipo /etc/inetd, e quer reiniciar o programa; nestes casos, mandamos um sinal de HUP. Exemplo: killall -HUP inetd. No exemplo acima, ele reinicia os aplicativos de rede lendo novamente os arquivos de configurao. top Abre em modo texto uma tela inteira e mostra todos os processo que esto ativos em seu computador. gtop, ktop e kpm Faz a mesma coisa que o comando top (modo texto), s que em modo grfico, e oferece muito mais recursos sobre os processos que esto rodando em seu micro. nice Configura a prioridade da execuo de um comando/programa. Sua sintaxe nice [opes] [comando/programa]. Onde: comando/programa o comando/programa ter sua prioridade ajustada. As opo -n [nmero]: Configura a prioridade que o programa ser executado. Se um programa for executado com maior prioridade, ele usar mais recursos do sistema para seu processamento; caso tenha uma prioridade baixa, ele permitir que outros programas tenham preferncia. A prioridade de execuo de um programa/comando pode ser ajustada de -19 (a mais alta) at 19 (a mais baixa). nohup Permite voc saia do sistema com o comando logout sem que todos os seus programas que foram colocados em background sejam terminados. Exemplo:
# nohup cc program.c & [1] 9966 # logout

Comandos de manipulao de mdias


badblock pesquisa por setores ruins em um dispositivo e os informa. Exemplo: badblock /dev/hda1. cfdisk Assim como o fdisk, o cfdisk programa manipulador da tabela de parties de discos baseada em curses, s mais fcil de ser compreendido. fdisk Manipulador da tabela de parties para o Linux. Discos rgidos podem ser divididos em um ou mais discos lgicos chamados de parties. Essa diviso descrita na tabela de parties encontrada no setor 0 do disco. Use o comando fdisk -l para saber quais so os sistemas de arquivos presentes em seu disco. Exemplo:
# fdisk -l Disco /dev/hda: 255 cabeas, 63 Unidades = cilindros de 16065 * Dispositivo Boot Incio Fim /dev/hda1 * 1 /dev/hda2 393 /dev/hda5 393 /dev/hda6 457 /dev/hda7 465 /dev/hda8 484 setores, 784 cilindros 512 bytes Blocos Id Sistema 392 3148708+ c 784 3148740 5 456 514048+ 83 464 64228+ 82 Linux 483 152586 83 Linux 784 2417751 83

FAT32 Win95 Estendida Linux swap Linux

60

Global Sul Informtica

fsck Permite fazer reparos em LFS (linux file system). Exemplo: fsck /dev/hda5. mkbootdisk Cria uma cpia de um sistema funcional para inicializao via disquete. Exemplo mkbootdisk /dev/fd0 2.4.60-cl. mount Monta um sistema de arquivos que pode ser fat, hpfs, dos, umsdos, ext, ext2, ext3, reiserfs, raid, smb, ntfs etc. Sua sitaxe : mount [opes] [dispositivo] [ponto-de-montagem]. Onde o opo de montagem e t o tipo de sistema de montagem; dispositivo unidade de disco; e ponto-de-montagem o diretrio de acesso a unidade. Veja exemplos:
# umount -t ext3 /dev/fd0 /mnt/floppy --> Montar um disquete ext3. # umount -t vfat /dev/fd0 /mnt/floppy --> Montar um disquete DOS. # umount -t vfat /dev/hda1 /mnt/windows --> Montar uma partio Windows.

O parmetro t [tipo] importante que voc sai us-lo, veja aqui os tipos de sistemas de arquivos usado pelo dispositivo (device). So aceitos os sistemas de arquivos (os mais usados):
ext2: Para parties GNU/Linux usando o Extended File System verso 2 (a mais comum). ext3: Para parties GNU/Linux usando o Extended File System verso 3, com suporte a journaling, usado pelo Conectiva Linux 9. reiserfs: Para parties reiserfs, com suporte a journaling. vfat: Para parties Windows 95 que utilizam nomes extensos de arquivos e diretrios. mais usada, veja o seu arquivo /etc/fstab. msdos: Para parties DOS normais. iso9660: Para montar unidades de CD-ROM. o padro. umsdos: Para montar uma partio DOS com recursos de parties EXT2, como permisses de acesso, links, etc. udf: Usada para CDs regravveis. smbfs, smb, cifs: Usado pelo servidor Samba. ntfs: Usado para montar parties de Windows NT. hpfs: Usado para montar parties do OS/2 da IBM.

Voc tambm poder montar sua partio como somente leitura ou com permiso de escrita. Para isso use r para somente leitura (ready only) e w para permitir escrita (wrtite) no dispositivo. Exemplo:
mount -o remount,rw / -- > Esse comando remontar a partio raz / como somente leitura.

umount Desmonta o sistema de arquivos. Deve ser utilizado depois de montar via comando mount um sistema de arquivos. Voc desmonta o ponto de montagem e deve estar fora dele. Exemplos:
# umount /mnt/floppy # umount /mnt/floppy # umount /mnt/windows --> Desmontar um disquete ext3. --> Desmontar um disquete DOS. -->Desmontar uma partio Windows.

mformat Formata um disquete e adiciona um sistema de arquivos MS-DOS a um disquete com formatao de baixo nvel. Exemplo: mformat a:

61

Treinamento Linux Administrao, Redes e Servios

fdformat Executa uma formatao de baixo nvel em um disquete. O dispositivo normalmente um dos seguintes (para dispositivos de disquetes, major=2, e o minor mostrado somente para propsitos de informao):
/dev/fd0d360 /dev/fd0D360 /dev/fd0D720 /dev/fd0h360 /dev/fd0H1440 /dev/fd1h1200 /dev/fd1H360 /dev/fd1H720 /dev/fd1h720 (minor (minor (minor (minor (minor (minor (minor (minor (minor = = = = = = = = = 4) 12) 16) 20) 28) 9) 13) 17) 25) /dev/fd0h1200 /dev/fd0H360 /dev/fd0H720 /dev/fd0h720 /dev/fd1d360 /dev/fd1D360 /dev/fd1D720 /dev/fd1h360 /dev/fd1H1440 (minor (minor (minor (minor (minor (minor (minor (minor (minor = = = = = = = = = 8) 12) 16) 24) 5) 13) 17) 21) 29)

Exemplo:
fdformat /dev/fd0H1440

Comandos de processamento em rede (interno e externo)


ftp, ncftp, curl, rsync, wget e gftp Os comandos ftp (modo texto) e o gftp (modo grfico) permitem que voc faa um ftp em qualquer mquina da rede que tenha autorizao, ou ento permite fazer ftp da Internet (download e upload). Vamos supor que voc tem autorizao na mquina com IP: 192.168.100.1. Ento quer entrar na nessa mquina de rede para poder buscar um arquivo qualquer. O comando correto seria ftp 192.168.100.1. rcp O comando rcp copia arquivo de uma outra mquina sem passar por processo de ftp. Mas isso somente funcionar se a rede estiver configurada bem certinho (rede homogna, IPs corretos, aliases de mquinas corretos, permisses ativadas etc). O procedimento abaixo ir copiar todo o diretrio arquivoX do computador chamado ovnis para o diretrio corrente. Exemplo rcp -r ovnis:/arquivoX . Se voc usar o parmetro -r o comando rcp copiar o contedo dos subdiretrios abaixo do diretrio corrente. rsh O comando rsh executa um comando qualquer no host (micro na rede) que voc especificar. Se for chamado se a especificao de um comando, ele executar uma shell interativa no host remoto. Veja algumas opes de uso comum: -l permite executar a shell como um outro usurio, -n l dados de /dev/null e -d liga a opo de debugging do socket. Exemplo:
# rsh -l adilson outro.host # rsh micro10

ssh, telnet Permite abrir um canal de comunicao entre duas mquinas da rede atravs de um ssh ou telnet. Se der certo, deveremos informar nome de usurio e a senha. Exemplo: telnet 192.168.200.8. O micro 8 ser solicitado para comunicao. wget, kget O comando wget muito interessante, pois podemos fazer via console depois que estivermos conectados Internet o espelhamento de uma pgina da Internet. O espelhamento a cpia idntica de uma pgina e sua hierarquia de diretrios para o nosso computador. O processo muito simples:
# wget -R nome.do.site.com.br # wget -nH -r -l2 http://www.redhat.com

62

Global Sul Informtica

Comandos para manipulao de usurios e grupos


useradd Adiciona um novo usurio no sistema. Por default, quando um novo usurio adicionado, criado um grupo com o mesmo nome do usurio. Ser criado tambm um diretrio home com o nome do usurio por exemplo: /home/adlson, /home/janaina, /home/gabriel etc.
# useradd adilson # useradd linux

userdel Remove um usurio do sistema. Se for usado somente o comando userdel seguido do nome o usurio, apenas o seu login ser removido, porm o seu diretrio /home/nome_do_usurio ainda estar no sistema (para um excluso mais tarde). Mas se voc quer eliminar o usurio sem d e com scom o seu home, use o comando: userdel -r usurio.
# userdel ricardocd # userdel henrique

users Exibe os nomes de usurios que esto usando o sistema no momento. Os nomes de usurios so mostrados atravs de espaos sem detalhes adicionais. chfn Faz a troca de dados usados pelo comando finger (informaes extras de usurios cadastrados no sistema). Exemplo:
# chfn -f Adilson Rodrigues Bonanovisky adilson

id Exibe a identificao atual do usurio, grupo primrio e outros grupos a que pertence. Exemplo:
# id -g -n -u -r

logname Exibe o seu login, ou seja, o seu nome de usurio conectado ao sistema. Exemplo: logname. passwd Serve para adicionar uma senha de acesso a um usurio j cadastrado no sistema. Se voc quiser apenas atualizar a senha desse usurio, use o parmetro -u, que o usurio agora ter uma nova senha. Exemplo:
# passwd root Changing password for user root New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully

chpasswd Permite que a partir de um arquivo lote de texto possamos atualizar as senhas de vrios usurios de uma nica vez sem ter que passar pelo transtorno de atualizar no brao as senhas de todos os usurios. Se ao comando for passado o parmetro -e, as senhas estaro em forma criptogrfica. Seu uso bem simples, dentro do arquivo de lote, linha por linha coloque assim:
nome_do_usurio:senha_do_usurio nome_do_usurio:senha_do_usurio ...

groupadd Cria um grupo no sistema Linux. Alguns usurios gostam de criar grupos com quatro letras e em maiscula, pois assim os grupos se diferenciam dos grupos j existentes no sistema. Exemplo:

63

Treinamento Linux Administrao, Redes e Servios

# # # #

groupadd groupadd groupadd groupadd

visitante administracao expedicao hackers

groupdel Do mesmo modo que voc pode eliminar usurio do sistema, poder eliminar grupos tambm. Exemplo:
# groupdel visitante # groupdel hackers

groups Mostra os grupos a que o usurio pertence no sistema. Exemplo: # groups. sg Executa um comando com outra identificao de grupo. A identificao do grupo de usurio modificada somente durante a execuo do comando. Exemplo sg root ls -laF /root. newgrp Altera a identificao de grupo do usurio. Para retornar identificao anterior, digite exit e ENTER. Para executar um comando com outra identificao de grupo de usurio, use o comando sg, como vimos anteriormente. Exemplo newgrp -HACK. chgrp Troca a propriedade de grupo dos arquivos fornecidos para o grupo, o qual pode ser um nome de grupo ou a sua identificao numrica. A opo -R altera recursivamente a propriedade de diretrios e de seus contedos. chown Altera o usurio e/ou a propriedade de grupo de cada arquivo fornecido conforme especificado pelo primeiro argumento sem opo como segue: se somente um nome de usurio (ou nmero de identificao do usurio) for fornecido, aquele usurio torna-se o proprietrio do arquivo fornecido, aquele usurio feito o proprietrio dos arquivos, e o grupo dos arquivos no ser alterado. Se um nome de usurio seguido de dois pontos e um nome de grupo (ou nmero de identificao de grupo) sem espaos entre eles, a propriedade de grupo do arquivo alterada tambm. Exemplo :
# chown -R adilson:hack /home/adilson/*.

Comandos de som no sistema


alsconf, sndconfig, system-config-soundcard Permite configurar o servidor de som ALSA (placa de som). cdplay e cdp O cdplay um programa em modo texto e interativo com o usurio para controlar e tocar cd de msicas. cdparanoia Presente hoje em vrias distribuies Linux responsvel pela extrao de msica em cd-udio para o formato CDDA, que poder ser gravada em cd-rom e/ou convertida para padro mp3 em uma outra hora. Tambm os formatos salvos podero ser WAV, AIFF, AIFF-C ou RAW. Esse comando permite vrias personalizaes, e para saber todas elas use o comando: man cdparanoia. Bladeenc Esse comando responsvel pela converso de um arquivo de adio no formato WAV para o formato mp3. Ele tambm permite vrias personalizaes, e para saber todas elas use o comando: man bladeenc. grip Extrai e cria msicas mp3 com boa taxa de qualidade. mp3c Cria CDs de udio com pesquisa em freedb.org.

64

Global Sul Informtica

mpg123 e mpg321 Toca msicas mp3 em modo texto. play Executa um arquivo de som em qualquer disposivo j configurado. O comando rec grava/cria um arquivo de udio em qualquer formato. alien Converte ou instala pacotes no sistema. Os parmetros so:
-d, --to-deb: Constroi/converte pacotes para o formato debian (deb). -r, --to-rpm: Constroi/converte pacotes para o formato rpm. -t, --to-tgz: Constroi/converte pacotes para o formato tgz. --to-slp: Constroi/converte pacotes para o formato slp. -i, --install: Instala automaticamente os pacotes gerados.

Exemplos:
# # # # alien --to-deb package.rpm alien --to-rpm package.deb alien -i package.rpm alien --to-rpm --to-tgz foo.deb bar.rpm baz.tgz

apt-cdrom Esse comando usado para adicionar um novo cd-rom ao arquivo de listas de mdias s pesquisas de pacote para instalao. apt-get update Atualiza um ou mais pacotes via apt. apt-get upgrade Atualiza um ou mais pacotes via apt. apt-get install pacote Instala um ou mais pacotes via apt. apt-get remove pacote Remove um ou mais pacotes via apt. Kpackage Instalador grfico de programas do KDE. ./configure Quando for scripts de instalao com o arquivos-fonte, esse comando faz as configuraes necessrias. make Quando for scripts de instalao, esse comando cria os objetos necessrios para prosseguir com a instalao. make intall Quando for scripts de instalao, esse comando instala os binrios. rpm -ivh Instala um pacote no sistema. rpm -Uvh Atualiza um pacote do sistema. rpm -e pacote Remove o pacote do sistema. synaptic Gerenciador de pacotes, muito bom, faz gerenciamento de cd-rom, faz download de arquivos, busca e instala automaticamente todas as dependncias de um pacote, desinstala resolvendo dependncias e atualiza um sistema inteiro.

65

Treinamento Linux Administrao, Redes e Servios

Comandos de empacotamento e compresso de arquivos


bzip2, bunzip2 Compacta ou expande arquivos. O bgzip2 reduz o tamanho dos arquivos mais do que os outro compactadores. compress, uncompress, zcat Compacta e ou expande arquivos. gzip, gunzip, zcat Compacta ou expande arquivos. O gzip reduz o tamanho dos arquivos usando um cdigo Lempel-Ziv (LZ77). Sempre que possvel, cada arquivo substitudo por outro com a extenso .gz, mantendo o dono, as permisses e as datas de modificao. tar No um compactador e sim um arquivador, pois ele junta vrios arquivos em um s, mas pode ser usado em conjunto com um compactador como o gzip, bzip2 ou zip para armazen-los compactados. O comando tambm muito usado para cpias de arquivos especiais ou dispositivos do sistema. comum encontrar arquivos com a extenso .tar, .tar.gz, .tgz, .tar.bz2, .tar.Z etc. O primeiro um arquivo normal gerado pelo tar e todos os outros so arquivos gerados atravs do comando tar com um programa de compactao: gzip (.gz), bzip2 (.bz2) e compress (.Z). zip, zipcloak, zipnote, zipsplit Empacota e compacta arquivos. O programa til para empacotamento de uma srie de arquivos para distribuio, arquivamento e para economizar espao em disco temporariamente, compactando arquivos e diretrios sem uso.

Comandos de verificao de logs /var


cat /var/log/boot.log Mostra informaes sobre os dias em que o micro foi ligado. cat /var/log/cron Mostra as informaes sobre tarefas agendadas no sistema. cat /var/log/messages Mostra todas as informaes enviadas pelo kernel em processo de inicializao de mquinas. cat /var/log/secure Mostra em quais terminais (tty) usurios fizerem login. possvel saber o ms, dia, hora, nome da mquina (hostname) que fez o login e em qual tty.
# cat /var/log/secure: Mar 6 14:42:50 adilson Mar 8 09:57:29 luzia Jun 5 11:58:55 gabriel Jun 5 13:23:29 sonizia Jun 5 13:28:05 kelly Jul 21 08:50:02 anarosa Jul 22 17:38:59 adenisia Ago 22 17:46:32 marcos Ago 22 17:54:32 marlene Set 1 08:45:57 adilson login: login: login: login: login: login: login: login: login: login: ROOT ROOT ROOT ROOT ROOT ROOT ROOT ROOT ROOT ROOT LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN LOGIN ON ON ON ON ON ON ON ON ON ON tty1 tty2 tty3 tty4 tty2 tty4 tty2 tty5 tty6 tty6

last e lastlog Mostra uma lista das entradas e sadas dos usurios do sistema e o comando lastlog Informa o ltimo login do usurio que utilizou o terminal.

Comandos diversos
alias e unalias Permite criar temporariamente um atalho para um comando ou seqncia de comandos e o comando unalias permite remover o que foi setado pelo alias. arch Exibe a arquitetura do computador. apropos Pesquisa a base de dados whatis por expresses.

66

Global Sul Informtica

arp Manipula o cache ARP do sistema. at, batch, atq, atrm Agenda, examina ou exclui tarefas para execuo posterior. Os comandos at e batch lem comandos da entrada padro ou de um arquivo especificado que devem ser executados em um momento posterior, usando o shell /bin/sh. O comando at executa os comandos em um determinado momento. atq O comando atq lista as tarefas pendentes do usurio, exceto quando o usurio o superusurio; neste caso, as tarefas de todos os usurios so listadas. atrm O comando exclui tarefas agendadas pelo comado at. batch O comando batch executa comandos quanto o nvel de uso do sistema permitir; em outras palavras, quando a carga mdia de trabalho do processador, lida de /proc/loadavg, cair abaixo de 0.8, ou o valor especificado na chamada de atrun. aumix Ajusta os valores do audio mix. bzcat Lista os arquivos compactados. clear Limpa a tela. clock Retorna o tempo de CPU. cut O comando cut extrai as partes selecionadas de cada arquivo na sada padro (stdout); ele usado quando queremos apenas um pedao de dentro do arquivo, onde, por exemplo, pode comear na coluna dois e terminar na coluna quatro. Vamos supor que desejamos saber o userid e os usurios locais da mquina; ento, deveremos usar o seguinte comando cut -d: -f1,5 /etc/passwd. echo Mostra uma linha de texto. find Pesquisa arquivos em um hierarquia de diretrios. Exemplo:
# find /usr/X11R6 -name "*.c" -print /usr/X11R6/include/X11/Xaw/Template.c /usr/X11R6/include/Xaw3d/Template.c /usr/X11R6/include/Xaw3d/Template2.c /usr/X11R6/include/Xaw3d/Template3.c

grep, egrep, fgrep Lista as linhas que combinam com um padro. jed, joe e jpico So simples editores de texto em modo texto. login O comando login usado quando se obtm acesso ao sistema. Ele pode ser usado para alterar de um para outro usurio. logout O comando logout encerra o console (modo texto) e volta ao prompt. Se voc estiver dentro de um terminal em modo grfico, o terminal ser fechado. lsattr Lista atributos de arquivos do sistema Linux. mail Permite mandar e receber emails no computador.

67

Treinamento Linux Administrao, Redes e Servios

mtools Utilitrios para acessar discos MS-DOS no Unix. O mtools uma coleo de ferramentas de domnio pblico que permite aos sistemas Unix manipular arquivos MS-DOS: leitura, gravao e movimentao de arquivos em sistemas de arquivos MS-DOS (tipicamente disquetes). pstree Exibe uma rvore de processos que esto rodando. printenv Exibe as variveis locais do sistema. quota Exibe o espao em disco e quanto est em uso por um usurio. quotacheck Faz uma varredura em um sistema de arquivos procurando por quotas de discos, cria e faz tambm reparaes em quotas de disco. quotaon, quotaoff Liga e desliga o suporte a quotas de disco. reboot Executa o nvel 6 do sistema Linux reinicializando o sistema. sleep Faz com que o micro adormea por um determinado perodo, muito til para testar processos em arquivos. Os parmetros usados so: s = seconds | m = minutes | h = hours | d = days setterm O comando setterm permite voc troque as cores na sua console. As cores possveis so: black, blue, green, cyan, red, magenta, yellow, white e default. slogin Faz conexo com outro micro, semelhante ao ssh. sort Ordena linhas de arquivos textos. split O comando split divide um arquivo grande em pequenas partes. Exemplo: split -b 1400k arquivo_grande. startx Executa o carregamento de uma interface grfica. sync Sincroniza o sistema de arquivos quando este no estiver em sintonia. Use sync; sync; reboot para sintonizar o sistema. su Executa um interpretador de comandos com substituio de usurio e grupo. O comando su no administra /bin/sh ou outros interpretadores de forma especial. Em sistemas que tenham syslog, o comando su pode ser compilado para reportar falhas e, opcionalmente, comandos su bem-sucedidos. sudo Executa um comando como outro usurio. shutdown Desliga o sistema aps determinado tempo (programvel) de uma forma segura. Todos os usurios que estiverem acessando o sistema sero notificados que o sistema est prestes a ser desligado, e o programa login ser bloqueado. Este comando somente pode ser executado pelo usurio root ou quando usada a opo a pelos usurios cadastrados no arquivo /etc/shutdown.allow que estejam logados no console virtual do sistema. tee L da entrada padro e grava na sada padro. timeconfig Interface simples para configurar horrio do sistema. touch Altera o rtulo de tempo do arquivo ou cria um arquivo vazio.

68

Global Sul Informtica

updatedb Atualiza um banco de dados de nome de arquivos. uptime Diz h quanto tempo o sistema est funcionando. uuname Mostra o alias do nome da mquina. wc Lista o nmero de bytes, palavras e linhas nos arquivos. Se usarmos o comando wc /etc/passwd ele mostrar a quantidade de linhas, palavras e letras (bytes) no arquivo /etc/passwd.

Comandos genricos do ambiente grfico Gnome


*(depende do que estiver instalado em seu computador) galeon: Navegador leve e rpido com suporte a Java Script, Java, Flash e vrios plug-ins. gataxx: Jogo Interessante de estratgia de tomar a pedra do outro. gconf-editor: Editor para o configurado do sistema G-Conf. gdm: Gerenciador de login grfico do ambiente Gnome. gdmconfig: Utilitrio configurador do gerecniador de login gdm. gedit: Editor genrico de textos do gnome. gfloppy: Formatador de disquetes do Gnome. ggv: Visualizador de arquivos postscript. gimp: timo editor de imagens no estilo photoshop para Linux. gman: Visualizador de pginas de manual. gmplayer: Tocador de msicas. gnibbles: Jogo da cobrinha faminta. gnobots2: Joguinho de robos. gnome: Ambiente grfico gnome. gnome-background-properties: Para trocar o papel de parede. gnome-cd: Tocador de CD do gnome. gnome-cd-properties: Configurador autorun para CD e DVD do Gnome, mas que serve tambm para outros gerenciadores. gnome-character-map: Mapa de caracteres. gnome-control-center: Centro de controle do Gnome. gnome-default-applications-properties: Configurador de lanamento de aplices. gnome-file-types-properties: Configurador de tipo de arquivo e aplicaes executveis. gnome-font-install, gnome-font-properties: Instalador de visualizador de fontes. gnome-help: Sistema de ajuda do Gnome. gnome-keybinding-properties: Configurador de atalhos de teclado. gnome-keyboard-properties: Configurador de propriedades de teclado. gnome-mouse-properties: Configurador de propriedades de mouse. gnome-network-preferences: Configurador de proxy de rede. gnome-panel: Carrega o painel do Gnome. gnome-search-tool: Localizador de arquivos. gnome-session: Gerenciador de janelas Gnome. gnome-session-properties: Configrador de propriedades. gnome-sound-properties: Propriedades de som do Gnome. gnome-sound-recorder: Gravador de som do Gnome. gnome-stones: Joguinho interessante de caa ao diamante. gnome-terminal: Terminal Gnome. gnome-text-editor: Editor de textos genricos do Gnome. gnome-theme-manager: Gerenciador de temas do Gnome. gnome-volume-control: Configurador de volumes do Gnome.

69

Treinamento Linux Administrao, Redes e Servios

gnome-window-properties: Configurador de propriedades de janelas no desktop. gnome-wm: Gerenciador de janelas Gnome. gnometris: Jogo do tetris. gnomine: Jogo do campo minado. gnucash: timo aplicativo para controlar melhor suas contas e seu dinheiro. gvim: Editor vi em modo grfico. gwenview: timo navegador visualizador de imagens.

Comandos genricos do ambiente grfico KDE


*(depende do que estiver instalado em seu computador) k3b: timo programa para gravao de de CD. k3bsetup: Configurador do k3b. kaboodle: Reprodutor de vrios tipos de arquivos de mdia. kaddprinterwizard: Assistente de configurao de impressora. kaddressbook: Excelente catalogador e agenda de endereos. kalarm: Agente pessao de alarmes e mensagens. kalarmd: Daemon do kalarm. kalzium: Pequeno e importante utilitrio da tabela peridica. kappfinder: timo utilitrio que encontra aplicativos para incluir no menu do KDE. karm: Pequena ferramenta para controle de tempo no KDE. kasteroids: Jogo de asteroides. Muito bom e divertido. timo para tirar o stress. kate: timo editor de texto do KDE. katomic: Excelente jogo para montar frmulas qumicas. kaudiocreator: Utilitrio para gravao de CD's. kbackgammon: Jogo de gamo. kblackbox: Jogo de combinao de cores. kbounce: Jogo de prender bolinhas. kcalc: Calculadora do KDE. kcharselect: timo mapa de caracteres. Semelhante ao do Windows e ao menu Inserir -> Smbolo... do MS Word. kchat: timo utilitrio para trocas de mensagens internas. kcolorchooser: Selecionador de cores para aplicaes. kcoloredit: Semelhante ao kcolorchooser. kcontrol: Centro de controle do KDE. kcron: Editor de tarefas do sistema, muito simples de usar. kdat: timo e rpido utilitrio para se fazer backup em fitas. kde: Executa o gerenciado KDE. kdeautorun: Utilirio de autorun em CD's. kdedesktopcd: Utilitrio criador do cone do CD-ROM no desktop. kdeeject: Ejeta um mdia montada em um ponto de montagem. kdepasswd: Utilitrio para troca de senhas. kdeprintfax: Utilitrio para se trabalhar com faxes no KDE. kdesktop: Carrega o desktop padro do KDE. kdessh: Efetuar conexes SSH dentro do ambiente KDE. kdf: Utilitrio kdiskfree que mostra informaes sobre as parties do sistema. kdm: Gerenciador de login grfico do KDE. kdm_config: Configurador do kdm. kdvi: Leitor de arquivos .kdvi do sistema. kedit: Editor de propsito genrico do KDE. keditbookmarks: Editor e geenciador dos "Favoritos" do Konqueror. keduca: Criador de testes/exames de perguntas e respostas baseados em formula'rios.

70

Global Sul Informtica

kenolaba: Jogo de mover bolinhas coloridas. Jogo de estratgia. kernelversion: Comando para mostrar a versao do kernel. kfax: Outro utilitrio para se trabalhar com faxes no Linux. kfind: Ferramente para se fazer busca em arquivo pelo sistema. Semelhante ao Localizar do ambiente Windows. kfloppy: Formatador de disquetes do KDE. kfouleggs: Jogo estiulo tetris com colinhas coloridas. kgeo: Utilitriod de geometria interativa. kget: Semelhante ao GetRight do ambeinte Windows. kghostview: Utilitrio para leitura de arquivos postscript.k khangman: Jogo da forca. khelpcenter: Manual eletrnico do KDE. khexedit: Editor hexadecimal do KDE. kiconedit: Editor de cones do KDE. kinfocenter: Utilitrio para exibir informaes sobre o sistema. kjobviewer: Visualizador de filas de impresso. kjots: Pequeno utilitriopara controle de notas. klickety: Jogo semelhante ao tetris onde as peas j esto sobre postas e voc clica nas cores iguais para tirar as pedras. klines: Joguinho legal onde voc dever formar umalinhas inteira com bolinhas coloridas. klipper: rea de transferncia do KDE. kmahjongg: Famoso jogo Mahjong. kmail: timo cliente de email do KDE. kmailcvt: Importador de contas de email do Outlook. kmenuedit: Excelente utilitriopara gerenciar (manuteno) os menus do KDE. kmessedwords: Jogo de advinhar palavras. kmid: Tocador de arquivos .mid. kmidi: Tocador de arquivos .midi. kmines: Jogo de minas do KDE. kmix: Mixer para controle de volumes. kmixctrl: Semelhante ao kmix. kmplayer: Midia player do KDE. knode: Excelenet leitor de news do KDE. knotes: Papis para lembrete na tela do seu micro. kolf: Joguinho de golf. konqueror: Excelente gerenciador de arquivos e navegador de Internet. kooka: Utilitrio para scaner. Suporta boa quantidade de scaners. kopete: Muito bom gerenciador de mensagens semelhante ao ICQ. korganizer: Excelente organizador pessoal do KDE. kpackage: Gerenciador de pacote do KDE. kpager: Visualizador de Minitores virtuais do KDE. kpaint: Paint do KDE. kpat: Jogo de pacincia do KDE. kpersonalizer: Pequeno utilitrio para personalizar o KDE. kpilot: Utilitrio para sincronizar arquivos com o Palm Pilot. kpm: Gerenciador de processos. kpoker: Jogo de poker no Linux. kpovmodeler: Para quem sabe um modelador 3D de objetos. kppp: Utilitriopara conexes discadas no Kde. kprinter: Utilitrio de caixa de dilogo para impresso. krdc: Abre um desktop remoto em sua mquina. Aceita todos os servios VNC. kreatecd: Utilitrio para gravao de CD's.

71

Treinamento Linux Administrao, Redes e Servios

krec: Utilitrio para gravao de CD's do KDE. kreversi: Jogo reversi. krfb: Utilitrio para compartilhamento remoto de desktop. ksame: Joguinho legal de bolinhas coloridas. kscd: Tocador de CD's do KDE. kshisen: Jogo muito bom semelhante ao madjong. ksim: Pequeno utilitrio monitor de sistemas baseado em plug-ins. ksirc: Excelente IRC. Fique horas batendo papo ou estudando com amigos na Internet. ksirtet, ksmiletris: Jogo do tetris. ksnake: Jogo da cobrinha faminta. ksnapshot: timo utilitrio para captura de telas e janelas. ksokoban: Todo mundo conhece, agora mostre que voc bom nesse jogo. ksplash: Tela de abertura do KDE. kstars: Conecte-se na Internet e conheca o universo com esse utilitrio. ksyms: Mostra smbolos exportados do kernel. ksysguard: Mostra informaes detalhadas sobre processos do sistema. ksysv: Gerenciador de runlevels do sistema Linux. ktip: Mostra dicas teis do kdald. ktouch: Treino de datilografia no Linux. ktron: Lembra do filme Tron? Ento, esse jogo simples mas interessante de brincar com ele. ktuberling: Que tal montar o "homem batata". kuickshow: timo visualizador de imagens. kuser: Gerenciador de usurios e grupos de usurios. kview: Visualizador de imagens. kvirc, kvirc-config: Outro excelente programas de IRC. kwin4: Jogo interessante de ligue quatro. Tente colocar quatro peas suas lado a lado, se conseguir. kwrite: Editor generico de textos. kxconfig: Configurador XF86Config em modo grfico. Agora muito mais fcil de usar.

72

Global Sul Informtica

Anotaes:

73

Treinamento Linux Administrao, Redes e Servios

Anotaes:

74

Global Sul Informtica

Captulo 3

Gerenciamento de usurios e grupos


O sistema Linux realmente um sistema multitarefa, ou seja, vrias pessoas podem usar o sistema simultaneamente para extrair recursos que podem estar compartilhados ou no. muito comum em um computador vrios usurios logados e trabalhando em conjunto, tais como:
1. 2. 3. 4. Compartilhando impressora. Compartilhando Internet e arquivos. Executando programas remotamente. Compartilhando desenvolvimento de projetos etc.

Enfim, o Linux realmente faz isso e faz melhor que qualquer outro sistema operacional, diga-se de passagem; o que vamos aprender aqui como configurar, criar e gerenciar usurios e grupos de um modo correto. Mesmo sendo um computador isolado, vrias pessoas podem usar o mesmo micro, porque o Linux cria perfis de usurios independentes e no atrapalha outro usurio que for usar o computador em uma outra hora. Por exemplo, o usurio adilson pode usar o micro com a interface grfica Window Maker, assim como um outro usurio poder usar o micro em uma outra hora e usar a interface grfica KDE; ainda assim, poder mandar um e-mail para o usurio adilson e vice-versa. Este, quando fizer o login, ser notificado que tem um novo e-mail e poder ver do que se trata. Isso muito til em empresas que tm turnos de turmas de funcionrios, como servio de digitao. Para trabalharmos com contas de usurios1 e de grupos deveremos conhecer os comandos adduser, addgroup, passwd, newgrp, userdel, groupdel, sg, chfn, id, logname, users e groups, kuser e outros programas que podero acompanhar a sua distribuio.

Gerenciamento de usurios e grupos


Vamos aprender aqui como que poderemos criar e gerenciar usurios e grupos com comandos de modo texto, os quais so simples de serem entendidos e para isso usaremos alguns comando relativos aos comandos de usurios. O comando adduser ou useradd Permite que seja adicionado um usurio ou grupo no sistema. Por padro, quando um novo usurio adicionado, criado um grupo com o mesmo nome do usurio. O modo mais simples de se criar um usurio assim:
# useradd <nome_do_usurio>

Ser ento criado um diretrio $HOME (diretrio do usurio) com o nome do usurio (a no ser que o novo usurio criado seja um usurio do sistema) que receber uma identificao. Geralmente o local onde esto os usurios /home/<nome_do_usurio>. Se fosse digitado o comando useradd adilson, no nosso caso o usurio adilson que residir em /home/adilson. A no ser que seja especifiado um outro lugar no /home que residiro os usurios. A identificao do usurio (UID) escolhida ser a primeira disponvel no sistema, especificada de acordo com a faixa de UIDS de usurios permitidas no arquivo de configurao /etc/adduser.conf ou /etc/default/useradd. Esse o arquivo que contm os padres para a criao de outros usurios no sistema que se parecem com o exemplo a seguir:

75

Treinamento Linux Administrao, Redes e Servios

GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel

Onde o diretrio padro o/home, a conta no expira, sempre estar ativa; o shell que o usurio vai usar o bash e o diretrio base para criao /etc/skel. Esses arquivos so responsveis pelas configuraes de alguns programas para o modo grfico (.Xdefaults), comandos pr-definidos para o usurio (.alias), comandos executados quando o usurio estiver se desconectando do sistema (.bash_logout), quando o usurio estiver se conectando no sistema (.bash_profile) e comando novos que o usurio poder criar (.bashrc)

DICA: O nico usurio que o UID igual a 0 (zero) e GID tambm igual a 0 (zero) o usurio root que Deus no mundo Linux; inclusive, no muito aconselhvel voc estar conectado no sistema como esse usurio, pois se voc digitar o comando rm -fr * &, esquea, o estrago j estar feito e voc dever reinstalar todo o sistema.

A seguir, um exemplo de um usurio que acabou de ser criado no sistema; esse acabou de usar alguns programas e tambm o modo grfico. Observe que no sistema Linux a grande maioria dos arquivos de configurao comea com um ponto . isso quer dizer que esse arquivo estar oculto de uma listagem normal:
total 12 drwx-----drwxr-xr-x -rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r-2 5 1 1 1 1 1 1 1 gabriel root gabriel gabriel gabriel gabriel gabriel gabriel gabriel gabriel root gabriel gabriel gabriel gabriel gabriel gabriel gabriel 1024 1024 3304 508 24 230 124 154 593 Out Out Out Out Out Out Out Out Out 2 2 2 2 2 2 2 2 2 2003 2003 2003 2003 2003 2003 2003 2003 2003 ./ ../ .Xdefaults .alias .bash_logout .bash_profile .bashrc .cshrc .xserverrc

O comando useradd tem vrios parmetros opcionais e recomendo que voc leia a pgina de manual dele para saber mais. Use o comando man adduser para abrir sua pgina de manual. O comando passwd Todo usurio cadastrado no sistema Linux obrigatoriamente precisa ter uma senha de acesso; o comando passwd cria ou altera a senha do usurio ou grupo. Um usurio somente pode alterar a senha de sua conta, mas o superusurio root pode alterar a senha de qualquer conta de usurio, inclusive a data de validade da conta etc. Os donos de grupos tambm podem alterar a senha do grupo com este comando. A opo u usada para indicar que a atualizao somente pode ser efetuada para senhas expiradas, mantendo-se a senha atual at a data de sua expirao. Mas, se preciso for, alterar a senha de uma conta de usurio sem que ela tenha expirado muito simples, bastando para isso usar o comando passwd <nome_do_usurio> e proceder de forma normal que este ter a sua nova senha de acesso ao sistema. Tambm possvel cadastrar uma senha mediante o comando userpasswd. Os dados da conta do usurio como nome, endereo e telefone tambm podem ser alterados com esse comando ou pelo comando chfn, o qual troca o finger dos usurios, ou seja, essas informaes mencionadas. Exemplo:
# passwd gabriel Changing password for user adilson New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully

76

Global Sul Informtica

A seguir voc pode ver um exemplo de um pequeno servidor Linux onde h alguns usurios j cadastrados no sistema:
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: lp:x:4:7:lp:/var/spool/lpd: sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail: news:x:9:13:news:/var/spool/news: uucp:x:10:14:uucp:/var/spool/uucp: operator:x:11:0:operator:/root: games:x:12:100:games:/usr/games: gopher:x:13:30:gopher:/usr/lib/gopher-data: ftp:x:14:50:FTP User:/srv/ftp: nobody:x:65534:65534:Nobody:/home: sshd:x:100:233:sshd:/var/empty:/bin/false postfix:x:101:101:postfix:/var/spool/postfix: gdm:x:42:42::/home/gdm:/bin/bash adilson:x:500:500:Adilson Bonan:/home/adilson:/bin/bash gabriel:x:501:501:Gabriel TBonan:/home/gabriel:/bin/bash luzia:x:502:502::/home/luzia:/bin/bash cristiane:x:503:503::/home/cristiane:/bin/bash leniza:x:504:504::/home/leniza:/bin/bash

O funcionamento desse arquivo simples, vejamos uma linha:


cristiane:x:503:503::/home/cristiane:/bin/bash

Ns temos o nome do usurio, a senha dele (quando aparecer um x a senha est criptografada e est no /etc/shadow), o grupo do usurio, seu lugar no sistema e qual interpretador ele usar. Veja a seguir uma listagem parcial do arquivo /etc/shadow:
root:$1$jhjnccLx$rnf6OEFKUBJwUNdXf0em81:12290:0:99999:7::: shutdown:*:12290:0:99999:7::: halt:*:12290:0:99999:7::: mail:*:12290:0:99999:7::: ftp:*:12290:0:99999:7::: nobody:*:12290:0:99999:7::: gdm:!!:12290:0:99999:7::: adilson:$1$LRJ6X3sT$h/rFLrNzP70nauO5lpRlo.:12290:0:99999:7::: gabriel:$1$3YzQ7O2E$4Q9hPsVJd00fY3F8jsq/f1:12290:0:99999:7::: luiza:wLl43UZ68Kw5E:12327:0:32767:7:::11536288 cristiane:wTuaeL941YU1I:12327:0:32767:7::: leniza:wvEcsoeUhPNGs:12327:0:32767:7:::0

Esse arquivo, o /etc/shadow, est criptografado e geralmente no nada fcil descriptograf-lo. A maioria dos sistemas Linux usa uma criptografia chamada MD5, o que j complica as coisas para um hacker. Mas vamos fazer um pequena observao; reparem as linhas:
... luciene:!!:12327:0:32767:7:::97 fernando:!!:12327:0:32767:7:::32767 marcio:GIzHMV3kJFO.o:12327:0:32767:7:::0 ...

A usuria luciene e o usurio fernando apresentam !! em lugar da senha criptografada. Isso significa que eles ainda no possuem senha, o que um perigo pois os torna altamente vulnerveis para os hackers. No entanto, o usurio marcio j apresentam sua senhas criptografada, dificultado assim a quebra de senhas. E por falar em quebra de senhas, o melhor quebrador de senhas o Jonh The Riper.

77

Treinamento Linux Administrao, Redes e Servios

DICA: Caso esteja usando senhas ocultas (shadow passwords), as senhas dos usurios sero gravadas no arquivo /etc/shadow, e as senhas dos grupos no arquivo /etc/gshadow. Isso aumenta mais a segurana do sistema, porque somente o usurio root pode ter acesso a esses arquivos, ao contrrio do arquivo /etc/passwd, que possui os dados de usurios e devem ser lidos por todos.

O comando chpasswd Esse comando interessante se voc tem que cuidar de muitas senhas de usurios, pois ele permite a atualizao de senhas de mltiplas contas e fcil de usar. Devemos especificar em um arquivo que contm os campos usurio:senha um por linha. Caso as senhas estejam encriptadas dever ser especificada a opo e ao programa. Veja um exemplo do arquivo /etc/senhas.pwd:
... adilson:bonan gabriel:TBonan fabia:theLuv kevin:mitnic ...

OK! Agora use o comando chpasswd /etc/senhas.pwd para que todas senhas sejam atualizadas de uma nica vez. Agora informe aos usurio, n? Um outro arquivo importante o /etc/login.defs, que guarda as definies sobre os usurios do sistema. A seguir, um pequeno exemplo desse arquivo:
# Localizao onde devero residir os e-mails para o usurio #QMAIL_DIR Maildir MAIL_DIR /var/spool/mail #MAIL_FILE .mail # # # # # Aes de controle de senhas: PASS_MAX_DAYS = Nmero mximo de dias p/ a senha pode ser usada. PASS_MIN_DAYS = Nmero mnimo de dias para troca de senhas. PASS_MIN_LEN = Tamanho mnimo aceito para senhas. PASS_WARN_AGE = Nmero de dias p/ aviso antes de expirar. 99999 0 7

PASS_MAX_DAYS PASS_MIN_DAYS PASS_MIN_LEN 5 PASS_WARN_AGE

# Valores mnimo e mximo para o comando useradd na criao de usurios UID_MIN 500 UID_MAX 60000 # O menor UID possvel para o comando useradd, pois existem alguns # UIDs estticos no sistema Linux. No Conectiva o default 100. UID_SYSTEM_MIN 100 # Valores mnimo e mximo para o comando groupadd na criao de grupos GID_MIN 500 GID_MAX 60000 # Se for definido, este comando rodar quando da remoo de um # usurio. Esse comando apeta o at, cron e servios de impresso. # USERDEL_CMD /usr/sbin/userdel_local

# O comando useradd criar os todos usurios em /home/<nome_do_usurio> CREATE_HOME yes # Ser usado o mtodo de criptografia MD5 # que difcil de ser quebrado. MD5_CRYPT_ENAB yes

78

Global Sul Informtica

Se voc quiser encontrar todos os arquivos que no pertenam a nenhum usurio e a nenhum grupo use o comando find / -nouser -o -nogroup -print, e para saber quais arquivos pertencem ao usurio root, use o comando find / -user root. Se voc quiser encontrar todos os arquivos que no pertenam a nenhum usurio e a nenhum grupo use o comando find / -nouser -o -nogroup -print, e para saber quais arquivos pertencem ao usurio root, use o comando find / -user root. O comando usermount Ppermite que os usurio gerencie seus pontos de montagem e outros pontos que o administrador do sistema permite que eles montem. O comando userinfo Exibe uma caixa de informaes qua so chamadas de finger do usurio. Na minha opinio no bom que voc preencha isso, pois um hacker poder usar essas informaes contra voc. O comando userdel Remove um usurio do sistema. Se for usado somente o comando userdel seguido do nome o usurio, apenas o seu login ser removido, porm o seu diretrio /home/nome_do_usurio ainda estar no sistema (para um excluso mais tarde). Mas se voc quer eliminar o usurio sem d e com scom o seu home, use o comando userdel -r usurio.
# userdel luciene # userdel leniza

O comando chown O comando chown altera o usurio e/ou a propriedade de grupo de cada arquivo fornecido conforme especificado pelo primeiro argumento sem opo como segue: se somente um nome de usurio (ou nmero de identificao do usurio) for fornecido, aquele usurio torna-se o proprietrio do arquivo fornecido, aquele usurio feito o proprietrio dos arquivos, e o grupo dos arquivos no ser alterado. Se um nome de usurio seguido de dois pontos e um nome de grupo (ou nmero de identificao de grupo) sem espaos entre eles, a propriedade de grupo do arquivo alterada tambm. Exemplo:
# chown -R adilson:hack /home/adilson/* .

O comando usermod Modifica uma conta de usurio no sistema, do mesmo modo que existe o usermod existe tambm o gropupmod. O comando id Exibe a identificao atual do usurio, grupo primrio e outros grupos a que pertence. O comando logname Exibe o seu login, ou seja, o seu nome de usurio conectado ao sistema. O comando users Exibe os nomes de usurios que esto usando o sistema no momento. Os nomes de usurios so mostrados atravs de espaos sem detalhes adicionais. Os nomes de usurios atualmente conectados ao sistema so obtidos do arquivo /var/log/wtmp. O comando chfn Faz a troca de dados usados pelo comando finger (informaes extras de usurios cadastrados no sistema). O comando groupadd Cria um grupo no sistema Linux. Alguns usurios gostam de criar grupos com quatro letras e em maiscula, pois assim os grupos se difereciam dos grupos j existentes no sistema. O comando groupdel Permite eliminar usurio do sistema, poder eliminar grupos tambm. O comando groups Mostra os grupos a que o usurio pertence no sistema.

79

Treinamento Linux Administrao, Redes e Servios

O comando newgrp Altera a identificao de grupo do usurio. Para retornar identificao anterior, digite exit e ENTER. Para executar um comando com outra identificao de grupo de usurio, use o comando sg, como vimos anteriormente. O comando chgrp Troca a propriedade de grupo dos arquivos fornecidos para o grupo, o qual pode ser um nome de grupo ou a sua identificao numrica. A opo - R altera recursivamente a propriedade de diretrios e de seus contedos. O comando sg Executa um comando com outra identificao de grupo. A identificao do grupo de usurio modificada somente durante a execuo do comando. Os configuradores kuser e system-config-user No ambiente KDE ns temos o kuser que um programa muito bom e flexvel que nos auxilia no gerenciamento de usurios e grupos. Ele Tem controle completo sobre os usurios. Mudar um usurio de grupo, editar informaes do finger desse usurio, excluir, incluir etc tudo isso est apenas alguns clique de mouse. Ele muito bom. Depois que voc cria seus usurios e seus grupos e atribui certas regras para eles e depois manda o kuser salvar o que voc fez, poder conferir pela console (terminal grfico) o que ele vai fazer, se der algum erro para algum usurio, voc saber. O utilitrio system-config-user faz a mesma coisa s que em ambiente Gnome.

Arquivos de configurao e personalizao de usurios


Quando ns estamos digitando no nosso cotidiano, muitas vezes o fazemos usando o interpretador de comando bash entre os muitos outros que existem no sistema. Esse interpretador possui alguns arquivos de configuraes que podemos mexer para ajustar melhor algumas coisas no ambiente Linux. Cada usurio criado no sistema tem os seus prprios arquivos de configurao e os arquivos genricos de configurao, e geralmente a grande maioria deles fica no prprio /home do usurio. Os arquivos so: O /etc/bashrc Quando voc instala o Linux, alguns novos comandos so adicionados nesse arquivo. Voc poder apag-los, adicionar outros comandos, e assim por diante. vejamos uma situao: voc quer que o comando winxpon crie automaticamente um ponto de montagem /mnt/winxp, para sistema Windows XP; entre nesse ponto de montagem e faa uma listagem do que tem l. Bom, pelo mtodo normal voc teria que fazer o seguinte:
# mount -t -vfat /dev/hda1 /mnt/winxp # cd /mnt/winxp # ls -laF /mnt/winxp

Viu como muita coisa a ser feita. Bom, ento agora vamos criar um comando chamado winxpon, que ficar dentro do arquivo /etc/bashrc. Em algum lugar desse arquivo, voc dever adicionar a seguinte linha:
# alias winxpon=mount -t vfat /dev/hda1 /mnt/winxp; ls /mnt/winxp

Depois voc dever digitar o comando . .bashrc dentro do /root, isso se for o root. Ok, agora existe um novo comando chamado winxpon, e se voc o digitar, ter uma listagem dos arquivos que esto na partio do Windows. Mas, nesse caso, voc no entrou na partio Windows XP, e sim apenas listou o contedo que agora est em /mnt/winxp. Vejamos o contedo do arquivo /etc/bashrc:
# Funes e aliases para todo o sistema. # Configuraes do ambiente devem ser feitas no /etc/profile. # Por alguma razo desconhecida, o bash se recusa a herdar a # varivel PS1 em # algumas circunstncias. # Colocando o PS1 aqui garante que ela seja carregada sempre. PS1="[\u@\h \W]\\$ " alias which="type -path" alias l="ls -laF --color"

80

Global Sul Informtica

alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias

ls="ls --color" m="minicom -s -con -L" minicom="minicom -s -con -L" tm="tail -f /var/log/messages" tmm="tail -f /var/log/maillog" tms="tail -f /var/log/secure" cds="cd /etc/rc.d/init.d && ls" fd="mount /dev/fd0 /mnt/floppy; cd /mnt/floppy && ls" ufd="cd /mnt && umount floppy && ls" winxpon="mount -t vfat /dev/hda1 /mnt/winxp; ls /mnt/winxp" winxpoff="cd; umount /mnt/winxp" cdon="mount -t iso9660 /dev/cdrom /mnt/cdrom; ls /mnt/cdrom" cdoff="cd; umount /mnt/cdrom; eject" boot="shutdown -r now" off="shutdown -h now" xt="setterm -store -background back -foreground green"

O .bash_history O arquivo .bash_history guarda todos os comandos que voc digitou at hoje. Falando a verdade, ele guarda umas 1000 (mil) linhas de comandos digitados (isso depende da distribuio que voc estiver usando). S que algumas vezes necessrio zerar esse arquivo do sistema. Voc pode fazer isso da seguinte maneira:
# rm -f .bash_hystory # touch .bash_hystory

Ok! Desse modo voc ter um arquivo .bash_history novinho em folha. Caso o comando touch no funcione, use o comando cat > .bash_hystory e depois CONTROL+D; assim ser criado um arquivo zerado. Outra maneira de zerar o arquivo .bash_hystory: O bash (interpretador de comandos) registra at uns 1000 (mil) comandos antigos no arquivo ~/.bash_history (onde ~/ diretrio home do usurio em questo), como j sabemos, e para tornar fcil a repetio de longos comandos. Cada usurio que tenha uma conta no sistema ter seu arquivo .bash_history em seu diretrio home. O bash deve registrar um nmero menor de comandos e apag-los quando o usurio sair do sistema. Podemos fazer isso de dois modos: 1. As linhas HISTFILESIZE e HISTSIZE do arquivo /etc/profile determinam o tamanho de comandos antigos que o arquivo .bash_history guarda para todos os usurios que o seu sistema pode suportar. Eu realmente recomendaria a configurao do HISTFILESIZE e HISTSIZE no arquivo /etc/profile para um valor menor como 30 (trinta). Edite o arquivo /etc/profile e altere as linhas para:
... HISTFILESIZE=30 HISTSIZE=30 ...

Significa que o arquivo .bash_history de cada diretrio home de usurios pode registrar at 30 (trinta) comandos antigos e no mais. 2. O administrador deve tambm adicionar ao arquivo /etc/skel/.bash_logout a linha: rm -f $HOME/.bash_history, para que a cada vez que o usurio saia do sistema, seu arquivo .bash_history seja apagado. Edite o arquivo /etc/skel/.bash_logout e adicione a seguinte linha: rm -f $HOME/.bash_history. O alias e o unalias Os alias/unalias permitem que voc crie na hora, sem precisar editar, comandos novos que apenas estaro valendo para aquele momento. Por exemplo, o comando novo tudo vai listar no seu hd. Exemplo alias tudo=ls / -lR e, para desfazer o comando todo, use o comando unalias. O .bashrc O arquivo .bashrc o executvel oculto que pode fazer valer as suas novas variveis no sistema. Seu uso muito simples: aps voc definir as novas variveis (comandos) no arquivo /etc/bashrc, ser preciso executar a leitura desse arquivo com o comando: . .bashrc ou ./bashrc (em alguns casos). Bom, se voc for esperto j se perguntou: Pera, desse jeito eu posso criar os comandos do MS-DOS dentro do /etc/ bashrc, ento? Bom, a resposta : Pode, mas para qu tanto trabalho, se o Linux j tem o dosemu prontinho esperando por voc?

81

Treinamento Linux Administrao, Redes e Servios

O .bash_profile Abaixo, ns temos o arquivo .bash_profile que responsvel pelos novos comandos contidos em /etc/bashrc. Ele l esses novos comandos e tambm controla as variveis de sistema. Observe o arquivo abaixo. Na ltima linha, mesg n no deixa que voc receba mensagens, caso voc queira receber mensagens de outro usurios da rede, a ltima linha deve ser mesg y.
# .bash_profile # Executa os aliases e funes. if [ -f ~/.bashrc ]; then . ~/.bashrc fi # Especifca o ambiente e os programas na inicializao. PATH=$PATH:$HOME/bin ENV=$HOME/.bashrc USERNAME=root export USERNAME ENV PATH # Qualquer comando inserido aqui ser executado quando o usurio se logar mesg n

Cada usurio tem o seu arquivo, porm se as mudanas forem gerais voc dever editar o arquivo /etc/profile, que se parece com o da listagem a seguir:
# Ambiente de onde os programas podero ser chamados. # As funes e o aliase vo em /etc/bashrc. PATH="$PATH:/usr/bin/X11:/usr/games:/usr/local/bin" MANPATH="$MANPATH:/usr/local/man" # Define como ser o prompt do sistema PS1='$(/bin/hostname -s) [$PWD] > ' ulimit -c 1000000 if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then umask 002 else umask 022 fi USER=`id -un` LOGNAME=$USER MAIL="/var/spool/mail/$USER" HOSTNAME=`/bin/hostname` HISTSIZE=1000 HISTFILESIZE=1000 INPUTRC=/etc/inputrc export PATH MANPATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME MAIL INPUTRC for i in /etc/profile.d/*.sh ; do if [ -x $i ]; then . $i fi done unset i clear; setterm -foreground white -backg
DICA: No arquivo /etc/profile, ns poderemos configurar uma varivel de ambiente, a TMOUT=n, onde n o tempo em segundos em que um determinado usurio poder ficar inativo no sistema, em que, aps esse tempo, o usurio ser automaticamente desconectado do sistema. Assim, preserva-se mais ainda a segurana do sistema. Caso voc resolva fazer isso via modo console (texto) usando o bash como interpretador padro, use o comando export TMOUT= n.

O .bash_logout O arquivo .bash_logout guarda as variveis quando sai do sistema e pode executar alguns comandos quando o usurio se desconectar de um terminal ou quando fecham o console atravs de um CONTROL+D, login ou logout.

82

Global Sul Informtica

# ~/.bash_logout clear echo OBRIGADO por usar o sistema Linux. Voc uma pessoa inteligente. echo -------------------------------------------------- sleep 3; rm -f .bash_hystory; touch .bash_hystory

O /etc/motd O arquivo motd encontra-se no diretrio /etc. Esse arquivo simplesmente um texto que ser apresentado quando um usurio logar o sistema. Exemplo:
BEM-VINDO AO SISTEMA OPERACIONAL LINUX. +=====================================================+ | Tenha um bom dia de trabalho. | | Qualquer dvida man <comando>. | +-----------------------------------------------------+

O arquivo .hushlogin Esse arquivo deve ser colocado no diretrio /home do usurio, sua funo fazer o bash pular as mensagens do /etc/motd, nmero dos e-mails, etc. Exibindo imediatamente o aviso de comando aps a digitao da senha. O arquivo shutdown.allow O arquivo /etc/shutdown.allow contm uma lista de usurios autorizados a reinicializar o sistema com a combinao de teclas CTRL+ALT+DEL. Caso este arquivo no exista, todos os usurios possuem autorizao. Caso este arquivo exista e esteja vazio, apenas o root (administrador do sistema) tem autorizao. Arquivo /etc/environment O arquivo /etc/environment armazena as variveis de ambiente que so exportadas para todo o sistema e vale para todos os usurios. Uma varivel de ambiente controla o comportamento de um programa, registram detalhes teis durante a seo do usurio no sistema, especificam o idioma das mensagens do sistema etc. Exemplo do contedo de um arquivo /etc/environment:
LANG=pt_BR LC_ALL=pt_BR LC_MESSAGES=pt_BR

Privilgios de usurios por meio do comando sudo Como dar poderes de superusurio a um usurio normal? Existem vrias maneiras permanentes, como criar um usurio com o id 0, tornar um arquivo executvel suid etc. Mas o mais prtico e seguro utilizar o aplicativo sudo. Nele, pode-se definir determinados comandos para um usurio normal execut-los com permisses de superusurio. A vantagem principal de utilizar o sudo que possvel definir os comandos EXATOS (expresses regulares funcionam) que CADA usurio poder executar com superpoderes. O comando de edio das regras do sudo : # visudo, o que abrir o editor vi para que voc possa fazer suas configuraes; portanto, trate de aprender o vi. Ele abre o arquivo de configurao do sudo no vi, e ao, sair e salvar/etc/sudoers, ele faz checagens de possveis erros de sintaxe. Vamos ver um pequeno exemplo, deixando o usurio normal adilson executar o quake e instalar/atualizar pacotes:
adilson ALL=NOPASSWD:/bin/quake, /bin/rpm -[iUvh] *.rpm

Depois, basta executar os comandos com o sudo na frente:


[adilson@hackers.net]$ sudo rpm -ivh /mnt/cdrom/conectiva/RPMS/quake-* [adilson@hackers.net]$ sudo quake

Vejamos a seguir um tpico arquivo /etc/sudoers, estudando-o para aprender bem:


# Exemplo de um arquivo /etc/sudoers. # Edite esse arquivo como root e com o comando visudo. # Especificao de apelidos para usurios User_Alias FULLTIMERS = millert, mikef, dowdy

83

Treinamento Linux Administrao, Redes e Servios

User_Alias User_Alias

PARTTIMERS = bostley, jwfox, crawl WEBMASTERS = will, wendy, wim

# Executa e faz valer os apelidos para usurios. Runas_Alias OP = root, operator Runas_Alias DB = oracle, sybase # Especificao de apelidos para hosts (micros em rede). Host_Alias SPARC = bigtime, eclipse, moet, anchor:\ SGI = grolsch, dandelion, black:\ ALPHA = widget, thalamus, foobar:\ HPPA = boa, nag, python Host_Alias CUNETS = 128.138.0.0/255.255.0.0 Host_Alias CSNETS = 128.138.243.0, 128.138.204.0/24, 128.138.242.0 Host_Alias SERVERS = master, mail, www, ns Host_Alias CDROM = orion, perseus, hercules ...

Bom, agora que j estamos feras em dar direitos aos usurios comuns, podemos perceber o quanto o sistema Linux poderoso, se voc realmente aprender a us-lo com disciplina. Desabilitando o login de um usurio Quando o administrador estiver fazendo manutenes no servidor, no aconselhvel que naquele momento usurios fiquem conectados. Ento, para prevenir que usurios comuns que no so root logem no sistema enquanto voc est realizando alguma manuteno no servidor, crie um arquivo no diretrio /etc chamado nologin com uma mensagem qualquer que voc deseja que seja mostrada se um usurio tentar se conectar. Depois de terminar a manuteno, apague o arquivo /etc/nologin para permitir que os usurios utilizem o sistema. Veja o exemplo:
login: sonizia Password: ----[ ALERTA! ]----------------------------------------->> Prezado senhor usurio, no momento as conexes esto desabilitadas. Qualquer coisa contate o adminitrador do sistema. --------------------------------------------------------Login incorreto login:

Esse exemplo mostra que a usuria sonizia no vai conseguir se conectar no sistema naquele momento. Somente depois que o administrador do sistema terminar a manuteno no servidor e apagar o arquivo /etc/nologin que todos os usurios comuns tero as conexes restabelecidas. Uma outra idia muito interessante a restrio do uso da combinao CONTROL+ALT+DELETE que os usurios podero efetivar para reiniciar o sistema Linux. Se voc que usar CONTROL+ALT+DELETE dentro de uma sesso estando fora do ambiente grfico do Linux, ento seu computador ser reinicializado. A restrio do uso dessa combinao pode ser feito por meio do arquivo /etc/shutdown.allow, adicionando ao mesmo o nome dos usurios que devem estar conectados para que o comando shutdown possa ser efetivado, veja como:
# echo root > /etc/shutdown.allow # echo adilson >> /etc/shutdown.allow

Isso faz com que o comando shutdown funcione apenas quando o usurio root e o usurio adilson estiverem logados no servidor em questo. No podemos nos esquecer de que, para que isso funcione, em seu /etc/inittab a linha: ca::ctrlaltdel:/sbin/shutdown -t3 -r now dever ser alterada para: ca::ctrlaltdel:/sbin/shutdown -a -t3 -r now. Fazendo isso, acaba a festa do CONTROL+ALT+DELETE para os usurios que pensam que esto no ruWindows.

84

Global Sul Informtica

Configurando o prompt do usurio No sistema Linux possvel alterar a string do prompt do interpretador de comandos Bash, simples basta inserir no arquivo /etc/bashrc uma seqncia de caracteres especiais. Os caracteres so decodificados da seguinte maneira:
d: Data atual no formato: Dia_da_semana Ms Dia. h: Nome da mquina at o primeiro .. s: Nome do shell. A: hora atual no formato de 24 horas hh:mm:ss. u: O nome do usurio atual. w: Caminho completo do diretrio de trabalho atual. W: Nome do diretrio atual. !: O nmero do comando no histrico. #: O nmero do comando na sesso atual do shell. $: Caractere que diferencia um usurio comum do super-usurio. nn: Caracter correspondente ao nmero octal nnn. /: Uma barra. [: Inicia a seqencia de caracteres no vistos na tela. ]: Fim da seqencia de caracteres no vistos na tela.

Existem vrios tipos de prompt, os mais usados so o primrio e o secundrio, definidos nas variveis PS1 e PS2, ou seja, aquele prompt que voc j est acostumado. O prompt primrio para a entrada de um comando e o secundrio para quando for preciso complementar um comando. Lembre que esta varivel deve ser definida no arquivo /etc/bashrc porm no /etc/profile tambm funciona. possvel alterar o prompt de um usurio somente para isso copie o arquivo /etc/bashrc para /home/usuario/.bashrc e edite ento este arquivo. Veja um exemplo do prompt primrio:
PS1="[u@h W]$ " export PS1

O prompt ser parecido com esse:


[usuario@maquina /local]#

Voc poder tambm colorir o prompt, adicionando na seqncia os cdigos de cores ANSI. Estes cdigos devem ser adicionados como caracteres que no sero impressos, ficando entre o [ e o ]. Alm do mais os cdigos devem comear com 33[ e terminar com um m minsculo. A sintaxe completa ser assim: [33[Z;YY;XXm], onde Z o estilo dos caracteres, YY a cor de fundo e XX a cor dos caracteres. Veja a tabela de cores e estilos:
Cores Preto Vermelho Verde Amarelo Azul Roxo Ciano Cinza Caracteres 30 31 32 33 34 35 36 37 Fundo 40 41 42 43 44 45 46 47

Estilo dos Caracteres Normal 0 Bold 1 D brilho as cores Undescore 4 Blink 5 Pisca-pisca Inverse 7 Inverte cor de fundo Ofuscado 8

Mais alguns exemplos de uso: para deixar o caractere verde em fundo preto: [33[0;40;32m], para deixar o caractere amarelo brilhante em fundo cinza: [33[1;47;33m] e para deixar o caractere ciano piscando em fundo preto: [33[5;40;36m]. Veja ento alguns exemplos de prompt:

85

Treinamento Linux Administrao, Redes e Servios

export PS1="Data: d Hora: ->" export PS1="253u@h273 $ " export PS1="[33[1;40;32m]u[33[0;40;33m]@[33[1;40;31m]h[33[0m]$" export PS1="[33[1;44;37m]253[33[1;44;32m]u[33[1;44;37m]@[33[1;44;33m]h[33[1;44;37m]: [33[1;44;36m]w[33[1;44;37m]273[33[0m]$ " export PS1="[33[0;44;37m]d [33[0m] [33[0;40;32m]s[33[1;40;37m]:[33[1;40;36m]w [33[0m]$ " export PS1="[33[0;44;37m]d [33[0;40;32m]s[33[1;40;37m]:[33[1;40;36m]w [33[0m]$ "

DICA: Caso voc queira desativar as cores, use o cdigo [33[0m]. Use tambm o cdigo [33[0m] antes de adicionar uma nova linha ao prompt. Os cdigos das cores no tem ordem certa, mas recomendvel usar na ordem Z;YY;XX para que no precise usar o cdigo [33[0m] entre cada definio de cor.

Consulte a pgina manual do bash para mais informaes. Agora veja um exemplo do arquivo /etc/bashrc:
# /etc/bashrc Vermelho="[33[31m]" Verde="[33[32m]" Amarelo="[33[33m]" Ciano="[33[36m]" Branco="[33[37m]" Normal="[33[0m]" PS1="$Normal$Verde[$Amarelou$Vermelho@$Amareloh$Verde: $Cianow$Verde]$Branco$ $Normal"

Anotaes: 86

Global Sul Informtica

87

Treinamento Linux Administrao, Redes e Servios

Anotaes:

88

Global Sul Informtica

Captulo 4

Gerenciamento de mdias
Neste captulo, vamos aprender como que o sistema Unix /Linux tratam os dispositivos de armazenamento de informaes, as mdias. No Linux, depois que entendemos, muito simples como que funciona o gerenciamento de mdias, que podem ser:
1. 2. 3. 4. Sua Seu Sua Seu unidade de disquete. CD/DVD-ROM e/ou sua gravadora CD-RW. unidade de fita ou zip drive. disco rgido, parties Windows, NFS, UDF etc.

O primeiro passo a entender o diretrio /dev que responsvel pelos devices1, ou seja, os arquivos contidos nesse diretrio apontam para um hardware. Ento, por exemplo, /dev/fd0 quer dizer que o nosso disquete no unidade A: . Se tivssemos duas unidades de disquetes, a outra seria /dev/fd1 e /dev/cdrom; supe-se que a unidade D: que geralmente o nosso CD-ROM. O /dev/hda o primeiro (master) disco rgido e /dev/hdb o segundo (slave) disco rgido, e o /dev/sda4 pode ser a unidade de zip drive, e assim por diante. Mas o gerenciamento de mdias no pra por a. Tem muito mais coisas que so possveis de serem feitas e gerenciadas. Podemos gerenciar a partio do Windows local, a partio de um Windows remoto por meio do samba, parties Linux e Unix local atravs de NFS, unidades de disquetes, zip, CD etc. No sistema Windows basta abrir o Windows Explorer e clicar no cone do disquete. Isso super simples, mas teoricamente todos podem acessar uma unidade de disquete por l. No sistema Linux, preciso que o usurio monte a unidade, ou seja, faa com que seja possvel acessar o contedo dessa unidade ou grave informaes nesta unidade. Para isso, usamos o comando mount [parmetros] origem destino.

Os comandos mount e umount


Para poder trabalhar com montagem e desmontagem de mdas no Linux, podemos usar o modo texto e o modo grfico. Pelo modo texto, usamos o comando mount para montar e o comando umount para desmonstar. Pelo modo grfico, podemos usar vrios utilitrios, os quais vamos ver alguns neste captulo. Ele funciona assim mount [parmetros] parte_hardware parte_lgica. Exemplo:
# mount -t vfat /dev/hdb1 /mnt/windows

A linha anterior pode ser entendida que o comando mount passou um parmetro para tipo de unidade com FAT e nomes longos padro Windows que esto no segundo (slave) disco rgido e montada no diretrio /mnt/windows. Assim, se usarmos o comando ls -lasF /mnt/windows, poderemos ver o contedo do segundo disco rgido. Depois que montamos nossas unidades, podemos entrar e sair dela a qualquer momento, como faramos no Windows pelo modo texto ou pelo modo grfico. O parmetro -tdo comando mount pode ter os seguintes argumentos que servem para indicar o tipo do sistema de arquivos. Os tipos atualmente suportados so minix, ext, ext2, ext3, reiser fs, xiafs, hpfs, msdos, umsdos, vfat, proc, nfs, iso9660, smbfs, ncpfs, affs, ufs, romfs, sysv, xenix e coherent. Local correto para pontos de montagem Todos os arquivos acessveis pelo Linux esto dispostos como se fossem uma grande rvore, iniciando pelo arquivo raiz, representado pela barra normal /. Esses arquivos podem estar distribudos por vrios dispositivos. O comando mount usado para anexar um sistema de arquivos encontrado em um dispositivo rvore de arquivos.

89

Treinamento Linux Administrao, Redes e Servios

A primeira coisa que voc deve ficar atento o seguinte: criar o diretrio raiz / dentro do diretrio /mnt os seguintes diretrios (alguns so criados no momento da instalao):
/mnt/floppy (para disquete). /mnt/cdrom (para CD-ROM). /mnt/windows (para Windows). /mnt/zip (para zip drive). /mnt/jazz (para jaz drive). /mnt/tape (para fita magntica). /mnt/samba (para configuraes bsicas do samba). /mnt/cdrw (para gravar CDs).

DICA: Isso caso no existam os diretrios. Para ver se existem ou no simples: use o comando ls / mnt. Quando estiver na parte grfica, dentro de um terminal, voc poder usar o comando usermount e assim fazer o controle por procedimento grfico. Isso ir mostrar todos os diretrios criados dentro do /mnt.

Lembre-se de que, sempre depois de criar um ponto de montagem e us-lo, bom desmont-lo caso no v us-lo mais tarde, seno seus dados podero sofrer danos. Isso vale principalmente com CD, disquetes, zips etc. Agora, se o que voc deseja fazer o cadastro dos pontos de montagens no arquivo /etc/fstab e tambm atualizar o arquivo /etc/mtab, o que voc poder fazer editar esses dois arquivos no brao ou usar algo mais amigvel, como o utilitrio fsconf que tem essa funo.

O acesso a unidade de disquete


Criar um ponto de montagem para a unidade de disquete muito simples, apenas com duas linhas de comandos, voc ja faz isso:
# mount /dev/fd0 /mnt/floppy # ls -laF /mnt/floppy

A primeira linha cria o ponto de montagem para o disquete, e a segunda linha lista o contedo do ponto de montagem que o disquete. Para desmontar o ponto de montagem simples, umount /mnt/floppy. O comando anterior desmonta a unidade de disquete. Mas devemos lembrar que preciso sair (comando cd alguma coisa) do ponto de montagem para que isso seja possvel. Em alguns casos, voc dever usar o comando mount -t vfat /dev/fd0 /mnt/floppy se a montagem do disquete apresentar erro ou arquivos com os nomes truncados. Caso voc pretenda criar o ponto de montagem para o disquete e depois gravar arquivos nele, est tudo bem se o disquete j est pr-formatado. Mas se no estiver, voc ter format-lo antes (no preciso montar). O comando para formatar disquetes fdformat /dev/fd0H1440. Mas se voc quer criar esse disque j para o sistema de arquivos do Linux (ext2), checando os blocos ruins, use o comando:
# mke2fs -c /dev/fd0 ou # mkfs -t ext2 -m 0 /dev/fd0H1440 1440

DICA: Se voc tentou desmontar um disquete ou CD-ROM e se deparou com uma mensagem dizendo que o mesmo est sendo ocupado por algum processo, descubra rapidamente qual o processo ofensor digitando o comando fuser -l /mnt/floppy naturalmente, voc deve substituir o /floppy pelo ponto de montagem do dispositivo que deve ser verificado.

Formatando disquetes no Linux


A formatao de disquetes no sistema Linux um pouco diferente daquele que ocorrre no Windows, pois l podemos formatar pelo modo texto e pelo modo grfico, mas o sistemas de arquivo sempre o mesmo, a FAT. O Linux um sistema operacional que suporta vrios outros tipos de sistemas operacionais, ento em uma formatao de um determinado tipo de mdia aconselhvel especificar o tipo de sistema de arquivos.

90

Global Sul Informtica

Formatao via modo texto


Para formatar disquetes via modo texto, poderemos usar comando do mtools que traz ferramentas com comandos semelhantes ao do MS-DOS, mas com a letra m na frente, que o caso do comando mformat, o qual usamos assim mformat a:. Adiciona um sistema de arquivos MS-DOS a um disquetes com formatao de baixo nvel. O comando acima joga uma FAT padro Windows em seu disquete e depois voc pode us-lo nesse ambiente normalmente como se tivesse sido formatado nele mesmo. O parmetro l usado para etiquetar o volume (nome para o disquete). Em alguns casos, ocorre a formatao em baixo nvel para poder fazer uma formatao de alto nvel. O comando usado para isso o fdformat, que funciona para disquetes de 1.4 MB, como j vimos a pouco. Porm, os dispositivos de disquetes genricos, /dev/fd0 e /dev/fd1, no funcionaro com comando fdformat quando um formato no-padro estiver sendo usado, ou o formato no auto detectado. Formatao via modo grfico Para formatar disquetes via modo grfico no Linux existem diversos utilitrios, mas os mais conhecidos e usados so o kfloppy (KDE) e o gfloppy (gnome). :: Kfloppy e Gfloppy

O acesso a unidade de CD-ROM


Para criar um ponto de montagem para a unidade de CD-ROM, to simples quanto para a unidade de disquete, veja:
# mount /dev/cdrom /mnt/cdrom # ls -laF /mnt/cdrom

A primeira linha cria o ponto de montagem para o CD-ROM, e segunda linha lista o ponto de montagem. Para desmontar o ponto de montagem tambm muito simples umount /mnt/cd-rom. Caso no funcione, seja mais especfico e use o comando:
# mount -t iso9660 /dev/cdrom /mnt/cdrom

Hoje quase todos os modelos de CD so reconhecidos pelo Linux. Se voc tiver um modelo diferente dever usar a linha de baixo; caso contrrio, a primeira linha monta o CD-ROM em nenhum problema. L pelo modo grfico, basta clicar no cone do CD-ROM que a maioria das distribuies j faz a montagem automaticamente e carrega o gerenciador de arquivos padro. Para desmontar o CD-ROM pelo modo grfico na maioria das distribuies, usamos o boto direto sobre o cone do CD e selecionamos a opo desmontar ou ejetar.

91

Treinamento Linux Administrao, Redes e Servios

O acesso a unidade de zip-drive


Usar a unidade de zip-drive em Linux pode no parecer to fcil primeira vista quanto no ambiente Windows, mas devemos lembrar que no Windows temos que instalar um monte de arquivos para que o zip-drive funcione. Em Linux, isso no necessrio, pois quando voc est compilando o Kernel, simplesmente pode informar que o mdulo para o zip estar disponvel no sistema; mais tarde s carregar o mdulo na hora que voc for usar e pronto! Quando no for mais usar o mdulo do zip drive s descarreglo. O mdulo de zip drive ser carregado, considerando-se que o zip um dispositivo scsi, ou seja, ser criado um ponto de montagem sdXX. Veja o procedimento para carreg-lo.
# modprobe ppa

Em seguida, use o comando lsmod para ver se o mdulo foi carregado corretamente:
... lvm-mod parport_pc ppa parport sd_mod scsi_mod ... 57456 24304 9776 24352 10964 90124 0 2 0 2 0 2 (autoclean) (autoclean) [lp parport_pc ppa] [ppa sd_mod]

Se der tudo certo, agora use os comandos que montam e listam o sua unidade zip:
# mount /dev/sda4 /mnt/zip; ls -laF /mnt/zip

Para ejetar o zip use o comando eject /dev/sda4 e desmont-lo use o comando umount /mnt/zip. Porm lembre-se de no estar no zip, seno vai ocorrer erro.

DICA: Dependendo do seu tipo de zip drive voc ter que fazer outras configuraes. Esse tipo de zip pode variar muito (interno e externo, antigo padro: ppa e novo padro: imm). Porm, no chega a ser difcil; use o comando # dmesg | grep hd para ver onde est sendo reconhecido o seu zip drive. Ento, em seguida, s fazer o redirecionamento padro que todos ns agora j sabemos.

Usando o comando dmesg e analisando o seu contedo, ns poderemos verificar se o nosso zipdrive foi ou no reconhecido e assim saberemos como mont-lo mais tarde. Veja a seguir um pequeno pedao do resultado do comando dmesg:
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,COMPAT,ECP] parport0: irq 7 detected parport0: cpp_daisy: aa5500ff(38) parport0: assign_addrs: aa5500ff(38) parport0: cpp_daisy: aa5500ff(38) parport0: assign_addrs: aa5500ff(38) ppa: Version 2.07 (for Linux 2.4.x) ppa: Found device at ID 6, Attempting to use EPP 32 bit ppa: Communication established with ID 6 using EPP 32 bit scsi0 : Iomega VPI0 (ppa) interface Vendor: IOMEGA Model: ZIP 100 Rev: K.05 Type: Direct-Access ANSI SCSI revision: 02 Attached scsi removable disk sda at scsi0, channel 0, id 6, lun 0 sda : READ CAPACITY failed. sda : status = 0, message = 00, host = 0, driver = 08 sda : extended sense code = 2 sda : block size assumed to be 512 bytes, disk size 1GB. sda: I/O error: dev 08:00, sector 0 unable to read partition table LVM version 0.9.1_beta3 by Heinz Mauelshagen (25/01/2001) lvm Module successfully initialized Device not ready. Make sure there is a disc in the drive. VFS: Disk change detected on device sd(8,0) sda : READ CAPACITY failed. sda : status = 0, message = 00, host = 0, driver = 08 sda : extended sense code = 2

92

Global Sul Informtica

sda : block size assumed to be 512 bytes, disk size 1GB. sda: I/O error: dev 08:00, sector 0 unable to read partition table

O disco de zip-drive em sistemas Linux visto como uma interface SCSI e emulada na compilao do kernel, caso voc mesmo tenha que fazer isso ou quando reconhecida automaticamente pelo sistema. As interfaces SCSI ficam em /dev/sda?, e para saber qual o sda correto para uma unidade de zip, use o comando a seguir:
# dmesg | grep sda Attached scsi removable disk sda at scsi0, channel 0, id 6, lun 0 SCSI device sda: 196608 512-byte hdwr sectors (101 MB) sda: Write Protect is off sda: sda4

Ento aqui j estamos sabendo que poderemos montar uma unidade de zip partindo de um /dev/sda4. Mas, se pintar alguma dvida, s LER OS MANUAIS e HOW-TO's.

O acesso a partio do Windows local


Criar um ponto de montagem para a unidade de Windows, caso o seu disco rgido esteja particionado e voc instalou o Windows no /dev/hda1 C:\ muito simples:
# mount /dev/hda1 /mnt/windows # ls -laF /mnt/windows

A primeira linha cria o ponto de montagem para o Windows, e a segunda linha entra no ponto de montagem. Para desmontar o ponto de montagem tambm muito simples, umount /mnt/windows. Caso a montagem no funcione direito, seja mais especfico:
# mount -t vfat /dev/hda1 /mnt/windows

O sistema Linux funciona perfeitamente com a primeira linha, mas em alguns casos voc precisar especificar a segunda linha, onde t vfat informa ao Linux para usar o padro FAT do Windows. Depois de montadas as parties, elas funcionaro como se fossem normal ao sistema. interessante j que o Windows est ali mesmo, j deixlo montado e o utilitrio fsconf poder fazer isso para voc de forma automtica, assim toda vez que voc quiser algo algo l do Windows s acesslo pelo modo texto ou pelo modo grfico de forma transparente como se fosse um diretrio normal do Linux.

Verificao dos pontos de montagem


Algumas vezes, preciso saber o espao livre em disco; o comando df til, porque ele pode formatar diversos tipos de informaes. Caso o argumento seja o nome absoluto do dispositivo de disco com um sistema de arquivos montado, o comando df mostra o espao disponvel naquele sistema de arquivos, em vez do sistema que contm o dispositivo (que sempre ser o sistema raiz). O comando df sem argumentos:
# df Filesystem /dev/hda5 /dev/hda7 /dev/hda8 /dev/hda1 /dev/cdrom /dev/fd0 1k-blocks Used 1004024 307512 248895 25419 8009052 1906912 20472816 6506400 660502 660502 1423 0 Available 645508 210626 5695296 13966416 0 1423 Use% 33% 11% 26% 32% 100% 0% Mounted on / /home /usr /mnt/winxp /mnt/cdrom /mnt/floppy

O comando df com argumentos e com pontos de montagem:


# df -a Filesystem /dev/hda5 none usbdevfs /dev/hda7 1k-blocks 1004024 0 0 248895 Used Available Use% 307512 645508 33% / 0 0 0 25419 210626 Mounted on 0 11% /proc /proc/bus/usb /home

93

Treinamento Linux Administrao, Redes e Servios

/dev/hda8 none /dev/hda1 /dev/cdrom /dev/fd0

8009052 0 20472816 660502 1423

1906912 6506400 660502 0

5695296 0 13966416 0 1423

26% 32% 100%

/usr 0 /mnt/winxp /mnt/cdrom 0%

/dev/pts

/mnt/floppy

Ns podemos ver aqui que existem pontos de montagem para o Windows XP, CD-ROM e unidade de disco flexvel. Note que nas duas ltimas colunas, possvel ver a capacidade e o nome das parties e os pontos de montagem. Veja alguns parmetros que podemos passar ao comando: -a: Inclui na listagem os sistemas de arquivos que tenham zero blocos, os quais so omitidos por padro. Tais sistemas de arquivos so tipicamente pseudo-sistemas de arquivos para propsitos especiais, assim como as entradas do automounter. Em alguns sistemas, tipos de sistemas de arquivos do tipo ignore ou auto so tambm omitidas por padro, mas com essas opes sero listadas. -T: Lista o nome do tipo de cada sistema de arquivos. Qualquer tipo de sistema de arquivos apresentado pode ser usado tambm como argumentos em --type= ou --exclude-type=. Se voc quiser saber mais informaes sobre o seu disco rgido, use o comando idettool, o qual abrir uma tela em modo grfico com vrias informaes.

O espao disponvel
Usaremos o comando du quando precisarmos saber as hierarquias de algumas informaes sobre um determinado diretrio. Por exemplo, voc sabe quantos subdiretrios pertencem ao /opt ou ao /usr/X11R6 ? O comando du mostra informaes sobre o diretrio pai e os diretrios filhos. Veja alguns parmetros usados: a: Mostra informaes para todos os arquivos, no somente os diretrios, b: Imprime os tamanhos em bytes, k: Lista os tamanhos em Kbytes, s: Lista somente o total para cada argumento, x: Ignora diretrios que estejam em sistemas de arquivos diferentes daqueles onde o argumento esteja sendo processado, S: Apresenta o tamanho de cada diretrio separadamente, no incluindo os tamanhos dos subdiretrios. Veja a seguir o exemplo do comando:
[root@gabriel home]# du -hs adilson/ 12 ./lost+found 1 ./adilson/universidade 1 ./adilson/edfutura 1 ./adilson/mp3 2081 ./adilson/fotos 1 ./adilson/hackers 1 ./adilson/kylix 23367 ./adilson 1 ./gabriel/dragonball-Z 1 ./gabriel/dragonball-GT 1 ./gabriel/pokemon 14 ./gabriel 23394 .

Prestando ateno na primeira coluna, temos o tamanho de cada diretrio, e na segunda coluna a hierarquia de cada um deles. Pergunta! Quantos diretrios pa existem neste exemplo?

Os arquivos /etc/fstab e /etc/mtab


Os pontos de montagem que poderemos montar e desmontar esto gravados em /etc/fstab, que, pela nossa concluso, um arquivo importante onde podemos adicionar mais pontos de montagem apenas editado esse arquivo pelo modo texto ou pelo modo grfico. Porm, devemos tomar extremo cuidado pois se apagarmos algo por engano poder ser desastroso. Veja um exemplo do arquivo /etc/fstab:
/dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 /dev/cdrom /dev/fd0 none none /dev/hda1 / swap /home /usr /mnt/cdrom /mnt/floppy /proc /dev/pts /mnt/winxp ext3 defaults 1 0 swap defaults 0 0 ext3 defaults 1 0 ext3 defaults 1 0 iso9660 defaults,user,noauto,ro 0 auto defaults,user,noauto 0 0 proc defaults 0 0 devpts gid=5,mode=620 0 0 vfat user,owner,exec,dev,suid,rw 1 1

94

Global Sul Informtica

No exemplo anterior, se reparamos bem, alguns pontos de montagens esto configurados para serem montados automaticamente. Isso ns vamos aprender daqui a pouco. O arquivo /etc/fstab simples de ser entendido. As trs primeiras colunas mostram, respectivamente, o nome do sistema de arquivos, o ponto de montagem e o tipo do sistema. A primeira coluna device dos pontos de montagem. Por exemplo: /dev/fd0 o device para o ponto de montagem /dev/floppy. A segunda coluna o ponto de montagem, ou seja, os diretrios que ns criamos para montar um sistema de arquivos qualquer. A terceira coluna informa parmetros necessrios para montar os sistema de arquivos como vfat, hpfs, ntfs, udf, iso9660 e assim por diante. A quarta coluna exibe as opes de montagem do sistema de arquivos, onde algumas das opes que podem ser usadas so: async: As operaes de E/S so realizadas assincronamente auto: Monta automaticamente na inicializao defaults: Usa as opes padro: rw, suid, dev, exec, auto, nouser e async no ponto de mountagem. dev: Interpreta dispositivos especiais de blocos ou caracter exec: Permite que os programas sejam executados a partir do dispositivo. noauto: O dispositivo deve ser especificado para a montagem noexec: No permite que os programas sejam executados a partir do dispositivo. nouser: no permite que os usurios montem o dispositivo. ro: Monta o dispositivo para leitura. rw: Monta o dispositivo para leitura e gravao suid: Permite uso dos bits de configurao de identificao do usurio e do grupo. user: Permite que os usurios montem o dispositivo. A quinta coluna define quais sistemas de arquivos devem ser copiados pelo programa dump. Este programa examina os arquivos e determina quais arquivos devem ser copiados (back up). Um valor zero significa que o sistema no examinado pelo programa dump. A sexta coluna define a ordem pela qual os sistemas de arquivos devem ser verificados na inicializao pelo utilitro fsck. O sistema raiz (/) deve ter ordem 1 (primeiro a ser verificado) e os outros sistemas devem ter valor zero (no verificado) ou 2 ( verificado). Os comandos mount e umount mantm uma lista dos sistemas de arquivos montados atualmente no arquivo /etc/mtab. Caso nenhum arquivo seja informado em mount, a lista ser apresentada. Quando o sistema de arquivos proc montado (digamos em /proc), os arquivos /etc/mtab e /proc/mounts tm contedo muito parecidos. O /proc/mounts normalmente tem mais informaes, tais como opes de montagem usadas, mas essas no esto necessariamente atualizadas. possvel substituir /etc/mtab por um link simblico para /proc/mounts, mas algumas informaes podem ser perdidas dessa forma, e algum uso particular como uma simulao de dispositivo no ser aconselhvel. Depois que o arquivo /etc/fstab lido so gravadas estas informaes no /etc/mtab, como podemos ver um exemplo a seguir:
/dev/hda5 / ext3 rw 0 0 none /proc proc rw 0 0 usbdevfs /proc/bus/usb usbdevfs rw 0 0 /dev/hda7 /home ext3 rw 0 0 /dev/hda8 /usr ext3 rw 0 0 none /dev/pts devpts rw,gid=5,mode=620 0 0 /dev/hda1 /mnt/winxp vfat rw 0 0 /dev/cdrom /mnt/cdrom iso9660 ro,noexec,nosuid,nodev 0 0 /dev/fd0 /mnt/floppy vfat ro 0 0 //micro06/INTERNET /mnt/micro06/INTERNET smbfs 0 0 //micro11/DOWNLOADS /mnt/micro06/DOWNLOADS nfs 0 0 ...

No exemplo anterior, podemos constatar que nos pontos de montagem aparece o micro11, que est configurado para trabalhar com NFS (compartilhamento de arquivos em Unix) e tambm o micro06, que est usando o samba e permitindo que uma rede Windows troque informaes com uma rede Linux.

95

Treinamento Linux Administrao, Redes e Servios

Montagem/desmontagem automtica Se o usurio preferir, possvel criar um pequeno arquivo de script para que fiquem guardados os comandos novos que ele venha a criar por meio dos comandos alias e unalias, que funciona assim:
# alias a:=mount -t vfat /dev/fd0 /mnt/floppy; cd /mnt/floppy; ls -laF /mnt/floppy

O comando alias anterior definiu naquele momento que o novo comando a: quando for chamado a: <ENTER>, montar automaticamente a unidade de disquete, entrar nela e listar seu contedo. Se desejarmos desativar esse comando, basta digitar o comando unalias a: e voltar tudo como era antes. Ento, uma idia legal criar um pequeno arquivo de comandos:
#!/bin/bash # comandos.exe (nome do arquivo de script que ser executvel) alias alias alias alias alias alias alias alias a:=mount -t vfat /dev/fd0 /mnt/floppy; ls -laF /mnt/floppy b:=mount -t vfat /dev/fd1 /mnt/floppy; ls -laF /mnt/floppyb a-:=cd; umount /mnt/floppy b-:=cd; umount /mnt/floppyb zipon:=mount -t vfat /dev/sda4 /mnt/zip; ls -laF /mnt/zip zipoff:=cd; umount /mnt/zip win:=mount -t vfat /dev/hda1 /mnt/winxp; ls -laF /mnt/winxp winoff:=cd; umount /mnt/winxp

A primeira linha informa que isso ser um arquivo de script interpretado pelo bash e depois os comandos novos so definidos por cada uma das linhas o comando alias. Mas o interessante o que, como foi visto no captulo 3 deste livro, foi aprendido que os usurios tm uma srie de arquivos de configurao e que possvel fazer um monte de configuraes extras predefinidas. Para executar o script acima, apenas digite o comando:
# source comandos.exe

Isso supondo que esse o nome dado ao script ou atravs do comando chmod 755 comandos.exe e depois para executar basta digitar o comando ./comandos.exe. A extenso .exe aqui no tem nenhum valor, puramente ilustrativa. Os arquivos em sistema Linux no dependem de exteno para serem ou no executveis; eles dependem em si do shell em questo de direitos de execuo.

Reconhecendo as parties
Se voc quiser saber informaes tcnicas sobre as parties, simples e fcil; basta usar o comando fdisk, sim o mesmo que cria e gerencia as parties, mas que aqui ele servir apenas para nos fornecer informaes sobre as parties, veja como:
# /sbin/fdisk -l Disco /dev/hda: 255 cabeas, 63 setores, 784 cilindros Unidades = cilindros de 16065 * 512 bytes Dispositivo Boot /dev/hda1 * /dev/hda2 /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 Incio 1 393 393 457 465 484 Fim 392 784 456 464 483 784 Blocos Id 3148708+ 3148740 514048+ 64228+ 152586 2417751 Sistema c 5 83 82 Linux 83 Linux 83 FAT32 Win95 (LBA) Estendida Linux swap Linux

96

Global Sul Informtica

Anotaes:

97

Treinamento Linux Administrao, Redes e Servios

Anotaes:

98

Global Sul Informtica

Captulo 5

Gerenciamento de permisses
O sistema Linux realmente um ambiente multitarefa real, e por isso preciso por ordem na casa, e isso feito de vrias maneiras, uma delas a permisso1 de acesso para arquivos locais ou remotos no sistema. A permisso protege o sistema de arquivos Linux do acesso indevido de pessoas ou programas no autorizados e at mesmo com ms intenes. A permisso de acesso do Linux tambm impede que um programa desse tipo, por exemplo, apague um arquivo que no deve (algumas vezes, isso um problemo) ser apagado, envie arquivos para outra pessoa ou fornea acesso da rede para que outros usurios invadam o sistema. O sistema Linux muito seguro, e como qualquer outro sistema seguro e confivel, impede que usurios iniciantes (ou mal-intencionados) instalem programas enviados por terceiros sem saber para que eles realmente servem e causem danos irreversveis em seus arquivos, no seu micro ou na sua empresa.

Acesso a um arquivo ou diretrio


Primeiramente para que voc tenha acesso a algo no sistema Linux, uma verificao para ver se voc o dono do arquivo ou diretrio feita caso seja positivo, as regras para uso sero aplicadas. Se por ventura voc no for o dono do arquivo ou diretrio ser ento verificado se voc pertence ao um grupo de trabalho correspondente, caso pertena, sero aplicadas as permisses do grupo. Mas se mesmo assim, voc no pertencer a um grupo, so verificadas as permisses de acesso para os outros usurios que no so donos e no pertencem ao grupo correspondente ao arquivo/diretrio. Se isso for positivo, depois daverificao onde voc se encaixa nas permisses de acesso do arquivo (se o dono, pertence ao grupo, ou outros usurios), verificado se voc ter permisso acesso para o que deseja fazer ler(r), gravar(w) ou executar(x) o arquivo, caso no tenha, o acesso negado, mostrando uma mensagem do tipo: Permission denied permisso negada. Veja o exemplo:
[gabriel@gabriel gabriel]$ ls /root/ ls: /root/: Permisso negada [gabriel@gabriel gabriel]$

O que isto que dizer que mesmo que voc seja o dono do arquivo e definir o acesso do dono (atravs do comando chmod) como somente leitura (r) mas o acesso dos outros usurios como leitura e gravao, voc somente poder ler este arquivo mas os outros usurios podero ler/grav-lo.

DICA: O usurio root no tem nenhuma restrio de acesso ao sistema, ele o todo poderoso, logo tome cuidado quando estiver usando seu sistema e estiver logado como root. Se por ventura um usurio comum precisar acessar uma rea restrita do sistema ele ter que ter direitos de acesso essa rea. Quer saber como? Leia mais sobre o comando su e o arquivo sudoers. uma alternativa.

Caso voc tenha permisses de gravao no diretrio e tentar apagar um arquivo que voc no tem permisso de gravao, o sistema perguntar se voc confirma a excluso do arquivo apesar do modo leitura. Caso voc tenha permisses de gravao no arquivo, o arquivo ser apagado por padro sem mostrar nenhuma mensagem de erro (a no ser que seja especificada a opo -i com o comando rm). Por outro lado, mesmo que voc tenha permisses de gravao em um arquivo mas no tenha permisses de gravao em um diretrio, a excluso do arquivo ser negada. Isto mostra que levado mais em considerao a permisso de acesso do diretrio do que as permisses dos arquivos e sub-diretrios que ele contm. Este ponto muitas vezes ignorado por muitas

99

Treinamento Linux Administrao, Redes e Servios

pessoas e expem seu sistema a riscos de segurana. Imagine o problema que algum usurio que no tenha permisso de gravao em um arquivo mas que a tenha no diretrio pode causar em um sistema mal administrado.

DICA: As permisses de acesso (leitura, gravao, execuo) para donos, grupos e outros usurios so independentes, permitindo assim um nvel de acesso diferenciado. Se voc for o dono pode modificar um arquivo/diretrio!

Controlando donos, grupos e outros usurios


O princpio da segurana no sistema de arquivos Linux definir o acesso aos arquivos por donos, grupos e outros usurios que funciona do seguinte modo: Dono: o usurio que criou o arquivo ou o diretrio (caso ele tenha esse direito). O nome do dono do arquivo/diretrio o mesmo do usurio usado para entrar o sistema Linux. Somente o dono pode modificar as permisses de acesso do arquivo ou o superusurio root. As permisses de acesso do dono de um arquivo somente se aplicam ao dono do arquivo/diretrio. A identifio do dono tambm chamada de user id (UID). A identificao de usurio e o nome do grupo que ele pertence so armazenadas respectivamente nos arquivos /etc/passwd e /etc/group. Exemplo de uma parte do arquivo de senhas, o /etc/passwd.
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: ... ... gopher:x:13:30:gopher:/usr/lib/gopher-data: ftp:x:14:50:FTP User:/srv/ftp: hacluster:x:17:17:HA Cluster User:/var/lib/heartbeat/ccm:/bin/false nobody:x:65534:65534:Nobody:/home: sshd:x:100:233:sshd:/var/empty:/bin/false postfix:x:101:101:postfix:/var/spool/postfix: gdm:x:42:42::/home/gdm:/bin/bash adilson:x:500:500:Adilson Bonan:/home/adilson:/bin/bash gabriel:x:501:501::/home/gabriel:/bin/bash www:x:103:103::/srv/www:/bin/false gabriel:x:501:501::/home/gabriel:/bin/bash marcio:x:503:503::/home/marcos:/bin/bash jane:x:511:511::/home/jane:/bin/bash sueli:x:512:512::/home/sueli:/bin/bash karina:x:513:513::/home/karina:/bin/bash sulamita:x:515:515::/home/sulamita:/bin/bash

Esses so arquivos textos comuns e podem ser editados em qualquer editor de texto tanto pelo modo texto quanto pelo modo grfico, mas tenha cuidado para no modificar o campo que contm a senha do usurio encriptada (que pode estar armazenada neste arquivo, caso no esteja usando senhas ocultas). Se aps o nome do usurio aparecer um x, isso quer dizer que as senhas esto encriptadas e agora elas esto na verdade em /etc/shadow, que um arquivo secundrio para o armazenamentos de senhas no sistema Linux. Exemplo de uma parte do arquivo de senhas, o /etc/passwd.
root:$1$ghJVYco3$4EgHA78xGDX/MH2NUGRm/1:12286:0:99999:7::: adilson:$1$odoK4.re$.2njyxvIe.PKN.VERWDhm1:12286:0:99999:7::: sulamita:$1$j/8R6qHd$3s7xj3Qa.LqKDCJ44s7Yk/:12289:0:99999:7::: mysql:!!:12287:::::: www:!!:12287:::::: mailman:!!:12287:0:99999:7::: snort:!!:12288:::::: postgres:!!:12288:::::: xfs:!!:12289:::::: gabriel:$1$6/SkUVkA$JdcQBWaeF9wBCQiw.iJU90:12289:0:99999:7::: marcio:$1$SU7P5jm0$oxXss6gdN1Ote4OAdd8T7/:12289:0:99999:7::: ricardo:$1$p1916bVN$XO/O4LK.lCBHRPM4AxntS/:12289:0:99999:7:::

100

Global Sul Informtica

luzia:$1$qhTQua7D$EFFaweLtm7rtzbkED/CFv.:12289:0:99999:7::: sonizia:$1$DiT4Jejk$ff3R7ZtxkDFdH220Sp3r//:12289:0:99999:7::: anarosa:$1$IfCWvtBv$CgPfPDMBAczPgIg.vTpF10:12289:0:99999:7::: marlene:$1$P6ibJ1pw$kMzgUGHwltI7oGhJOi6u10:12289:0:99999:7::: jane:$1$NApLqWam$g.96VchPk1kAyHqyjmn1k1:12289:0:99999:7::: sueli:$1$//FJHg4n$gbs.8Pq60WSGd/Urypn170:12289:0:99999:7::: karina:$1$gGTGf9bm$vRikGgCri0igZAU3GqbJl.:12289:0:99999:7:::

DICA: Nunca crie um usurio sem senha, pois esse ser um usurio totalmente vulnervel no sistema. Usurios sem senhas aparecem com !! ao lado de seu nome. Se por acaso um cracker consegue ver esse arquivo, j vaio descobrir que tem algum que vai entrar em perigo breve. Se bem que se o cracker conseguir ver esse arquivo sinal que voc j esta em perigo a um bom tempo.

Grupo: Para podermos permitir que vrios usurios diferentes tenham acesso a um mesmo arquivo, j que somente o dono poderia ter acesso ao arquivo, esse recurso foi criado o grupo onde cada usurio pode fazer parte de um ou mais grupos e ento acessar arquivos que pertenam ao mesmo grupo que o seu (mesmo que esses arquivos tenham outro dono). No sistema Linux por padro, quando um novo usurio criado, o grupo dele pertencer ou ser o mesmo de seu grupo primrio (exceto pelas condies vistas mais adiante atravs do comando id). A identificao do grupo chamada de gid (group id). Outros: a categoria de usurios que no so os donos ou no pertencem ao grupo do arquivo. Cada um dos tipos acima possui trs tipos bsicos de permisses de acesso que sero vistas a seguir. Tipos de permisso de acesso Ns temos basicamente trs tipos de permisses e cada uma pode interagir com o dono, o grupo e os outros no sistema Linux:
Read (r): Permisso de leitura para arquivos. Se for um diretrio, permite listar seu contedo atravs do comando ls. Write (w): Permisso de gravao para arquivos. Se for um diretrio, permite a gravao de arquivos ou outros diretrios dentro dele. Para que um arquivo/diretrio possa ser apagado, necessrio o acesso a gravao. Execute (x): Permite executar um arquivo se for um programa executvel. Se for um diretrio, permite que seja acessado atravs do comando cd.

Para que seja possvel visualizar, poderemos usar o comando: ls -al e ento teremos a listagens dos arquivos do referido diretrio, como podemos ver uma parte da listagem seguinte obtida como comando ls -laF. Acompanhe que o resultado no precisa ser exatamente igual ao do seu sistema. Vamos analisar o que apareceu, pegando como exemplo a linha: Quando vemos o drwxr-xr-x pela primeira vez, imaginamos: que coisa maluca! Mas no fundo, tudo muito simples.
dRWXr-xr-x ^

A primeira letra, o d, mostra que um diretrio, e no um arquivo. Somente ser um arquivo se tiver um no lugar do d. O sistema Linux, e os Unix em geral, trabalham com permisso de arquivos, algo que o Windows no tem, causando dificuldades em alguns iniciantes. Somente para relembrar, as permisses de arquivos funcionam da seguinte maneira:
r (read) = ler, w (write) = escrever, gravar, atualizar e x (execute) = executar

As permisses so atribudas a 3 nveis. Eles so:


u (user) = dono, g (group) = grupo, o (others) = outros e a (all)= todos. E seguem a seguinte ordem: dRWXr-xr-x ^^^ drwxR-Xr-x ^^^ drwxr-xR-X ^^^ Dono (User) Grupo (Group) Todos (All)

101

Treinamento Linux Administrao, Redes e Servios

Como podemos ver, so grupos de trs permisses (ler, escrever e executar), um grupo para cada nvel (dono, grupo e todos). Como j foi dito, o d significa que um diretrio. Ento esse diretrio tem como permisses: Para o dono: rwx, o que significa que ele pode ler, escrever e executar. Para o grupo: r-x, o que significa que o grupo pode ler e executar, mas no pode escrever (e tambm apagar). Para todos: r-x, o que significa que todos (Sim, todos que estiverem fazendo um ls -al nesta mquina) podem ler e executar, do mesmo modo que para o grupo. Como foi visto, neste diretrio (se fosse um arquivo, neste arquivo) o nico que pode modificar, escrever e deletar as informaes o dono, e o outros pode somente lr e executa-las. Porm, digamos que queremos alterar alguma permisso, ento para isso vamos ter que usar comando na console (modo texto) ou em modo grfico.

Atribuindo permisses: comando chmod


O comando chmod muda a permisso de acesso a um arquivo ou diretrio. Com esse comando, podemos escolher se usurio ou grupo ter permisses para ler, gravar, executar um arquivo ou arquivos. Sempre que um arquivo criado, seu dono o usurio que o criou, e seu grupo o grupo do usurio (exceto para diretrios configurados com a permisso de grupo s). Sintaxe: chmod [opes] [permisses] [diretrio/arquivo]. Onde: diretrio/arquivo: Diretrio ou arquivo que ter sua permisso mudada. Opes.
-v, --verbose: Mostra todos os arquivos que esto sendo processados. -f, --silent: No mostra a maior parte das mensagens de erro. -c, --change: Semelhante a opo -v, mas s mostra os arquivos que tiveram as permisses mudadas. -R, --recursive: Muda permisses de acesso do diretrio/arquivo no diretrio atual e sub-diretrios.

Alterando permisses pelo modo literal


Continuando o que j foi mencionado... ento no queremos que todos leiam nem executem algo l dentro, porm queremos que as pessoas do seu grupo possam modific-las. Ento, estaremos tirando a permissao de r-x de todos e adicionando a permisso -w- para o grupo. O que precisamos usar o comando chmod (CHange MODe) para alterar as permisses. O comando seria: chmod <permisso> <arquivo e/ou diretrio>.
# chmod a-rx /dev/ # chmod g+w /dev/

O modo literal mais fcil de ser entendido, porque usa letras para identificar:
[a]ll=Todos, [g]roup=Grupo, [o]thers=Outros e [u]ser=dono [+]=Adicionar permisso e [-]=Remover permisso

Ento entendendo os comandos chmod a-rx /dev/ e chmod g+w /dev/, o primeiro tira a permisso de todos de ler e executar. Veja que o chmod usa a-rx. Do a (todos), ele tira o rx (ler e executar) usando o - (Menos). O segundo d a permisso para o grupo de escrever. Veja que o chmod usa g+w. Do g (grupo), ele adiciona o w (escrever) usando o + (Mais). Vamos ver um pequeno resumo:
chmod a+rwx arquivo-teste.tar: Todo mundo faz o que quiser com o arquivo. chmod a-rwx arquivo-teste.tar: Ningum no faz nada com o arquivo. chmod u+rwx arquivo-teste.tar: O dono faz o que quiser com o arquivo. chmod g+r-x arquivo-teste.tar: O usurios do grupo podem ler e executar, MAS no podem apagar o arquivo. chmod o=--- arquivo-teste.tar: Se no for o dono e no for do grupo, ou seja, os outros aqui no fazem nada.

A seguir, mais exemplos para aprender bem como que se faz. Exemplos de permisses de acesso:

102

Global Sul Informtica

chmod g+r *: Permite que todos os usurios que pertenam ao grupo dos arquivos(g) tenham(+) permisses de leitura(r) em todos os arquivos do diretrio atual. chmod o-r teste.txt: Retira(-) a permisso de leitura(r) do arquivo teste.txt para os outros usurios (usurios que no so donos e no pertencem ao grupo do arquivo teste.txt). chmod uo+x teste.txt: Inclui (+) a permisso de execuo do arquivo teste.txt para o dono e grupo do arquivo. chmod a+x teste.txt: Inclui (+) a permisso de execuo do arquivo teste.txt para o dono, grupo e outros usurios.

DICA: O comando chmod no muda permisses de links simblicos; as permisses devem ser mudadas no arquivo alvo do link. Tambm podem ser usados cdigos numricos octais para a mudana das permisses de acesso a arquivos/diretrios as quais vamos aprender na seqncia.

Alterando permisses pelo modo numrico (octal)


Olha s que interessante: Em vez de utilizar os modos de permisso +r, -r etc., possvel usar o modo octal para alterar a permisso de acesso a um arquivo. O modo octal um conjunto de oito nmeros onde cada nmero define um tipo de acesso diferente. Ento, se mudarmos a permisso de um arquivo para chmod 754 teste.tar.gz, estaremos permitindo que o dono dele possa ler, escrever e executar, que o grupo possa ler e executar e que todos possam somente ler o arquivo. Ento, chmod 754 teste.tar.gz igual a:
chmod u+rwx teste.tar.gz, chmod g+rx teste.tar.gz chmod g-w teste.tar.gz, chmod o+r teste.tar.gz chmod o-wx teste.tar.gz

Entendeu? Espero que sim, se no conseguiu entender, leia tudo de novo, que uma hora voc entender. Veja como mais flexvel gerenciar permisses de acesso usando o modo octal em vez do comum (literal), pois podemos especificar diretamente a permisso do dono, grupo, outros, e no gerenciar as permisses de cada um separadamente.

Nmeros
0 1 2 3 4 5 6 7

Permisses correspondentes
Nenhuma permisso Executar Escrever Escrever e executar Ler Ler e executar Ler e escrever Ler, escrever e executar

(UGOA)
----x -w-wx r-r-x rwrwx

O uso de um desses nmeros define a permisso de acesso do dono, grupo ou outros usurios. Vamos a prtica com alguns exemplos:
chmod 000 chmod 777 chmod 700 chmod 750 chmod 755 arquivo. teste.tar.gz: teste.tar.gz: teste.tar.gz: teste.tar.gz: teste.tar.gz: Ningum pode fazer nada no arquivo. Todo mundo faz o que quiser no arquivo. O dono faz tudo e ningum faz nada no arquivo. O dono faz tudo, o grupo s l e executa e os O dono faz tudo, o grupo e os outros podem ler

outros nada. e executar o

103

Treinamento Linux Administrao, Redes e Servios

chmod chmod podem chmod chmod

666 754 ler 444 111

teste.tar.gz: teste.tar.gz: o arquivo. teste.tar.gz: teste.tar.gz:

Todos s podem ler e executar o arquivo. O dono faz tudo, o grupo s l e executa e

os outros somente

O arquivo somente pode ser lido por todos. Todos somente podem executar o arquivo e nada mais.

Alterando permisses pelo modo absoluto


Uma maneira interessante de configurar as permisses de acesso pelo modo absoluto, como chamado; esse modo parece ser bem mais fcil de entender e funciona da seguinte maneira, veja a tabela seguinte:

Todos (a) Dono (u) R W X 400 200 100 Grupo (g) R 40 W 20 X 10 Outros (o) R 4 W 2 X 1

Para entender como a tabela funciona, imagine que desejamos configurar a seguinte permisso: o dono faz tudo, o grupo somente l e executa e os outros somente lem. Logo j sabemos que para o dono (u)=rwx, grupo (g)=r-x e outros (o)= --r, ento como que poderamos configurar isso em modo numrico usando a tabela anterior? Simples, vejamos: r=400, w=200 e x= 100, ento as permisses para o dono a soma de r+w+x, que resulta em 700. Na seqncia, a soma para o grupo r+x que resulta 60, e por final, a soma dos outros que neste caso apenas o x, que igual a 1. Portanto, agora vamos configurar a permisso usando o comando chmod 761 teste.tar.gz.

Anotaes: 104

Global Sul Informtica

105

Treinamento Linux Administrao, Redes e Servios

Anotaes:

106

Global Sul Informtica

Captulo 6

Empacotamento e compresso de arquivos


No sistema Linux, assim como em qualquer outro sistema, as rotinas de backup e compactao de arquivos, j que a maioria dos arquivos nos dias de hoje tendem a ser maior que a capacidade de um simples disquete de 31/2, tambm so fceis de manipular. possvel fazer tudo via modo texto ou via modo grfico. J pensou em perder horas, dias ou at mesmo semanas de trabalho devido falta de uma cpia de segurana atualizada de seus dados. Ento, neste captulo, vamos aprender como que devemos proceder para fazer isso de uma forma correta, e para isso vamos aprender alguns comandos bsicos do sistema Linux. Isso sem falar que os mais novos compactadores para ambiente Windows j podem abrir alguns formatos de arquivos empacotados e/ou compactado no Linux, e o Linux pode abrir tambm arquivos zipados pelo Windows. No Windows ns temos vrios tipos de arquivos, mas hoje os mais populares do arquivos do Winzip (.zip) e do Winrar (.rar) os outros meio que ficaram esquecidos na histria. Ento acabamos nos acostumando com esses extenses, porm no sistema Linux ns j temos uma outras bem diferente e que so comuns para os usurios desse sistema. Com o o tempo voc pega o jeito, mas assim: Quando o arquivo est tarjeado, ele apenas apresenta a extenso .tar em seu nome. Lembrete, o arquivo tarjeado e no tarado como eu j vi alguns usurios novos no sistema, no porque ele tem .tar que vai ser um tarado, n? E quando esse arquivo tarjeadoest compactado ele poder apresentar junto com seu .tar a identificao de quem o compactou. H muitas extenses que identificam arquivos compactados, vamos ver aqui somente as mais usadas.
*.gz: O arquivo foi compactado pelo gzip (muito popular). *.bz2: O arquivo compactado pelo bzip2 (muito popular). *.Z: O arquivo foi compactado pelo programa compress. Use o programa uncompress para descompacta-lo. Foi muito usado mas perde em taxa de compactao para o gzip e o bzip2. *.zip: O arquivo foi compactado pelo programa zip do Linux. Use o programa unzip para descompacta-lo. Esse formato pode ser lido pelo equivalente no Windows. *.lha: Formato de arquivo compactado muito pouco usado hoje. *.rar: O arquivo foi compactado pelo programa rar. Use o programa rar para descompactalo. J existem alguns programas linux que entende esse formato. *.tar.gz: O arquivo foi compactado pelo programa gzip depois de ser transformado em um tar. Para descompar, voc pode usar o gzip e depois o tar ou somente o programa tar usando a opo -z assim: tar -xzpvf arquivo.tar.gz. *.tgz: a abreviao de .tar.gz esse formato muito usado no slackware. *.tar.bz2: O arquivo foi compactado pelo programa bzip2 depois de ser transformado em um tar. Para descompar, voc pode usar o bgzip com o parmetro -dv e depois o tar ou somente o programa tar usando a opo -I assim: tar -xzpvf arquivo.tar.bz2. *.tar.Z: O arquivo foi compactado pelo programa compress depois de ser transformado em um tar. Para descompacta-lo, voc pode usar o uncompress e depois o tar ou somente o programa tar usando a opo -Z.

107

Treinamento Linux Administrao, Redes e Servios

No se esquea que mesmo sendo Linux ns temos outras extenses, algumas bem antigas como o .lha, lhx e outras novas como .zip, .rar e at mesmo no padro .sit da Apple.

DICA: Um arquivo .tar no significa que ele seja um arquivo compactado, em alguns casos ele fica atmaior que a soma dos outros. O que ele faz na verdade guardar dentro dele mais arquivos.

Empacotando arquivos com o comando tar


O comando tar salva vrios arquivos em um nico arquivo .tar (em fita ou disco), e podemos restaur-los individualmente. Seu uso simples: tar [opes]... [arquivo.tar]. Veja alguns exemplos:
# tar -cpvf backup-2.tar /home/adilson/fotos/*

Cria o arquivo backup-2.tar de todas as fotos que esto em /home/adilson/fotos.


# tar -xpvf backup-2.tar

Volta o backup do arquivo backup-2.tar de todas as fotos que estavam em /home/adilson/fotos.


# tar -tpvf backup-2.tar

Lista todos os arquivos do arquivo backup-2.tar.


# tar -jcf usuarios.tar.bz2 /home/adilson /home/gabriel

Cria arquivo usuarios.tar.bz2 contendo apenas os diretrios do usurio adilson e o usurio gabriel. Se quisermos fazer um backup de todos os usurios do /home usaramos o comando # tar -cpvf TodosDoHome.tar /home/*, por exemplo. Se uma opo longa aparece como argumento mandatrio, ento a opo curta equivalente tambm um argumento mandatrio. Idem para argumentos opcionais. Vamos ver aqui os principais parmetros usados e passados para o comando tar. Principal modo de funcionamento:
-C: Permite mudar de diretrio. -t: Listar o contedo de um arquivo-tar. -x: Extrair arquivos do arquivo-tar. -c: Criar um arquivo-tar. -d: Comparar o arquivo-tar com arquivos atuais. -r: Anexar arquivos no fim do arquivo-tar. -u: Atualiza arquivos no arquivo-tar. -A: Anexar outros arquivos-tar. --concatenate: O mesmo que -A. --delete: Remover do arquivo-tar (exceto para fitas). -v: Mostra informaes no decorrer do processamento.

Seleo do formato do arquivo:


-I, --bzip2, --bunzip2: Filtra o arquivo atravs do bzip2. -z, --gzip, --ungzip: Filtra o arquivo atravs do gzip. -Z, --compress, --uncompress: Filtra por meio do compress.

Seleo local de arquivos:


-C: Mudar para diretrio. -h, --dereference: Usar os prprios arquivos, em lugar dos ligaes simblicas. --no-recurse: No descer pela rvore de diretrios.

108

Global Sul Informtica

Essa observao muito importante se voc possui um arquivo .tar muito grande, apesar da compactao, e deseja quebr-lo em vrios pedaos para poder copiar em disquete para levar a um outro micro:
# tar cvM L 1350 f /mnt/floppy/partes.tgz grande.tgz.

O comando anterior pega o arquivo grande.tgz e o quebra em vrias partes.tgz para que seja possvel grav-lo em vrios disquetes. Mas muito importante que os disquetes estejam em perfeito estado para no ocorrer erros de gravao. Outro uso interessante para o comando tar a cpia remota que funciona assim:
# tar cvf - [origem] | rsh [sistema_remoto] (cd [destino]; tar xvfB -)

Resumindo: O comando tar vai at a [origem] e, por meio de pipes (dutos) usando o rsh (remote shell), executa o comando (cd [destino]; tar xvfB -), que feito remotamente. Isso legal, porque nem preciso usar ftp. No entanto, mquinas precisam estar cadastradas no arquivo /etc/.rhosts ou em /etc/hosts.equiv. Se voc estiver em uma rede e desejar passar o arquivo para um outro micro, porque no fazer um ftp em vez de ficar copiando vrios disquetes e depois juntando os pedaos de volta? Sua estao Linux em uma rede Windows ou vice-versa; que tal l no Linux levantar um servidor web bsico e copiar o arquivo da mquina Linux para mquina Windows como se estivesse fazendo um download da Internet? Voc acha difcil? Calma que j vamos aprender essa tcnica interessante. Em uma mquina com o sistema Linux operante e toda a configurao de rede certinha e com o servidor apache no ar, verifique com o comando ps -aux | grep http.
root nobody nobody root 856 858 857 889 0.0 0.0 0.0 0.0 4.4 3.2 3.2 1.7 2612 2812 2812 1296 1312 940 960 500 ? ? ? tty2 S S S S 16:38 16:38 16:38 16:40 0:00 0:00 0:00 0:00 httpd httpd httpd grep httpd

Se isso aparecer, est tudo ok; caso contrrio, apenas digite o comando httpd start. Bom, no vamos entrar em detalhes sobre a configurao do servidor apache, mas isso j dever ter sido feito pelo seu administrador da rede para que voc possa fazer os seus downloads de uma mquina Linux para uma mquina Windows ou Linux. Mas, como o objetivo deste livro ensinar a configurao do sistema Linux, vamos dar uma palhinha para o usurio/leitor que logo de cara j vai aprendendo como que o alcance do Linux muito mais amplo do que pensamos. Para que uma mquina com o Windows e uma mquina Linux possam tambm fazer o download dos arquivos, faa o seguinte:
1. Levante o servidor apache bsico: httpd ou httpd start. 2. Entre no caminho /etc/httpd/html e crie um diretrio chamado downloads. 3. Copie os arquivos que os usurios podero pegar via download. 4. Configure esse diretrio para acesso das outras pessoascom o comando chmod 755 downloads.

Usando o comando tar tambm podemos fazer cpias de nossos arquivos e diretrios inteiros, com a vantagem de se preservar as mesmas permisses e atributos dos arquivos, para isso use o comando:
# (cd /origem && tar cf - . ) | (cd /destino && tar xvfp -)

O uso dos parntesis permite com que a operao seja executada em uma subshell, no afetando a shell que vc est usando. A primeira coisa que o comando faz ir para o diretrio de origem e, se sucedido (&&), cria um arquivo tar com todo o contedo e da depois que vai para o destino.

Usando o compress e uncompress


O comando compress compreende os seguintes arquivos acessrios: uncompress e zcat para fazer descompactao e exibio de dados. O comando compress reduz o tamanho do arquivo (compacta) usando um cdigo Lempel-Ziv coding. Os arquivo que foram compactados usando o comando compress tero

109

Treinamento Linux Administrao, Redes e Servios

a extenso .Z. O compress no compacta muito bem se comparado com outros compactadores mais novos para Linux, mas, como precisamos aprender alguns deles, o compress tambm faz parte do jogo. Para comprimir:
# compress <parmetros> <arquivo>

Para descomprimir:
# uncompress <parmetros> <arquivo>

Os parmetros bsicos mais comuns so:


-f = Para o compress trabalhar em background (segundo plano). -c = Descompacta somente para a tela do sistema. -V = Mostra informaes adicionais sobre cada arquivo que est sendo compactado. -v = Exibe informaes sobre o que est acontecendo com os arquivos que esto sofrendo a compactao. -d = Pode ser usado com o compress para fazer tambm a descompactao de arquivos.

Exemplo prtico, vamos compactar o arquivo estudos.tar (13.291.520), que tem mais de treze megabytes, e analisar a compactao.
# compress -v estudos.tar estudos.tar: -- replaced with estudos.tar.Z Compression: 43.21% # ls -l -rw-r--r-1 root root 7548715 Nov 18 00:54 estudos.tar.Z

Percebemos que o arquivo que antes tinha uns treze megabytes agora tem menos de oito megabytes. A compactao criou um arquivo com quase metade de tamanho. Agora para descompactar, usamos o comando:
# uncompress -v estudos.tar.Z estudos.tar.Z: -- replaced with estudos.tar

Usando o bzip2 e bunzip2


O comando bzip2 faz compactao de arquivos. Usaremos os seguintes acessrios ao bzip2: o bunzip2 para fazer descompactao (opcional), pois no prprio bzip2 possvel fazer a descompactao; o bzcat para descompactar arquivos na tela do sistema; e bzip2recover quando possvel para recuperar arquivos danificados. O comando bzip2 compacta todos os arquivos de um diretrio qualquer e acrescenta no final de cada arquivo a extenso .bz2. Cada arquivo que foi compactado continuar com as mesmas permisses, dono, grupo etc. intactas. E na hora da descompactao, a extenso .bz2 ser removida do arquivo e ele voltar ao tamanho original. O bzip2 tem inmeros parmetros, mas vamos ver os mais usados e o que realmente interessa aqui. Para compactar:
# bzip2 <parmetros> <arquivo>

Para descompactar:
# bunzip2 <parmetros> <arquivo>

Onde os parmetros so:


-1 -v: -c: -d: -t: at -9: Onde o -9 o maior fator de compresso. Exibe as informaes do processamento na tela do micro. Descompacta para a tela do sistema. Executa a descompactao. Faz teste de verificao de integridade do arquivo.

110

Global Sul Informtica

-f: Fora sobrescreve arquivos. -s: Reduz o uso de memria exigida para grande quantidade de arquivos comprimindo o arquivo exemplo.tar.

Exemplo prtico, vamos compactar o arquivo estudos.tar (13.291.520 kb), que tem mais de treze megabytes, e analisar a compactao.
# bzip2 -v9 estudos.tar estudos.tar: 2.345:1, # ls -l -rw-r--r-- 1 root root 3.412 bits/byte, 57.36% saved, 13291520 in, 5668005 out. 5668005 Nov 18 00:54 estudos.tar.bz2

Percebemos que o arquivo que antes tinha uns treze megas agora tem menos de seis. A compactao criou um arquivo com bem menos da metade de tamanho, e isso bom. Agora para descompactar usamos o comando:
# bunzip2 -v estudos.tar.bz2 estudos.tar.bz2: done

Vale lembrar aqui que o comando bzip2 tambm descompacta arquivos, basta colocar o parmetro dv assim bunzip2 -v estudos.tar.bz2.

Usando o gzip, gunzip e zcat


Os comandos gzip, gunzip, zcat compactam, expandem e lem arquivos em alguns formatos no sistema Linux. Sempre que possvel, cada arquivo substitudo por outro com a extenso .gz, mantendo o dono, as permisses e as datas de modificao. O gzip somente tentar compactar arquivos normais. Em particular, ele ignorar links simblicos. Por definio, o gzip mantm o nome do arquivo original e sua data no arquivo compactado. Esses dados so usados na expanso do arquivo por meio da opo N. Isso pode ser til quando o nome de um arquivo compactado for truncado ou quando a data do arquivo no for preservada aps uma transferncia. Arquivos compactados podem ser restaurados para o seu formato original usando gzip -d, gunzip ou zcat. O comando gunzip recebe uma lista de arquivos por meio da linha de comando e considera que seus nomes finalizem com .gz, -gz, .z, -z, z ou .Z e que comecem com o nmero mgico correto de um arquivo no compactado sem a extenso original. O gunzip tambm reconhece extenses especiais, tais como .tgz, assim como atalhos para .tar.gz e .tar.Z, respectivamente. Ao descompactar, o gzip usa a extenso .tgz; caso seja necessrio, em vez da extenso truncada de um arquivo .tar. Veja os parmetros mais comuns usados:
-d --decompress --uncompress: Descompactar um arquivo. -f --force: Fora a compactao e descompactao mesmo que o arquivo tenha mltiplos links ou o arquivo correspondente j exista ou ainda mesmo que os dados compactados sejam lidos ou gravados em um terminal. Caso os dados de entrada no estejam em um formato reconhecido por gzip, e se a opo -stdout for informada, ele copia os dados de entrada sem alteraes para a sada padro, deixando zcat comportar-se como cat. -l -list: Para cada arquivo compactado, lista os seguintes campos: tamanho compactado; tamanho do arquivo compactado; tamanho descompactado; tamanho do arquivo descompactado razo; taxa de compactao (0.0% se desconhecida), nome descompactado; nome do arquivo descompactado. -r -recursive: Navega pela estrutura de diretrios recursivamente. --fast -best: Regula a velocidade da compactao usando um dgito especificado.

Exemplo prtico: Vamos compactar o arquivo estudos.tar de tamanho 13.291.520 KB, que tem mais de treze megabytes, e analisar a compactao.
# gzip -v9 estudos.tar estudos.tar: 47.0% -- replaced with estudos.tar.gz # ls -l -rw-r--r-1 root root 6247484 Nov 18 00:54 estudos.tar.gz

111

Treinamento Linux Administrao, Redes e Servios

Percebemos que o arquivo que antes tinha uns treze megabytes agora tem menos de sete. A compactao criou um arquivo com menos da metade de tamanho. Agora para descompactar usamos o comando:
# gunzip -v estudos.tar.gz estudos.tar.gz: 47.0% -- replaced with estudos.tar

O tamanho descompactado dado por um indicador 1 para arquivos que no estejam em formato gzip, tais como arquivos compactados .Z. Para obter o tamanho do arquivo descompactado, pode-se usar:
# zcat arquivo.Z | wc -c.

Usando o znew
O uso do comando znew embora raro interessante caso voc queira recompactar arquivos do formato do compress .Z para o formato do gzip .gz. Aps a recompactao, os arquivos de origem .Z so apagados. Seu uso simples znew [opes] <arquivo.Z> . Onde arquivo.Z o arquivo compactado pelo comando compress que ser recompactado para o gzip. Temos ainda algumas opes:
f : Substitui o arquivo .gz caso j exista. t: Teste os novos arquivos criados antes de apagar os arquivos .Z. v: Mostra o nome e porcentagem de compactao para cada arquivo processado. 9: Usa a mxima compactao. P: Usa pipes (dutos) durante a converso para reduzir o espao ocupado no disco. A data e hora do arquivo no mantida caso esta opo seja usada. K : Mantm o arquivo .Z caso seja menor que o arquivo .gz.

Quebrando arquivos grandes


O comando split realmente muito til quando voc o usa em conjunto com outros comandos para obter um resultado. Veja esse exemplo prtico para entender como funciona o comando split. Vamos supor que temos um arquivo compactado mas que mesmo assim grande, e desejamos saber como dividir um arquivo que est compactado como .tar.gz e um como .zip. Precisaramos, ento, passar esses arquivos para o computador em um outro local fora da rede; como ele tem mais de 5 MB (exemplo), no podemos pass-lo via e-mail nem por disquete. Vejamos agora qual deve ser o procedimento correto. Precisamos, ento, agora dividir um arquivo grande em vrios pequenos pedaos com o parmetro -b, assim:
# split -b1440k estudos.tar disk# ls -l -rw-r--r-1 root root -rw-r--r-1 root root -rw-r--r-1 root root ... -rw-r--r-1 root root -rw-r--r-1 root root

1474560 Nov 18 01:11 disk-aa 1474560 Nov 18 01:11 disk-ab 1474560 Nov 18 01:11 disk-ac 1474560 Nov 18 01:11 disk-ai 20480 Nov 18 01:11 disk-aj

Lembra-se do arquivo estudos.tar (13.291.520 KB), que tinha mais de treze megabytes de tamanho? Pois , agora ele foi fragmentado e est dividido em dez pedaos de 1.474.560 KB, pouco mais de um megabyte, ou seja, do tamanho de um disquete 31/2 de alta densidade. Se no for passado a informao disk-, isso vai quebrar o arquivo em vrios arquivos menores com no mximo mais ou menos uns 1400 KBytes, e ento poderemos gravar cada um deles em um disquete. Ele vai gerar arquivos com os nomes xaa, xab, xac, xad etc..., mas se achar melhor, voc pode escolher algum prefixo, que nesse caso foi disk-. Para recuperar o arquivo, copie todos os disquetes para um mesmo diretrio e use o comando cat, que nessa altura do campeonato voc j percebeu que realmente poderoso cat * > estudos.tar. O comando cat ordena sozinho, mas se for usar o copy do MS-DOS voc no poderia trocar a ordem dos arquivos; isso seria um desastre. Lembre-se: tambm possvel fazer essa quebra com o comando tar, mas a finalidade aqui mostrar o recurso do comando split.

112

Global Sul Informtica

Anotaes:

113

Treinamento Linux Administrao, Redes e Servios

Anotaes:

114

Global Sul Informtica

Captulo 7

Gerenciamento de pacotes com RPM


O formato de arquivos para instalao rpm1 desenvolvido pela Red Hat, a mais famosa distribuio Linux, veio para facilitar e muito a vida dos usurios do sistema Linux. Com o formato de arquivo rpm, possvel facilmente instalar, desinstalar, atualizar, consultar, pesquisar, criar rpm etc. Ento, logo de incio, percebemos o quanto deve ser fcil trabalhar com o formato rpm. At mesmo podemos instalar vrios programas ao mesmo tempo por meio do uso de coringas. Vamos entender o formato rpm como se fosse um arquivo .zip l do Windows, que preversa uma srie de informaes sobre os arquivos. Aqui vamos chamar de pacote o arquivo em formato rpm que contm todos os arquivos necessrios para que um determinado programa/aplicativo funcione no sistema Linux. Mas isso vai alm dessa simples comparao, pois um pacote rpm pode conter informaes como: empresa que est distribuindo o pacote, URL, email, descrio do pacote, onde vai para os arquivo de pacote depois de instalado etc. Para desenvolvedores, o rpm permite manter fontes e binrios e suas atualizaes separadamente, empacotando-os de forma configurvel para os usurios finais. O gerenciador mantm uma base de dados com os pacotes instalados e seus arquivos, o que permite executar pesquisas complexas e verificaes de maneira gil e segura. Durante atualizaes de programas, o rpm administra, por exemplo, arquivos de configurao, mantendo as configuraes j realizadas no sistema, uma tarefa impossvel, por exemplo, para programas em formatos .tar.gz e similares. Pacotes no formato rpm podero ser instalados tanto via modo texto quanto modo grfico, e para modo grfico existem vrios programas, e entre eles os mais conhecidos e usados so o gnorpm (Gnome) e o kpackage (KDE). O rpm, um poderoso gerenciador de pacotes, que pode ser usado para construir, instalar, pesquisar, verificar, atualizar e desinstalar pacotes individuais de software. Um pacote consiste em armazenagem de arquivos e informaes, incluindo nome, verso e descrio. Com o rpm, possvel fazer:
1. 2. 3. 4. 5. 6. 7. Manuteno de pacotes e instalao via ftp. Gerncia de pacotes com rpm. Verificar pacotes j instalados e descobrir arquivos com conflitos. Encontrar dependncias no resolvidas. Desinstalar pacotes no mais necessrios no sistema. Atualizar pacotes por verses mais novas. Consultar arquivos de pacotes instalados e no instalados etc.

Parmetros bsicos do rpm


Modo de Instalao: rpm -i [opes-de-instalao] <arquivo pacote>. Modo de Consulta: rpm -q [opes-de-consulta]. Modo de Verificao: rpm -V|-y|--verify [opes-de-verificao]. Modo de Validao de Assinatura: rpm --checksig <arquivo pacote>+. Modo de Desinstalao: rpm -e <nome do pacote>. Modo de Construo: rpm -[b|t]O [opes-de-construo] <spec do pacote>+. Reconstruir Banco de Dados: rpm --rebuilddb. Ajustar Permisses: rpm --etperms [especificadores-de-consulta-de-pacote]. Ajustar Donos e Grupos: rpm --setugids [especificadores-de-consulta-de-pacote]. Exibir Configurao: rpm --showrc. Um + aps um parmetro indica que ele pode aparecer mais de uma vez.

115

Treinamento Linux Administrao, Redes e Servios

RPM em pacotes no instalados


Vamos aprender como devemos proceder para buscar informaes sobre pacotes que ainda no foram instalados. A vantagem disso que ficamos sabendo um monte de informaes sobre esses pacotes e ento poderemos decidir se essas informaes interessante ou no. Bom, se voc no baixou o(s) pacote(s) rpm da Internet, ento provavelmente est usando um cd-rom, e os locais onde os rpm esto variam de acordo com a distribuio, por exemplo:
/mnt/cdrom/conectiva/RPMS/ > Distribuies Conectiva Linux. /mnt/cdrom/Mandrake/RPMS/ > Distribuies Mandrake Linux. /mnt/cdrom/Techlinux/RPMS/ > Distribuies Techlinux Linux. /mnt/cdrom/RedHat/RPMS/ > Distribuies RedHat Linux.

Porm, esse locais podem variar conforme releases novos dessas distribuies. Nesses locais, voc encontrar um monte de arquivos rpm. Vamos usar aqui como exemplo uma distribuio Conectiva Linux. Parmetros. Para saber o nome de um pacote depois de instalado, use -qp:
# rpm -qp /mnt/cdrom/conectiva/RPMS/zsh-3.0.8-1cl.i386.rpm zsh-3.0.8-1cl

Para saber quais so os arquivos do pacote, use -qlp:


# rpm -qlp /mnt/cdrom/conectiva/RPMS/xpdf-0.92-1cl.i386.rpm /usr/bin/pdfimages /usr/bin/pdfinfo /usr/bin/pdftopbm /usr/bin/pdftops /usr/bin/pdftotext /usr/bin/xpdf /usr/share/doc/xpdf-0.92 /usr/share/doc/xpdf-0.92/CHANGES /usr/share/doc/xpdf-0.92/README /usr/share/man/man1/pdfimages.1.gz /usr/share/man/man1/pdfinfo.1.gz /usr/share/man/man1/pdftopbm.1.gz /usr/share/man/man1/pdftops.1.gz /usr/share/man/man1/pdftotext.1.gz /usr/share/man/man1/xpdf.1.gz

Para ler o cabealho de informao do pacote, use -qip:


# rpm -qip /mnt/cdrom/conectiva/RPMS/wine-20010510-1cl.i386.rpm Name : wine Relocations: (not relocateable) Version : 20010510 Vendor: Conectiva Release : 1cl Build Date: Seg 28 Mai 2001 Install date: (not installed) Build Host: api2.distro.conectiva Group : Emuladores Source RPM: wine-20010510-1cl.src.rpm Size : 11061159 License: WineL URL : http://www.winehq.org/ Summary : Executa programas Windows no Linux Description : O Wine um programa que permite rodar programas MS-Windows no X11. Ele consiste de um carregador de programa, que carrega e executa um binrio MS-Windows, e de uma biblioteca de emulao que traduz as chamadas da API para as equivalentes Unix/X11.

Aqui, entre vrias informaes possveis, sabemos qual o grupo a que ele pertence (Group:Emuladores), URL, um pequeno sumrio e uma descrio mais detalhada. Para saber onde estar a documentao do pacote, use -qdp:
# rpm -qdp /mnt/cdrom/conectiva/RPMS/wine-20010510-1cl.i386.rpm /usr/X11R6/man/man1/wine.1.gz /usr/X11R6/man/man1/winemaker.1.gz /usr/X11R6/man/man1/wmc.1.gz /usr/X11R6/man/man1/wrc.1.gz /usr/X11R6/man/man5/wine.conf.5.gz

116

Global Sul Informtica

/usr/share/doc/wine-20010510/ANNOUNCE /usr/share/doc/wine-20010510/AUTHORS /usr/share/doc/wine-20010510/BUGS /usr/share/doc/wine-20010510/ChangeLog /usr/share/doc/wine-20010510/DEVELOPERS-HINTS /usr/share/doc/wine-20010510/LICENSE /usr/share/doc/wine-20010510/README /usr/share/doc/wine-20010510/README.debugger /usr/share/doc/wine-20010510/WARRANTY

Para todos os pacotes que requerem <capacidade> para funcionar corretamente, use -q whatrequires:
# rpm -q --whatrequires /mnt/cdrom/conectiva/RPMS/xmms-1.2.4-9cl.i386.rpm nenhum pacote requer /mnt/cdrom/conectiva/RPMS/xmms-1.2.4-9cl.i386.rpm

Para saber quais so os arquivos de configurao do pacote, use -qcp:


# rpm -qcp /mnt/cdrom/conectiva/RPMS/wu-ftpd-2.6.1-4cl.i386.rpm /etc/ftpaccess /etc/ftpconversions /etc/ftpgroups /etc/ftphosts /etc/ftpusers /etc/logrotate.d/ftpd /etc/pam.d/ftp

Para exibir informaes dos arquivos como segue: caminho, tamanho, mtime md5sum, modo, dono, grupo, isconfig, isdoc, rdev, symlink. Isso deve ser usado com uma das opes -l, -c, -d. mtime indica o dia e hora de criao do arquivo; isdoc indica se o arquivo documentao; e isconfig indica se um arquivo de configurao.
# rpm -q --dump xmp-xmms-2.0.4-2cl /usr/lib/xmms/Input/xmp-plugin.so 351176 988915835 d46af7c84d65581466b0145 8d31c645d 0100644 root root 0 0 0 X \

Para saber informaes do cabealho e em que local estaro os arquivos depois da instalao, poderemos usar o comando less:
# less /mnt/cdrom/conectiva/RPMS/ftp-0.10-14cl.i386.rpm Name : ftp Relocations: (not relocateable) Version : 0.10 Vendor: Conectiva Release : 14cl Build Date: Qua 13 Jun 2001 11:24:57 BRT Install date: (not installed) Build Host: mapi2.distro.conectiva Group : Rede Source RPM: ftp-0.10-14cl.src.rpm Size : 104478 License: BSD Summary : Cliente ftp padro Unix (protocolo de transmisso de arquivo) Description : Este pacote prov o cliente ftp padro Unix para a linha de comando. O ftp o protocolo padro de transferncia de arquivos na Internet, e extremamente popular. /usr/bin/ftp /usr/bin/pftp /usr/share/locale/pt_BR/LC_MESSAGES/ftp.mo /usr/share/man/man1/ftp.1.gz /usr/share/man/man1/pftp.1.gz /usr/share/man/pt_BR/man1/ftp.1.gz /usr/share/man/pt_BR/man1/pftp.1.gz

117

Treinamento Linux Administrao, Redes e Servios

RPM em pacotes instalados


Assim como aprendemos a efetuar consultas a pacotes que no estavam instalados, tambm poderemos efetuar consultas a pacotes instalados. Para listar por ordem alfabtica (letras maisculas primeiro) os pacotes que esto instalados e com pausa para ler no vdeo, use -qa:
# rpm -qa | sort | less ElectricFence-2.2.2-1cl GConf-1.0.0-ximian.8 GXedit-1.23-4cl Glide_V2-2.53-3cl ... ... yp-tools-2.5-2cl ypbind-3.3-33cl ypserv-1.3.12-3cl ytalk-3.1.1-2cl zip-2.3-3cl zlib-1.1.3-13cl zlib-devel-1.1.3-13cl zsh-3.0.8-1cl

Dependendo do tipo de instalao que foi feita na mquina, a listagem gigantesca. Por isso que no foi mostrada toda ela aqui. Para saber a quantidade de pacotes instalados, use assim:
# rpm -qa | wc -l 1544 -> Esse o total de pacotes instalados.

Para saber a qual pacote pertence o arquivo, use -qf:


# rpm -qf /usr/bin/jpico joe-2.9.5-2cl

Veja esse exemplo: o usurio gabriel digitou adsl- e pressionaou a tecla TAB duas vezes e ficou sabendo o nome dos arquivo que comeam com adsl- e agora ele quer saber onde que o comando adslconnect est em seu sistema. Ento ele digita o comando whereis adsl-connect e saber que est em /usr/sbin/adsl-connect, depois ele digita o comando rpm -qf /usr/sbin/adsl-connect para saber de qual pacote veio esse comando e da ele fica sabendo que veio do pacote rp-pppoe-3.5-26143cl. Acompanhe:
[root@gabriel c11]# adsladsl-connect adsl-setup adsl-start adsl-status adsl-stop

[root@gabriel c11]# whereis adsl-connect adsl-connect: /usr/sbin/adsl-connect [root@gabriel c11]# rpm -qf /usr/sbin/adsl-connect rp-pppoe-3.5-26143cl

Pois , agora agora com o cdrom on montado ele poder usar o comando rpm -qlp /mnt/cdrom/ conectiva/RPMS/rp-pppoe-3.5-26143cl.rpm para obter toda a listagem dos arquivos desse pacote e onde que els vo parar depois de instalados no sistema. Acompanhe:
[root@gabriel c11]# rpm -qlp /mnt/cdrom/conectiva/RPMS/rp-pppoe-3.5-26143cl.rpm /etc/ppp/firewall-masq /etc/ppp/firewall-masq.ipchains /etc/ppp/firewall-standalone /etc/ppp/firewall-standalone.ipchains /etc/ppp/plugins/README /etc/ppp/pppoe.conf /etc/rc.d/init.d/adsl-init /usr/sbin/adsl-connect /usr/sbin/adsl-setup /usr/sbin/adsl-start

118

Global Sul Informtica

/usr/sbin/adsl-status /usr/sbin/adsl-stop /usr/sbin/pppoe /usr/sbin/pppoe-sniff /usr/sbin/pppoe-wrapper /usr/share/doc/rp-pppoe-3.5 /usr/share/doc/rp-pppoe-3.5/CHANGES /usr/share/doc/rp-pppoe-3.5/HOW-TO-CONNECT /usr/share/doc/rp-pppoe-3.5/KERNEL-MODE-PPPOE /usr/share/doc/rp-pppoe-3.5/LICENSE /usr/share/doc/rp-pppoe-3.5/PROBLEMS /usr/share/doc/rp-pppoe-3.5/README /usr/share/doc/rp-pppoe-3.5/SERVPOET /usr/share/man/man1/pppoe-wrapper.1.gz /usr/share/man/man5/pppoe.conf.5.gz /usr/share/man/man8/adsl-connect.8.gz /usr/share/man/man8/adsl-setup.8.gz /usr/share/man/man8/adsl-start.8.gz /usr/share/man/man8/adsl-status.8.gz /usr/share/man/man8/adsl-stop.8.gz /usr/share/man/man8/pppoe-sniff.8.gz /usr/share/man/man8/pppoe.8.gz

Para listar todos os arquivos de um ou mais pacotes que atendam a certos critrios:
# rpm -qa | grep gimp gimp-1.2.1-ximian.5 gimp-data-extras-1.2.0-2cl xsane-gimp-0.75-ximian.2 gimp-devel-1.2.1-ximian.5

RPM em desinstalao de pacotes


Desinstalar um pacote formato rpm muito fcil. A forma geral de um comando de desinstalao rpm -e <nome_do_pacote>+, e se o pacote estiver presente, ele ser removido. Veja a seguir alguns parmetros que poderemos usar. Parmetros:
--allmatches: Remove todas as verses do pacote que casarem com <pacote>. um erro exibido se <pacote> casar com mltiplos pacotes. --noscripts: No executa os scripts de pr e ps-desinstalao. --nodeps: No verifica se dependncias sero quebradas antes de desinstalar o pacote. --test: No desinstala nada, apenas simula todos os movimentos Normalmente

Exemplo: Se quisermos desinstalar o xpdf (leitor de arquivos pdf), basta usar o comando rpm -e xpdf-0.92-1cl e ele no far mais parte de seu sistema. Se voc for remover um pacote qualquer, tome cuidado porque outro programa que dele depender pode no funcionar corretamente:
# rpm -e kppp-2.12-4cl erro: a remoo destes pacotes quebraria dependncias: kppp = 2.12 necessrio para kdenetwork-2.12-4cl # rpm -e Xconfigurator-4.9.23-4cl erro: a remoo desses pacotes quebraria dependncias: Xconfigurator necessrio para task-x-window-system-6.0-5cl

RPM em instalao e atualizao de pacotes


Para instalar pacotes rpm tambm muito simples. A forma geral ivh para a instalao, e Uvh para atualizao de pacotes. Esses parmetros instalam ou atualizam o pacote atualmente instalado para a verso do novo pacote rpm. Isso o mesmo que instalar, exceto que todas as verses anteriores dos pacotes sero removidas do sistema aps a atualizao. Na verdade, a atualizao de um pacote no deixa de ser uma instalao, pois arquivos novos sero copiados para dentro do computador, e arquivos antigos sero eliminados.

119

Treinamento Linux Administrao, Redes e Servios

Uma vez que o rpm executa um processo de atualizao inteligente, apresentada uma mensagem do tipo: saving /etc/teste.conf as /etc/teste.conf.rpmsave (onde teste o nome do pacote), o que significa que os arquivos de configurao existentes esto salvos, porm mudanas no programa podem tornar esse arquivo de configurao no mais compatvel com o pacote (o que no comum). Neste caso, as adequaes necessrias devem ser feitas pelo usurio. Parmetros:
--force: O mesmo que usar --replacepkgs, --replacefiles e --oldpackage. -h, --hash: Exibe 50 caracteres # (hash) medida que o arquivo desempacotado. Use em conjunto com -v para uma exibio interessante. --percent: Exibe porcentagens medida que os arquivos so desempacotados. Isso para tornar o rpm facilmente executvel a partir de outras ferramentas. --oldpackage: Permite que uma atualizao substitua um pacote por uma verso anterior, mas isso no muito aconselhvel e --replacefiles: Instala os pacotes mesmo que eles substituam arquivos de outros pacotes j instalados. --replacepkgs: Instala os pacotes mesmo que alguns deles j estejam instalados no sistema e --allfiles: Instala ou atualiza todos os arquivos do pacote que esto faltando, independentemente deles existirem ou no. --nodeps: No verifica as dependncias antes de instalar ou atualizar um pacote qualquer e --noscripts: No executa os scripts de pr ou ps instalao. --excludedocs: No instala nenhum arquivo marcado como documentao (o que inclui as pginas de manual e documentos texinfo). --test: No instala o pacote, apenas faz uma verificao e um aviso sobre possveis conflitos e --prefix <caminho>: Determina o prefixo de instalao como <caminho> para pacotes relocalizveis (pacotes que no precisam ser instalados apenas em um certo caminho).

Ns podemos instalar nossos pacotes .rpm no somente pelo console do modo texto, podemos instalar via terminal tambm. Mas o interssante o que o konqueror pode fazer, ele permite abri abas de diretrios/pastas e isso uma mo na roda. Se voc acessa muito uma pasta ou outra sabe do que eu esto falando. Mas ele tambm abre uma rea para digitao de comandos que realemente ajuda muito quando precisamos de linha de comando aliada com poder de navegao de pastas/diretrios. Experimete usar. Exemplo de instalao:
# rpm -ivh /mnt/cdrom/conectiva/RPMS/ee-0.3.12-3cl.i386.rpm Preparing... ###################################### [100%] 1:ee ###################################### [100%]

Exemplo de instalao cancelada pelo rpm, porque o(s) pacote(s) j esto presentes:
# rpm -ivh /mnt/cdrom/conectiva/RPMS/netscape-* Preparing... ########################################### [100%] package netscape-common-4.77-13cl is already installed package netscape-communicator-4.77-13cl is already installed package netscape-doc-4.77-13cl is already installed package netscape-i18n-es-4.77-13cl is already installed package netscape-i18n-pt_BR-4.77-13cl is already installed package netscape-java-4.77-13cl is already installed package netscape-nethelp-4.77-13cl is already installed package netscape-plugins-4.77-13cl is already installed package netscape-spell-4.77-13cl is already installed

Se quiser saber onde esto binrios desse pacote , basta usar o comando seguinte forma:
# whereis netscape netscape: /usr/bin/netscape /usr/lib/netscape

Ento saberemos que eles esto no /usr/bin e no /usr/lib, porm isso a coisa mais bsica que devemos saber; alis sempre que desejarmos saber onde que um binrio foi parar, usaremos o comando whereis <nome_do_binrio>.

120

Global Sul Informtica

Nem sempre possvel instalar um pacote, como assim? Algumas vezes, as bibliotecas que esto instaladas no sistema Linux so mais antigas que as bibliotecas que o pacote usar para poder funcionar corretamente. Isso acontece no exemplo seguinte:
# rpm -ivh /mnt/cdrom/TechLinux/RPMS/gimp-1.2.1-2tl.i586.rpm erro: falha nas dependncias: libc.so.6(GLIBC_2.2) necessrio para gimp-1.2.1-2tl

Como no temos a libc.so.6 (GLIBC_2.2), a instalao do gimp-1.2.1-2tl no feita.

Dependncias no resolvidas
Pacotes rpm podem depender da instalao prvia de outros pacotes, o que significa que eles necessitam daqueles para poderem ser executados adequadamente. Para corrigir esse erro, ser necessrio instalar o pacote solicitado. Caso se queira que a instalao ocorra de qualquer forma, possvel utilizar o parmetro --nodeps na linha de comando. Porm, de certo modo, o pacote no funcionar ou o far de forma incorreta.

RPM em verificao do sistema


A forma geral de um comando de verificao rpm -V|-y|--verify [opes]. Verificao de um pacote compara informaes sobre os arquivos do pacote instalados e as informaes sobre eles, tiradas do pacote original e armazenadas no banco de dados do rpm. Entre outras coisas, verificar compara o tamanho, a soma MD5, as permisses, o tipo, o dono e o grupo de cada arquivo. Quaisquer discrepncias sero exibidas. As opes de especificao de pacotes so as mesmas que para consulta de pacotes. Arquivos que no foram instalados do pacote, por exemplo, arquivos de documentaes que foram excludos usando a opo --excludedocs, sero ignorados silenciosamente. O formato da sada uma cadeia de 8 (oito) caracteres, um possvel c denotando um arquivo de configurao, e ento o nome do arquivo. Cada um dos oito caracteres denota o resultado da comparao de um atributo do arquivo com o valor registrado no banco de dados do RPM. Um simples . indica um teste bem-sucedido. Os seguintes caracteres denotam falha em algum teste:
5 = Soma MD5, S= Tamanho do arquivo, L = Vnculo simblico (link), T= Mtime, D = Dispositivo, U = Usurio, G = Grupo, M= Modo (incliu permises e tipo do arquivo).

RPM instalando pacotes via ftp


O formato rpm inclui um programa de ftp simples para facilitar a instalao e consulta de pacotes que esto disponveis na Internet. Arquivos de pacotes para instalao, atualizao ou consulta podem ser especificados como um URL no estilo ftp:
ftp://<usurio>:<senha>@mquina/caminho/para/o/pacote.rpm

Se a parte:senha for omitida, a senha ser perguntada (uma vez para cada par usurio/mquina). Se o usurio e a senha forem omitidos, ftp annimo ser usado. Em todos os casos, transferncia passiva (PASV) ser usada. O formato rpm permite que as seguintes opes sejam usadas com URLs de ftp: --ftpproxy <mquina>: A mquina <mquina> ser usada como servidor proxy para todas as transferncias, permitindo que usurios utilizem o ftp atravs de firewalls que usem sistemas de proxy. Essa opo tambm pode ser especificada em um arquivo de configurao. --ftpport <porta>: Especifica o nmero da porta TCP a utilizar para a conexo ftp, em vez da porta padro, que a 21. Essa opo tambm pode ser especificada em um arquivo de configurao. Por exemplo, vamos supor que voc quer fazer a atualizao do seu sistema com o rpm via ftp do servidor da Unicamp, ento proceda assim:
rpm ftp://ftp.unicamp.br/pub/conectiva 9/i386 001 002 003 004 rpm ftp://ftp.unicamp.br/pub/conectiva/atualizacoes 9/i386 updates

121

Treinamento Linux Administrao, Redes e Servios

Se voc quiser fazer a mesma coisa usado o apt, apenas coloque essas duas linhas dentro do arquivo /etc/apt/source.list.

Convertendo um pacote
O rpm2cpio converte pacotes Red Hat ( rpm) para arquivos cpio. Funciona assim rpm2cpio pacote.rpm onde pacote.rpm o nome do arquivo em formato rpm que desejamos converter para o formato trabalhado com o comando cpio. Caso nenhum argumento seja informado, o arquivo rpm ser lido da entrada padro, por exemplo:
# rpm2cpio rpm-1.1-1.i386.rpm # rpm2cpio < glint-1.0-1.i386.rpm

Assim, se tudo ocorrer bem, o binrio para o cpio ser criado sem problemas, e depois s trabalhar como o comando cpio normalmente.

Gerenciamento de pacotes com YUM


O utilitrio yum um sistema de gerenciamento de programas completo. O Fedora Core tambm inclui duas aplicaes grficas para gerenciamento de programas que usam o yum. O pup disponibiliza uma interface para atualizao de programas e o pirut permite voc adicionar ou remover programas. Os utilitrios pirut e yum garantem que voc tenha a verso mais recente dos pacotes de programas. Outros mtodos no garantem que os pacotes estejam atualizados. Use o utilitrio yum para modificar os programas de seu sistema em quatro maneiras:
Para Para Para Para instalar um novo programa a partir de um repositrio de pacotes instalar novos programas a partir de um arquivo de pacote individual atualizar um programa existente no seu sistema remover programas no-necessrios no seu sistema

Para instalar o pacote tsclient, execute o comando:


# yum install tsclient

Para instalar o grupo de pacotes MySQL Database (Banco de Dados MySQL), execute o comando:
# yum groupinstall "MySQL Database"

Para atualizar o pacote tsclient para a ltima verso, digite:


yum update tsclient
DICA: Novas Verses de Programas Necessitam de Reinicializao. Se um programa est em uso quando ele atualizado, a verso antiga continua ativa at que a aplicao ou servio seja reiniciado. Atualizaes de kernel entram em atuao quando voc reiniciar todo seu sistema. Pacotes de kernel se mantm no sistema depois que eles so sobrepostos por verses mais novas. Isso permite que voc inicialize seu sistema com uma verso de kernel mais antiga se um erro acontecer com a verso atual. Para minimizar a manuteno, o yum automaticamente remove pacotes de kernel obsoletos do seu sistema, mantendo somente a verso atual e uma verso anterior.

Para atualizar todos os pacotes no grupo de pacotes MySQL Database, execute o comando:
# yum groupupdate "MySQL Database"

122

Global Sul Informtica

Para realizar uma atualizao completa do sistema, digite este comando:


# yum update

Para remover o pacote tsclient de seu sistema, use o comando:


# yum remove tsclient

Para remover todos os pacotes no grupo de pacotes MySQL Database, execute o comando:
# yum groupremove "MySQL Database"

Para procurar por um pacote especfico pelo nome, use a opo list. Para procurar pelo pacote tsclient, use o comando:
# yum list tsclient

Para fazer de suas buscas mais precisas, especifique pacotes com o nome que incluem outros atributos, como a verso ou arquitetura de hardware. Para procurar a verso 0.132 da aplicao, use o comando:
# yum list tsclient-0.132

Para listar todos os pacotes com nomes que comecem com tsc, digite:
# yum list tsc\*

Se voc no sabe o nome do pacote, use a opo search ou provides. A opo search verifica o nome, descrio, sumrio e mantenedores listados de todos os pacotes disponveis para achar aqueles que conferem. Por exemplo, para procurar todos os pacotes relacionados a Palm Pilots, digite:
# yum search PalmPilot

A funo provides verifica tanto os arquivos inclusos no pacote quanto funes que o programa disponibiliza. Essa opo requer que o yum efetue download e leia mais arquivos de ndice que na opo search. Por exemplo, para procurar por todos os pacotes que incluem arquivos chamados libneon, digite:
# yum provides libneon

Para procurar por todos os pacotes que disponibilizam um servio de MTA (Mail Transport Agent - Agente de Transporte de Mensagens), ou incluem arquivos com mta no seu nome:
# yum provides MTA

Se for necessrio passar por um proxy com autenticao , h duas formas de se fazer isso: 1 Editar o arquivo /etc/profile e adicionar e depois exportar as seguintes variveis de sistema:
http_proxy=http://usurio.senha@servidorProxy:PortaProxy ftp_proxy=http://usurio.senha@servidorProxy:PortaProxy

2 Editar o arquivo /etc/yum.conf e adicionar as variveis assim:


proxy=http://mycache.mydomain.com:3128 proxy_username=yum-user proxy_password=qwerty

123

Treinamento Linux Administrao, Redes e Servios

Compilao de programas
A compilao de programas no sistema Linux no to difcil quanto parece ser. Mesmo que voc no saiba programar em phyton, perl, C/ C++ ou Java voc vai conseguir compilar e rodar seus programas, sabe porque? Porque quando voc baixa os fontes para compilar sempre vem as instrues de como voc deve proceder. Essas instrues geralmente esto no arquivo README ou INSTALL, ento s ler e seguir os passos. Qual a vantagens de se pegar um programa para compilao? Simples, voc ter os fontes e poder alter-lo como quiser. Por exemplo, se o programa estiver em ingls voc poder traduzir as mensagens, menus, helps etc para o portugus e depois que voc compilar, o programa estar no seu idioma. Se for um jogo, poder aumentar a velocidade de sua nave, a quantidade de vidas, se for jogo no estilo Counter Strike, poder compilar o jogo coma mais balas, bombas, granadas etc. Entendeu agora? Ento... Certo mano, vamu apag os cara. Vem comigo, policial na mira. Terrorists wins, he he. Onde que eu vou compilar isso no meu sistema Linux? Geralmente os programas vo parar em /usr/local/<programa>, ento a primeira coisa copiar o programa para /usr/local/, e tambm geralmente eles esto no formato .tar, .tgz, .tar.gz da s voc antes de instalar os fontes, executar o comando tar -tzpvf <progama>, assim voc vai ficar sabendo onde que sero copiados (ainda no instalados) os arquivos do programa e seu respectivo diretrio. Em que lugar vai parar os programas que eu instalar? Com certeza, pois voc est dentro do /usr/local eles vo ficar por ali, e dependendo do programa que voc est instalando, alguns arquivos mudam de local, tipo: /usr/local/bin, /usr/doc/, /usr/share/man e coisas assim. Outras coisa que voc dever saber o nome do binrio, ou seja, nome do arquivo executvel. Ento, preste ateno na hora que voc estiver compilando, pois geralmente a compilao o informar disso. Ah! tenha sempre instalado as bibliotecas atualizadas e o compilador gcc, pois esse tipo de tarefa no sistema Linux requer no mnimo esses componentes. Nem sempre os programas que voc compilar sero encontrados no menu l no modo grfico. Por qu? Por que o pessoa/programador que fez o programa no sabe qual o seu gerenciador de janelas: KDE, Gnome, Window Maker, IceWM, BlackBox etc. Entendeu ? Ento por isso que voc vai precisar ficar atento para saber onde que foram parar os binrios. Mas alguns programas mais recente j esto criando sua opes de menu, pelo menos nas interfaces grficas mais usadas por a, como KDE e Gnome, e cabe a voc criar suas opes no menu de outras interfaces grficas. Porm, isso muito simples, se voc no souber, LEIA os manuais ou pergunte ao pessoal das listas de discusses, caso voc seja assinante de alguma. Como que eu vou saber que comando devo usar para compilar o programa que acabei de baixar da Internet? Bom, primeiro voc no foi l de graa, pelo menos deve ter lido as intrues na pgina de onde estava baixando, certo? Tudo bem, voc no leu, somente achou interessante o programa e resolveu baix-lo; gastou meia hora de download (que rpido!) e no quer voltar l s para isso. Depois que voc usar os comandos tar, guzip, bunzip, uncompress, pois isso vai depender do tipo o arquivo que voc baixou, se pedir uma listagem dos arquivos, vai ver que geralmente tem (e tem) os arquivos README ou INSTALL tudo em maisculas para que use comando less README ou less INSTALL; e LEIA com ateno como usar o procedimento correto. Estude Ingls, porque a grande maioria desses arquivos, 99%, est em Ingls. Geralmente, voc vai encontrar trs arquivos:
1. configure ou configure.sh, 2. make e 3. make install;

Se existirem tais arquivos, a seqncia de digitao dos comandos ser a seguinte:


./configure: Como esse script executvel no est no path, voc deve inserir ./ para que a configurao comece. make: O make cria os objetos e demais arquivos. make install: E o make install, se tudo deu certo, vai instalar o seu programa. Fique atento para saber onde vai parar o binrios caso no aparea uma mensagem informando.

124

Global Sul Informtica

Quando a compilao estiver sendo feita, preste muita ATENO s mensagens que so exibidas na tela, pois so elas que podero ajud-lo mais tarde. O tempo de compilao vai depender da velocidade do micro que voc tem e da complexidade do programa que voc vai usar. Eu j vi compilaes acontecerem em sessenta segundos e outras em quase 40 minutos. mole? Alguns programas que voc baixa da Internet usam os trs passos; outros usam s dois (make e make install); e outros ainda usam s o make install. E ainda h outros que usam o ./configure e depois j entram em uma tela que pode ser em modo texto ou modo grfico. A compilao e instalao dos binrios fica por conta dessa interface. Mas lembre-se uma compilao depende de um monte de coisas tipo: gcc instalado, gcj (para java) , IBM-Jre e Sun-jre (para Java), make presente, automake, autoconf e a dica que eu lhe dou que voc instale todas as feramentas de compilao e tambm as bibliotecas de desenvolvimento. Mas como que voc vai saber de tudo isso. Somente usando e mexendo com o sistema Linux. Alguns pacotes de fontes para compilao que voc baixa da Internet s aceitam ser compilados pelo usurio root outros s aceitam ser compilados pelo usurio normal (qualquer usurio) e alguns ainda precisam que voc ajusta as permisses (comando chmod) e usurios e grupos de usurios (comando chown) para poderem ser compilados. Por isso que antes de sar compilando por a a fora voc dever fazer uma leitura do arquivo README ou INSTALL que sempre vem junto com pacotes desse tipo. L voc encontrar instrues valiosas e corretas.
DICA: H tambm uma nova maneira de instalar programas atravs de linha de comando. So os programas com extenso JAR que so arquivos criados pelo ambiente Java e para para instalar esses programas use o comando java -jar <arquivo.jar>. Lembre-se de seu ambiente de Java dever estar configurado em seu sistema. Depois disso s seguir as instrues do programa em modo texto ou X. A maioria do arquivos fonte que voc pegar na Internet est codificado em linguagem C, perl, phyton e Java, porm a maioria C ou Java.

125

Treinamento Linux Administrao, Redes e Servios

Anotaes:

126

Global Sul Informtica

Gerenciamento de pacotes com Apt/Synaptic


OK! Agora voc j passou pelo rpm e at aprendeu a compilar seus programas est na hora de apresentar uma nova idia que o apt1. A idia do apt muito interessante pois voc deve ter percebindo que o rpm tem uma deficincia, ele no muito inteligente embora ajude muito mas no consegue resolver dependncias. Isso um srio problema at mesmo para usurios mais intimos ao Linux, pois se um programa no instala e tem problemas de dependncia, voc por exemplo, deve instalar a biblioteca requerida para depois instalar o programa em si. Mas e se a biblioteca tambm pede dependncia? Isso poder acabar em uma bola de neve sem tamanho. E isso aborrece o usurio. Ento a que entra a idia do apt. Ele vai resolver todos esses problemas para voc, isso muito bom porque ele vai atrs de todas as dependncias quebradas e resolve e se for o caso vai at na Internet e faz o download de todas as partes necessrias para que seja possvel instalar o programa. S para que voc tenha uma idia possvel atualizar todo o sistema Linux verso Debian 3 para Debian 4 com poucas linhas de digitao ou cliques de mouse. ou no uma idia legal? O apt possui resoluo automtica de dependncias entre pacotes, mtodo fcil de instalao de pacotes, facilidade de operao, permite atualizar facilmente sua distribuio, etc. Ele funciona atravs de linha de comando mas se voc quiser uma interface mais amigvel poder usar o aptitude que um Front-end2 para ele ou baixar alguns outros que agora tem na Internet, s achar um bom e usar. Com o apt voc pode utilizar tanto com arquivos locais como remotos na instalao ou atualizao, desta jeito ns podemos atualizar toda uma distribuio por ftp ou http e tudo isso depender da nossa pacincia e velocidade da conexo. Como eu sou meio impaciente, uso uma conexo de 1 Mbps. J d para brincar um pouco. Vou lhe dar uma idia legal para que voc veja esse carinha trabalhando. :: O Aptitude, front-end modo texto do Apt.

Usando o comando apt


Antes de usarmos o apt, v at um terminal qualquer digite apt de pressione duas vezes a tecla TAB para saber os comandos que vamos trabalhar aqui: apt-cache, apt-cdrom, apt-config, apt-get, apt-shell, aptitude. Quer saber o que cada um faz em seu sistema? 1. apt-cache: uma ferramenta de baixo nvel usada para manipular os arquivos de cache binrios do APT e para buscar informaes neles. Seu uso :
apt-cache apt-cache apt-cache apt-cache [opes] [opes] [opes] [opes] commando add arquivo1 [arquivo2 ...] showpkg pacote1 [pacote2 ...] showsrc pacote1 [pacote2 ...]

2. apt-cdrom: uma ferramenta para adicionar CD-ROMs no arquivo source-list do apt. O ponto de montagem do CD e o dispositivo so lidos do apt.conf e do /etc/fstab. 3. apt-config: uma ferramenta simples para ler o arquivo de configurao do APT. Seu uso apt-config [opes] comando. Onde comandos: shell entra em modo shell e dump mostra a configurao.

127

Treinamento Linux Administrao, Redes e Servios

4. apt-get: uma simples interface de linha de comando para obter e instalar pacotes. Os comandos usados mais frequentemente so update e install. Seu uso :
apt-get [opes] comando apt-get [opes] install|remove pacote1 [pacote2 ...] apt-get [opes] source pacote1 [pacote2 ...]

5. apt-shell: uma ferramenta que tr uma srie do comandos para voc usar. simples digite o comando apt-shell e depois help para saber o que usar dentro dela. O comando quit sai do apt-shell.
[root@gabriel adilson]# apt-shell Lendo Listas de Pacotes... 100% Lendo Listas de Pacotes... Feito Construindo rvore de Dependncias... 50% Construindo rvore de Dependncias... Feito Welcome to the APT shell. Type help for more information. apt> apt> help apt 0.5.5cnc4.1 para linux i386 compilado em Mar 22 2003 09:21:07 Main commands: status - Show the current selections install - Install new packages remove - Remove packages keep - Keep packages upgrade - Perform a global upgrade dist-upgrade - Perform a globla distribution upgrade build-dep - Install build-dependencies for source packages update - Retrieve new lists of packages commit - Apply the changes in the system quit - Leave the APT shell Auxiliar commands: show - Show a readable record for the package showpkg - Show some general information for a single package list/ls - List packages search - Search the package list for a regex pattern depends - Show raw dependency information for a package whatdepends - Show raw dependency information on a package check - Verify that there are no broken dependencies unmet - Show unmet dependencies clean - Erase downloaded archive files autoclean - Erase old downloaded archive files For more information type help <cmd> or <cmd> [-h|help]. quit

E ento? Parece muita coisa? No se preocupe que com o tempo voc pega o jeito e quem sabe nem use o apt-shell. Se voc se acostumar com o synaptic. 6. aptitude: Esse voc j viu a tela umas pginas atrs, faz tudo o que esses comandos faze s que em modo interativo.

Adicionando um CD
Com o apt-get, podemos instalar ou atualizar pacotes pelo prprio CD da Conectiva ou pelo ftp. Para utilizar os apt com os CDs, necessrio criar um ndice que o apt utilizar; para isso, coloque o primeiro CD do Conectiva Linux e rode o utilitrio apt-cdrom, assim apt-cdrom add:
[root@gabriel root]# apt-cdrom add Using CD-ROM mount point /mnt/cdrom/ Unmounting CD-ROM Please insert a Disc in the drive and press enter Mounting CD-ROM Identifying.. [dd532ceb1e92be0520029709f939fae3-2] Scanning Disc for index files.. Found 1 package indexes and 0 source indexes. Found label Conectiva Linux 9 CD1 This Disc is called: Conectiva Linux 9 CD1 Reading Indexes... Feito Writing new source list Source List entries for this Disc are:

128

Global Sul Informtica

rpm cdrom:[Conectiva Linux 9 CD1]/ conectiva 001 Repeat this process for the rest of the CDs in your set.

Aqui ns vimos que o comando apt-cdrom add adicionou uma entrada indexada para o CDROM n 1 do Conectiva Linux 9.0; assim, fica mais fcil instalar e/ou atualizar pacotes deste CD-ROM. Agora vamos ver o contedo do arquivo /etc/apt/sources.list (traduzido pelo autor):
# Endereo de repositrio de pacotes # # Esteja certo de usar o repositrio para a sua distribuio # # Assinatura para O Conectiva tem [cncbr]. # Caso voc remova a assinatura uma checagem ser feita # # Repositrio de pacotes official do Conectiva Linux 9 # Caso esteja ocupado tente um mirro mais prximo # rpm cdrom:[Conectiva Linux 9 CD1]/ conectiva 001 rpm cdrom:[Conectiva Linux 9 RdL CD2]/ conectiva 002 rpm cdrom:[Conectiva Linux 9 RdL CD1]/ conectiva 001 rpm [cncbr] ftp://ftp.conectiva.com/pub/conectiva 9/i386 all rpm-src [cncbr] ftp://ftp.conectiva.com/pub/conectiva 9/i386 all # Atualizaes devem ter o seu prprio repositrio rpm [cncbr] ftp://atualizacoes.conectiva.com.br 9/i386 updates rpm-src [cncbr] ftp://atualizacoes.conectiva.com.br 9/i386 updates # Mirrors Conectiva # Unicamp.br #rpm [cncbr] ftp://ftp.unicamp.br/pub/conectiva 9/i386 main extra kde gnome games #rpm-src [cncbr] ftp://ftp.unicamp.br/pub/conectiva 9/i386 main extra kde gnome games #rpm [cncbr] ftp://ftp.unicamp.br/pub/conectiva/atualizacoes 9/i386 updates #rpm-src [cncbr] ftp://ftp.unicamp.br/pub/conectiva/atualizacoes 9/i386 updates # NL.linux.org #rpm [cncbr] ftp://ftp.nl.linux.org/pub/conectiva 9/i386 main extra kde gnome games #rpm-src [cncbr] ftp://ftp.nl.linux.org/pub/conectiva 9/i386 main extra kde gnome games #rpm [cncbr] ftp://ftp.nl.linux.org/pub/conectiva/atualizacoes 9/i386 updates #rpm-src [cncbr] ftp://ftp.nl.linux.org/pub/conectiva/atualizacoes 9/i386 updates # NL.linux.org via http Para usurios da Internet com proxy #rpm [cncbr] http://ftp.nl.linux.org/pub/conectiva 9/i386 main extra kde gnome games #rpm-src [cncbr] http://ftp.nl.linux.org/pub/conectiva 9/i386 main extra kde gnome games #rpm [cncbr] http://ftp.nl.linux.org/pub/conectiva/atualizacoes 9/i386 updates #rpm-src [cncbr] http://ftp.nl.linux.org/pub/conectiva/atualizacoes 9/i386 updates

Esse arquivo informa ao apt onde ir buscar atualizaes novas de um pacote. Mas para isso voc dever estar conectado Internet. Se voc adicionar o seu prprio endereo da Internet aqui a um endereo local, dever comentar as outras linhas para que elas no sejam processadas. As opes mais comumente usadas so: add para adicionar um CD, ident para reportar a identificao de um CD, d que o ponto de montagem do CD e f que o modo rpido sem checagem de pacotes. Ento, para gerar um ndice dos arquivos RPM do primeiro e assim por diante, lembre-se o Conectiva Linux 9 so 4 (quatro) CDs e tem uma verso especial que saiu na RDL Revista do Linux no. 44 que so 2 (dois) CDs. Para criar os ndices use assim:
# apt-cdrom add -d /mnt/cdrom

Depois quando voc quiser instalar use o comando:


# apt-get install <nome_do_pacote>

Resumindo, o comando apt-get uma interface de linha de comando simples para download e instalao de pacotes. Os comandos usados com mais freqncia so update e install. A seguir, voc tem a listagem de mais comandos:

129

Treinamento Linux Administrao, Redes e Servios

update: Atualiza o banco de dados local do apt-get com os arquivos pkglist do servidor. upgrade: Procura por pacotes desatualizados no sistema e os atualiza automaticamente. Atualizar todos os pacotes antigos no sistema. Para atualizar um pacote e suas dependncias utilize o comando apt-get install <pacote_a_ser_atualizado>. install: Instala algum pacote novo, solucionando e carregando automaticamente os pacotes dos quais o aplicativo a ser instalado depende. Caso o pacote algum-pacote j esteja instalado, ele atualiza pela verso mais recente. Um pacote libc6 e no libc6.rpm por exemplo. remove: Remove o pacote algum-pacote e todos os demais pacotes que dele dependam. source: Faz o download dos fontes de um pacote (SRPM). Note que necessrio que haja uma linha com o TIPO rpm-src no arquivo sources.list para que este comando execute. build-dep: Configura dependncias de construo de pacotes fonte. dist-upgrade: Semelhante ao apt-get upgrade, mas instala todos os pacotes bsicos e tenta atualizar tudo, instalando novos pacotes caso seja necessrio. uma maneira mais fcil de fazer uma atualizao de sua distribuio. dselect-upgrade: Segue as selees do dselect. clean: Remove os arquivos encontrados no diretrio cache (/var/cache/apt/archives/), liberando um pouco de espao no seu disco de sistema. uma maneira automtica de apagar os arquivos que j foram instalados e que no so mais necessrios. autoclean: Apaga arquivos antigos obtidos para instalao. check: Verifica a integridade dos pacotes rpm e do banco usado pelo apt. Execute este comando quando tiver dvidas quanto integridade dos pacotes do seu sistema. recomendvel execut-lo antes de executar uma atualizao de distribuio. Agora veja quais opes voc tambm poder usar em conjunto com o comando:
-q: Sada logvel, sem indicador de progresso. -qq: Sem sada, exceto para erros. -d Baixar apenas, NO instala ou desempacota arquivos. -s: No-agir. Executar simulao de ordenao. -y: Assume Sim para todas as perguntas e no pede confirmao. -f: Tenta continuar se a verificao de integridade falhar. -m: Tenta continuar se os arquivos esto no localizveis. -u: Mostra uma lista de pacotes atualizados tambm. -b: Constroi o pacote fonte depois de baix-lo.

Outras opes so remove e upgrade. O remove ir desinstalar o pacote, e a opo upgrade far com que quando estiver configurado para usar por ftp, o mesmo baixar todas as autalizaes do sistema. Com esses comandos, podemos instalar, remover ou atualizar pacotes em nosso sistema sem precisar procurar dependncias para instalao. Uma vez que voc solicita ao apt para instalar algum pacote ou efetuar uma atualizao (upgrade ou dist-upgrade), ele far download dos pacotes necessrios para /var/cache/apt/archives/partial/ e, aps verificar seus hashes e tamanhos de MD5, mover esses pacotes para /var/cache/apt/archives/. Voc pode assumir que todo arquivo no diretrio archives/ foi verificado. Utilize o comando aptget clean para excluir os arquivos no diretrio archives/ e archives/partial/. Para verificar se alguma coisa precisa ser feita use o comando:
[root@gabriel adilson]# apt-get -f install Lendo Listas de Pacotes... Feito Construindo rvore de Dependncias... Feito 0 pacotes atualizados, 0 novos instalados, 0 removidos e 0 no atualizados.

Caso algum pacote precise ser atualizado/instalado ou ento removido voc ser informado. Todos os pacotes que voc instalou em seu sistema ficaro nos seguintes caminho listados a seguir, nesse exemplo o Conectiva Linux com 3 (trs) Cds que veio na Revista PC Master:
/var/state/apt/lists/Conectiva%20Linux%209%20RdL%20CD1_conectiva_base_pkglist.001 /var/state/apt/lists/Conectiva%20Linux%209%20RdL%20CD1_conectiva_base_release /var/state/apt/lists/Conectiva%20Linux%209%20RdL%20CD1_conectiva_base_release.001 /var/state/apt/lists/Conectiva%20Linux%209%20RdL%20CD2_conectiva_base_pkglist.002 /var/state/apt/lists/Conectiva%20Linux%209%20RdL%20CD2_conectiva_base_release /var/state/apt/lists/Conectiva%20Linux%209%20RdL%20CD2_conectiva_base_release.002

130

Global Sul Informtica

/var/state/apt/lists/Conectiva%20Linux%209%20Updates1_conectiva_base_pkglist.updates /var/state/apt/lists/Conectiva%20Linux%209%20Updates1_conectiva_base_release /var/state/apt/lists/Conectiva%20Linux%209%20Updates1_conectiva_base_release.updates

Instalando novos pacotes


Para instalar pacotes ns usamos o comando apt-get install <nome_do_pacote> para instalar novos pacotes da distribuio. Podemos instalar mais de um pacote ao mesmo, para isso separamos os nomes por espaos. Exemplo:
apt-get install telnet telnetd telnet-ssl telnetd-ssl

Se for necessrio o apt instalar automaticamente as dependncias necessrias para cada pacote. O tambm apt mostra o espao total que ser usado no disco e perguntar ao usurio se ele deseja continuar.

Removendo pacotes instalados


Para remover pacotes do sistema ns usamos comando apt-get remove <nome_do_pacote>. Tambm podemos remover mais de um pacote ao mesmo tempo separando os nomes dos pacotes com espaos. O apt-get remove remove completamente o pacote mas mantm os arquivos de configurao, vai que voc volte mais tarde a instalar o pacote novamente, exceto se voc adicionar a opo --purge. Removendo pacotes Para remover pacotes que voc baixo pelo apt use o comando apt-get clean, isso apaga qualquer arquivo baixado durante uma atualizao ou instalao de arquivos com o apt. Os arquivos baixados residem em /var/cache/apt/archives, para downloads completos e /var/cache/apt/archives/partial que so os arquivos sendo baixados em modo parcial. A listagem muito grande, d uma olhada e veja quantos pacotes tem por l. Este local de armazenamento especialmente usado para HTTP e FTP para armazenamento de arquivos durante o download para instalao, primeiramente os arquivos so copiados para depois serem instalados e configurados. O comando apt-get clean automaticamente executado caso seja usado o mtodo de acesso apt do dselect.

Atualizando sua distribuio


Um caracterstica interessante do apt e que agrada muito os usurios a de atualizar toda uma distribuio de forma inteligente e segura, ou seja, o apt l a listagem de pacotes disponveis no servidor remoto, verifica quais esto instalados e suas verses, caso a verso do pacote seja mais nova que a j instalada no sistema, o pacote ser imediatamente atualizado de forma automtica sem que voc preciser intervir. Isso poder ser feito por via FTP, HTTP ou atravs de uma cpia local dos arquivos no disco rgido, ou um mirror local. Em nenhuma circunstncia os pacotes existentes em seu sistema sero removidos ou sua configurao apagada durante um upgrade na distribuio. Para fazer isso use os comandos:
apt-get update apt-get -f dist-upgrade

A primeira linha atualiza a lista de pacotes do seus sistema e a segunda atualiza toda a sua distribuio. Use f para que o apt verifique e corrija automaticamente problemas de dependncias entre pacotes.

Procurando por pacotes


Voc lembra do comando apt-cache, ele pode ser usado para esta funo, pois ele tambm possui outras utilidades interessante para a procura e manipulao da lista de pacotes. Por exemplo, o comando apt-cache search Xconfigurator mostrar todos os pacotes que possuem a string Xconfigurator na descrio do pacote. Isso realmente muito til, pois algumas vezes no sabemos em qual pacote est um comando qualquer e da como que vamos instalar? Se soubermos pelo menos o nome do comando j est resolvido, mas lembre-se que o apt vai pesquisar em todos os pacotes em busca da string informada, voc vai ter que ler com calma, at encontrar o que est procurando. Se voc souber o nome do arquivo que est procurando poder usar o comando autoapt search <nome_do_arquivo>, assim o apt vai retornar onde ele est e a qual grupo pertence em seu sistema.

131

Treinamento Linux Administrao, Redes e Servios

Usando o Synaptic
Bom, agora que voc j aprendeu a usar o comando apt e suas variantes, vamos dar uma olhada no Synaptic que uma interface grfica muito bem bolada para o apt. Com o Synaptic o gerenciamento de pacotes muito simples e rpido. O Synaptic simples e tem uma interface bem amigvel. Voc poder ver na figura seguinte a tela do Synaptic e tudo o que voc faz nessa interface, algumas janelinhas se abre para lhe dar informao outras para que voc d informao mas praticamente voc estar sempre nessa tela. Vamos aprender agora como us-lo, mas vamos aprender pelo que mais bvio, ok? Na parte de baixo voc tem trs guias e trs botes qua so usados para: :: O Synaptic, adotado pelo Debian e similares como gerenciador oficial.

Guia informao: Mostra descrio detalhadas sobre o pacote/programa. Guia Descrio: Nos fornece uma descrio detalhada do que o pacote, o que ele faz e o que disponibiliza. O nvel de detalhe de cada descrio varia de pacote para pacote. Guia Dependncia:Mostra as dependncias do pacote selecionado. Voc tambm pode selecionar no menu dessa guia a opo de ver somente as dependncias do pacote, os pacotes que dependem do pacote selecionado. Assim, voc pode ter uma idia de quais pacotes dependem de quais e o quo complexo seria instalar isso tudo manualmente, alm de poder avaliar as conseqncias da desinstalao de um pacote.
DICA: Lembre-se, para selecionar um pacote/programa primeiro abra o abra o grupo ao qual o programa pertence e depois marque um ou mais pacotes/programas que voc deseja selecionar. Voc tambm poder combinar a tecla SHIFT para pegar vrios de uma vez sendo selecionados todos os pacotes/programas no intervalo entre seu primeiro e ltimo clique inclusive. Tambm possvel o uso da tecla CONTROL para seleciona pacotes/programas em diferentes posies.

Boto Manter: Se voc marcou um pacote para remover ou atualizar e depois desistiu da ao, clique em manter para que nada acontea com o pacote. Boto Atualizar: Marque um pacote/programa na rea de pacotes/programas, clique nesse boto para que o pacote/programa seja atualizado. Essa atualizao poder ocorrer pelo CD-ROM em seu computador, por um disco rgido na rede, por mirror na Internet via HTTP ou FTP. Boto Remover: Quando voc marca um pacote/programa na rea de pacotes/programas e clica nesse boto ele ser removido do seu sistema, no se preocupe as dependncias com a sada desse pacote sero resolvidas. E como voc pode ver na figura anterior, para selecionarmos nossos pacotes, clica-se no grupo, por exemplo: Desenvolvimento, Comunicao, X11 etc e d-se um clique para marcar e depois escolhe-se entre um dos trs botes: Manter, Atualizar ou Remover. Outra rea que tambm importante a rea de filtro ou seja, ns poderemos efetuar uma pesquisa seguindo critrios estabelecidos assim: selecionar todos os pacotes que no esto instalados, selecionar todos os pacotes que esto instalados ou selecionar um determinado tipo de pacote etc. E agora ns temos o menu que faz tudo o j falamos at agora e o mais importante tambm, quatro botes que fazem o seguinte:

132

Global Sul Informtica

Boto Atualizar Lista: Esse boto faz com que o seu arquivo de lista automaticamente atualizado. Boto Tudo: Esse boto seleciona automaticamente todos os pacotes existentes no servidor que tenham verses mais novas que os pacotes que esto instalados no seu sistema. a maneira mais simples de estar com o seu sistema sempre atualizado com a ltima verso dos aplicativos instalados. Para executar a instalao dos pacotes, utilize o boto Proceder. Mas se a sua conexo for por acesso discado, voc poder gastar vrias horas para atualizar um sistema Linux completo. O bom mesmo que sua conexo seja do tipo ADSL, @ajato, speedy etc., ou seja, conexes velozes que no nos aborrece com esperas eternas. Boto Atualizar Distribuio: Esse boto seleciona automaticamente todos os pacotes que devem ser instalados/atualizados para atualizar sua distribuio inteira, isso muito interessante, pois voc poder passar do Debian 3 para a verso Debian 4 apenas clicando aqui. A diferena entre este boto e o boto Tudo que o boto Tudo no atualiza pacotes que, na sua nova verso, dependam de outros pacotes que voc no tem instalado no seu sistema. Boto Proceder: Como o prprio nome j indica, o boto Proceder tem a finalidade de executar as aes programadas com os outros botes e tambm as aes efetuadas diretamente com os pacotes (Manter, Atualizar e Remover). Voc pode ainda, durante a execuo das aes, especificar se deseja apenas fazer o download dos pacotes ou se quer fazer o download e executar as operaes especificadas. A instalao e/ou atualizao de um nmero grande de aplicativos pode demorar algum tempo. Aguarde enquanto o Synaptic realiza as operaes necessrias aos procedimentos solicitados. Veja aqui porque o Synaptic muito interessante, depois que eu marquei alguns pacotes/programas e cliquei o no boto Proceder, o Synaptic automaticamente abriu uma janela de informaes e mostrou-me quais pacotes seriam atualizados, instados e mantidos. Se por um acaso algum precisasse ser removido, ele tambm informaria. Clique em prosseguir e a fica bonito de ver, pois o Synaptic apresenta a prxima figura e vai atrs de tudo e todos os pacotes para satisfazer a seleo feita anteriormente, nenhum pacote escapa. O nico cuidado seu mais tarde quando estiver marcando vrios pacotes que se tiver algum pacote estragado o Synaptic simplesmente informa que ocorreu um erro e para tudo por ali mesmo e voc nao fica sabendo qual o pacote. Quando isso acontecer faa como eu, vai marcando aos poucos e uma hora voc acha o elemento 115. A pior coisa que poder acontecer casos seus CDs no estejam bem cuidados ou se alguma coisa estranha acontecer, que depois de horas marcando e desmarcando pacotes para instalao ou remoo assim que o Synaptic terminar a leitura dos pacotes ele apresenta uma sada de erros (output), como a da figura seguinte, ento tudo o que voc fez estar perdido. O nico jeito ir instalando aos poucos at descobrir qual pacote contm erros. O pior no nem isso, pois isso a a gente contorna com umas xcaras de caf, ch ou uns copos dgua, o problema ficar trocando os CDs, que so 4 (quatro) no caso de ser a distribuio em caixas e no a da RDL (Revista do Linux) que veio na revista e so apenas 2 (dois) CDs. Pode ter certeza que voc vai trocar (tira/pe) seus CD s um par de veis, tenha calma. Ento escolha somente o necessrio. Sempre que voc fizer suas selees o boto proceder o que vai realizar as suas aes, tanto para remover, atualizar e ou instalar pacotes/programas novos em seu computador. Depois que o processo de busca for concludo o Synaptic vai realizar todas as alteraes necessrias para dar prosseguimento no incio da uma instalao. Agora s esperar, se voc marcou poucos pacotes/programas para atualiza, remover etc at que vai rpido. Mas se voc estiver fazem uma atualizao de toda a sua distribuio, acho melhor voc ir tomar um caf porque vai demorar um pouco. Quando a alterao para um nico pacote as coisas acontecem bem rapidinho. Agora se voc deseja fazer uma atualizao completa de seu sistema Linux direto da pgina da sua distribuio, clique no menu Configuraes do repositrio.

133

Treinamento Linux Administrao, Redes e Servios

Convertendo formatos de pacotes com o Alien


Acho que voc j deve ter percebido quantos formatos de arquivos ns temos para fazer instalaes de aplicativos. Somente para lembrar, temos os formatos:
.tar, .tar.Z, .tar.gz, .tar.bz2, .tgz. .rpm, .deb, .pkg. .sh (scripts de instalao) etc.

Logo a concluso: praticamente todo usurio do sistema Linux j se deparou com a situao que, depois de feito o download, o pacote est em um formato de diferente da usada pela sua distribuio. E agora, como que possvel resolver isso? a que entra em campo o utilitrio alien. Esse programa no muito comentado, mas ajuda muito em algumas situaes, como essa explanada h pouco, pois tem como objetivo a converso entre diferentes formatos de pacotes. O utilitrio alien est disponvel em www.kitenet.net/programs/alien. Est disponvel para todas as distribuies. Com isso em geral, basta instal-lo conforme o mtodo de instalao de pacotes da sua distribuio. O utilitrio alien pode fazer por voc? Converter entre formato RPM (usado em RedHat, SuSE, Mandrake, Fedora, CentOS e derivados), DEB (usado em Debian e derivados), TGZ (usado em Slackware) e SLP (usado em Stampede), ou seja, desempacota-o no formato original e reempacota-o no novo formato. Entendeu a jogada do utilitrio alien? Como utilizar o utilitrio alien? simples alien <parmetro> <pacote>, onde as principais opes so:
-d, --to-deb = converte para DEB -r, --to-rpm = covverte para RPM -t, --to-tgz = converte para TGZ --to-slp = converte para SLP -h = ajuda

Por exemplo:
# alien -d foo.bar.rpm --> Converte o RPM foo.bar.rpm para DEB foo.bar.deb # alien --to-slp foo.bar.tgz --> Converte o TGZ foo.bar.tgz para o SLP foo.bar.slp

O uso do utilitrio alien s faz sentido com pacotes binrios. O pacote resultante do alien pode no seguir as regras de colocao de arquivos e diretrios da sua distribuio. Isso especialmente importante para quem converte pacotes de uma distribuio que no segue o padro de outra. Se vai haver converso de pacotes de/para DEB/RPM, necessrio ter o dpkg ou o rpm instalados na sua mquina. Porm, as distribuies que no usam o formato RPM tm sempre disponvel o binrio rpm, e isso j ajuda bastante. Acredito que essa informao sobre o utilitrio alien possa ajud-lo. Mas lembre-se: o utilitrio alien no resolve tudo, como o caso de bibliotecas, dependncia etc.; a funo dele converter de um formato de pacote para outro formato.

134

Global Sul Informtica

Anotaes:

135

Treinamento Linux Administrao, Redes e Servios

Anotaes:

136

Global Sul Informtica

Captulo 8

Configuraes bsicas
As configuraes1 nos dias de hoje no sistema Linux muito mais amigvel que algum tempo atrs. Na prpria instalao do sistema, j detectado uma boa e grande parte do seu hardware. O sistema Linux o segundo sistema operacional no mundo em quantidade de drivers sabia? Se voc perceber quase todas as motherboards (placas me) de hoje j trazem em seus CDs tanto drivers para Windows quanto para Linux, por que ser hein? No sistema Linux voc poder efetuar suas configuraes por trs modos diferentes. Voc pode fazer pelo modo braal que editando diretamente os arquivos, isso aconselhvel quando voc j tem experincia no Linux e ento voc vai diretamente onde precisar efetuar sua configurao. Com o tempo voc vai perceber que esse melhor e mais rpido jeito. Tambm poder fazer pelo configurador no modo texto usando pequenos utilitrios como o kbdconfig, mouseconfig, XConfigurator, sndconfig etc e no modo grfico tambm encontrar seus equivalentes embora voc possa cham-los de dentro de um terminal. Mas em alguns casos voc demora mais para achar um modulo de configurao do que quando sabemos diretamente o nome dele. A configurao abordada aqui para o Linux Red Hat e similares porm vamos aprender o modo bsico pois esse modo tem praticamente em todas as distribuies, podendo, claro apresentar algumas variaes, mas se voc entender a idia desse captulo todas demais configuraes sero fceis de serem entendidas. Sabemos que as configuraes so automticas no Linux na hora da instalao, mas sempre bom saber como as coisas funcionam. Ns podemos fazer tambm a configurao diretamente pelos arquivos de configurao ou pelo utilitrio especfico. Por exemplo, se para configurar o teclado mais fcil ou editar os arquivos necessrios ou executar o kbdconfig e pronto, no necessrio carregar todo os mdulos de configurao. Mas para teclado, mouse, vdeo e carto de vdeo temos o xf86cfg. Caso voc no se acostume em usar esse configurador para fezer suas configuraes veja se voc tem o kxf86config que faz a mesma coisa mas j tem cara de KDE e tambm muito simples de ser usado.

Configurando datas e horrios


Para configurarmos a data e a hora no sistema Linux poderemos usar o comando date e depois o comando clock -w para que nossas configuraes seja efetivadas. O comando sem parmetros mostra o estado atual do sistema:
[root@gabriel root]# date Seg Set 8 10:00:40 BRT 2003

De acordo com a informao so 10:00 do dia oito de setembro um domingo. Porm veja o que aconteceu aqui
[root@gabriel root]# date 10081300 Qua Out 8 13:00:00 BRT 2003

Para mudar a data e a hora voc dever digitar na seqncia certa, seno sua data poder ser alterada de um jeito que voc no espera. Para alterar a data para o mesmo dia para as 13:00 da tarde:
[root@gabriel root]# date 09071300 Dom Set 7 13:00:00 BRT 2003 [root@gabriel root]# clock -w

137

Treinamento Linux Administrao, Redes e Servios

OK! Agora sim, seu sistema est configurado a contento. Mas no s isso, o comando timeconfig que carrega uma interface simples para configurar os parmetros de horrio do sistema e fornece um mtodo simples para configurao dos arquivos /etc/sysconfig/clock e /etc/localtime que so compatveis com scripts de inicializao Red Hat e outras distribuies semelhantes e com o utilitrio timeconfig. Se um fuso horrio for especificado, o fuso horrio do sistema ser mudado para o fuso horrio especificado. De outra forma, um menu com os fusos horrios disponveis mostrado. Se --utc for informado, assume-se que o relgio do sistema est em formato universal (Greenwich). Se --arc for usado, assume-se que o relgio do sistema armazenado no formato usado pela plataforma ARC em plataformas Alpha da Digital (a opo --arc somente est disponvel em mquinas Alpha). Se --test for especificado, o timeconfig poder ser executado por usurios no root e nenhuma mudana ser escrita. Os arquivos envolvidos pelo comando timeconfig so o /etc/sysconfig/clock que configura o formato usado pelo relgio de hardware e o /etc/localtime que um link simblico apontando para o fuso horrio default. A seguir o contedo do /etc/sysconfig/clock:
# cat /etc/sysconfig/clock America/Sao_Paulo" UTC=false ARC=false

Outro comando que usado o setclock, o qual ajusta o relgio de hardware a partir do relgio do sistema corrente armazenado no relgio do sistema. O arquivo /etc/sysconfig/clock lido para descobrir para que formato o horrio deve ser convertido antes do armazenamento. Para us-lo muito simples basta digitar setclock. H um outro pequeno utilitrio presente na maioria das distribuies, que o timetool, que tambm faz o acerto da hora e da data no sistema Linux. No ambiente KDE, caso precisar corrigir a data e a hora, o processo idntico ao ambiente Windows, apenas pressione o boto direito do mouse sobre a hora no relgio da barra de tarefas e pea para ajustar a data e a hora. Caso voc tenha alterado a data e a hora do sistema com o comando date pela console ou terminal, no esquea de usar o comando clock -w para que suas alteraes possam ter efeito. Isso tambm poder ser feito pelo KDE, para isso basta clicar na barra de tarefas para que voc possa alterar rapidamente data e a hora. Quer ver algo interessante? O horrio de todos os pases do mundo?Para isso basta usar uma varivel de ambiente chamada TZ, que vai mostrar a Time Zone de um determinado paz. POr exemplo para ver o horrio de So Paulo, podemos simplesmente digitar:
TZ=America/Sao_Paulo date Sex Nov 7 20:47:20 BRST 2003

Viu que interessante? Veja mais alguns exemplos:


TZ=Europe/Berlin date Sex Nov 7 23:48:01 CET 2003 TZ=Europe/Moscow date Sb Nov 8 01:48:12 MSK 2003 TZ=Europe/Zurich date Sex Nov 7 23:48:25 CET 2003

Os pases que podem usar essa varivel para ver as datas esto no local /usr/share/zoneinfo/.

138

Global Sul Informtica

Configurando o teclado
A configurao do teclado d-se pelo comando kbdconfig invocado pela linha de comando ou tambm de dentro de um terminal ou pelo comando xf86cfg. O comando kbdconfig o responsvel pela carga do mapa do seu teclado, por exemplo br-abnt2 o mapa para o usurio que tem o teclado padro ABNT2 com o , o que hoje muito comum. A seguir, voc poder saber onde que ficam os arquivos de mapas de teclado padro ABNT-2 em seu sistema Linux, mas tome cuidado, pois a localizao poder ser um pouco diferente, conforme a distribuio que voc estiver usando.
/usr/lib/kbd/keymaps/i386/qwerty/br-abnt.kmap.gz /usr/lib/kbd/keymaps/i386/qwerty/br-abnt2.kmap.gz /etc/X11/xinit/xmodmaps/Xmodmap.abnt /etc/X11/xinit/xmodmaps/Xmodmap.abnt2

As duas primeiras linhas so arquivos de mapas de teclado para o modo texto e as duas ltimas so para o modo grfico. Mas ateno: se voc tem acentuao em modo texto no quer dizer que voc ter acentuao em modo grfico. Se voc tem acentuao em modo texto, mas no a tem em modo grfico, e seu teclado padro ABNT-2, super simples de resolver, assim voc ter acentuao em modo texto e em modo grfico sem nenhum problema. Para isso use o comando:
xmodmap /etc/X11/xinit/xmodmaps/Xmodmap.abnt2

Voc escolhe o layout do seu teclado e ela grava essas informaes para voc. Para saber qual o mapa de teclado que est sendo usado pelo seu sistema Linux no atual momento, use o comando cat /etc/sysconfig/keyboard, voc vai ter como resultado:
KEYTABLE="br-abnt2"

O resultado mostra que o mapa br-abnt2. A entrada de algumas combinaes de teclado para alguns programas de edio em modo texto ficam guardadas no arquivo /etc/inputrc ou geralmente no /home do usurio. Se quiser, voc poder ver o contedo desse arquivo com cat /etc/inputrc:
# Allow 8 bits set meta-flag on set convert-meta off set input-meta on set output-meta on ... $if Bash # To edit PATH: "ctrl-x p" "\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f" $endif

Aqui ns podemos perceber que h configuraes para o bash, vi e emacs e descobrimos um segredo bem interessante, que a combinao CONTROL+X P. Isso permite que voc edite rapidamente o seu PATH para execuo de programas. Mudando a velocidade do teclado possvel mudar a velocidade de seu teclado atravs do comando kbdrate. O comando sem argumento retornar a estado atual de velocidade do teclado, por exemplo kbdrate. Velocidade do teclado definida como 10,9 cps (intervalo = 250 ms). Os parmetros do comando so: -r: Altera a taxa de repetio cps (caracteres por segundo) do teclado que varia de 2.0 a 30.0 cps (caracteres por segundo). -d: Altera o tempo em milissegundo para repetio de um determinado caractere que varia entre 250 a 1000 ms. Um exemplo de configurao seria kbdrate -r 30 -d 250. Assim, seu teclado seria configurado para ter uma taxa de repetio de 30 caracteres para um tempo de 250 ms. Se for preciso verificar o relatrio de como est configurado o teclado no atual momento, use o comando kbd_mode, assim:

139

Treinamento Linux Administrao, Redes e Servios

kbd_mode The keyboard is in the default (ASCII) mode

Ficamos sabendo que o nosso teclado est configurado para o modo ASCII. Outros parmetros do comando so os seguintes:
s: scancode mode (RAW), k: keycode mode (MEDIUMRAW). a: ASCII mode (XLATE), u: UTF-8 mode (UNICODE).

Configurando o mouse
Para configurarmos nosso mouse no sistema Linux tambm muito fcil: basta chamar o comando mouseconfig ou pelo comando xf86cfg via console ou at mesmo de dentro de um terminal. Mas em alguns casos ser preciso reiniciar o modo grfico com CONTROL+ALT+BACKSPACE para que a mudana seja vlida, pois o mouse poder comportar-se de maneira estranha. O mouseconfig ajusta os arquivos de configurao necessrios e os links para uso do mouse em um sistema Red Hat. Existem dois modos de operao: interativo e kickstart. Em modo interativo, o usurio perguntado sobre o tipo de mouse que est conectado ao sistema. Algumas dessas informaes podem ser automaticamente detectadas e preenchidas. Se --expert for especificado, o usurio ter a oportunidade de substituir quaisquer valores detectados. Em modo kickstart, o Xconfigurator tentar detectar automaticamente todas as informaes necessrias, no interativamente. Mouses em portas tipo PS/2 sero encontrados automaticamente. Mouses seriais sero geralmente detectados, mas o tipo do mouse serial normalmente no poder ser determinado. O usurio pode usar a opo <tipo mouse> para forar o mouseconfig a usar um tipo particular de mouse. A execuo de mouseconfig --help relacionar todos os tipos vlidos de mouses. O daemon (processo) que controla o mouse o gpm, ento em alguns casos precisamos matar o gpm; ou seja, derrubar e levantar o processo do mouse com o comando:
# /etc/rc.d/init.d/gpm restart Interrompendo os servios gpm: gpm Iniciando os servios gpm:

[ OK ]

Desse modo, se tivermos problemas com o mouse, ns paramos o seu processo e depois o levantamos novamente. Isso voc dever fazer somente se for preciso. O comando mouseconfig, como podemos ver a seguir, permite que seja escolhido o modelo do mouse e se tambm desejamos emular ou no trs botes: Um dos arquivos que guarda as configuraes do mouse o seguinte cat /etc/sysconfig/mouse:
MOUSETYPE="Microsoft" XMOUSETYPE="Microsoft" FULLNAME="Generic Mouse (serial)" XEMU3=yes

Vale lembrar que o link simblico /dev/mouse apontado para o dispositivo do mouse que geralmente est na COM1, que no sistema Linux /dev/cua0 ou /dev/ttyS0. Se o tipo do mouse for alterado usando o mouseconfig, o utilitrio Xconfigurator deve ser executado novamente para traduzir as mudanas para a configurao do X11 (modo grfico).

Configurando a placa de som


Algum tempo atrs, configurar a placa de som no Linux era um certo probleminha, pois algumas vezes a irq no batia, a DMA no dava certo e ainda poderia no haver o driver daquele placa disponvel. Porm, hoje a configurao de placas de som no sistema Linux muito fcil, pois ele conta com quase todos os drivers de placas de som disponveis no mercado e as placas que trazem o som on-board, para a grande maioria delas, o Linux j tem os drivers ou o fabricante inclui junto ao CD da placa. A configurao do som d-se pelo comando sndconfig, que um utilitrio que pode configurar programas de controle de dispositivos de som. H poucas coisas que so necessrias saber sobre sndconfig, use seja, ele tem suporte Plug and Play sendo capaz de configurar placas de som Plug and Play como de 16 e 32 bits. Se voc usar o servidor de som ALSA, use o alsaconfig. As informaes de configurao esto armazenadas no arquivo /etc/isapnp.conf, em conjunto com as informaes de configurao para qualquer outro dispositivo Plug and Play. Para garantir que a

140

Global Sul Informtica

configurao no seja /etc/isapnp.conf.bak.

perdida,

sndconfig

salva

arquivo

original

/etc/isapnp.conf

como

Configurando o modem
Podemos configurar o modem no sistema Linux por diversos modos: via linha de comando, via edio dos arquivos de configurao, via utilitrios modo texto e modo grfico. Para configurar via utilitrios em modo texto verifique se sua distribuio tem os comando: modemtool ou modemconf e pelo modo grfico podemos usar ou kppp. Nesse procedimento apenas criaremos um link simblico da porta serial do modem para o arquivo de dispositivo /dev/modem. Assim, ao configurar o seu programa de discagem como por exemplo o Kppp voc poder indicar simplesmente que o modem se encontra em /dev/modem. Mas antes ns devemos verificar se existe um link simblico que aponta para a porta correta de comunicao que em Linux est de acordo com a tabela seguinte:
MS-DOS WINDOWS COM 1 COM 2 COM 3 COM 4

LINUX /dev/cua0 ou /dev/ttyS0 /dev/cua1 ou /dev/ttyS1 /dev/cua2 ou /dev/ttyS2 /dev/cua3 ou /dev/ttyS3

DESCRIO Porta de comunicao 1. Porta de comunicao 2. Porta de comunicao 3. Porta de comunicao 4.

Caso o seu modem esteja conectado na COM2, por exemplo, o comando para criao do /dev/modem use o comando:
# ln -sf /dev/ttyS1 /dev/modem

E para que isso funcione a partir de todas as inicializaes, por exemplo se o modem estiver na ttyS2 ou ttyS3 voc deve adicionar uma linha como esta em seu /etc/rc.d/rc.local:
# setserial /dev/modem irq 7

Isso dever ser de acordo com a IRQ utilizada pelo seu modem. As IRQs dos modens que so on-board tem IRQs mais altas, mas a grande maioria no funciona no ambiente Linux por serem Winmodens, ou seja, so modens feitos para funcionar apenas no ambiente Windows. Infelizmente ainda no existe suporte total e completo a modems PCI no Linux, somente a alguns modelos especficos, que no so modems do tipo winmodem, incompatveis com o Linux. Para saber se o seu Winmodem foi reconhecido pelo sistema Linux nada melhor que usar o comando dmesg | less e procurar pelas seguintes ocorrncias:
PCTEL modem device (61) 13f6:0211 found: irq = 11, base = 0xdc00 Serial PCTEL driver version 4.27.212 (CM8738) (2001-05-03) with HUB-6 MANY_PORTS MULTIPORT SHARE_IRQ ISAPNP enabled ttyS15 at 0xdc00 (irq = 11) is a 16C950/954 assign pctel_interrupt Trying to free free IRQ11 Trying to open $MFT! Trying to _clear_inode of $MFT!

Essas informaes nos mostram que o modem um PCTEL (CM8738) on-board e usa a IRQ 11, mas tem como referncia a ttyS15, isso quer dizer que esse tipo de Winmodem fcil de ser configurado. Para isso, voc poder usar o kppp, minicom ou alguns outro utilitrio de sua preferncia.

141

Treinamento Linux Administrao, Redes e Servios

Usando o KPP para conectar Internet


Se voc no se entender muito bem o minicom, ento use o kppp que muito parecido com o dial-up do Windows. Ele fcil e simples de ser configurado, a nica observao que o seu modem seja reconhecido pelo sistema Linux. Para configurar um acesso discado Internet vamos usar um passo a passo visual bem simples de ser acompanhado: Passo 1: Executando o kppp temos as seguintes opes iniciais: Conectar a: o nome descritivo do seu provedor de acesso. ID de Login: o nome de conexo do usurio. Senha: a senha de acesso do usurio. Mostrar Janela de Relatrio: Mostra janela com informaes sobre a conexo. O boto Configurar permite entrar no modo de configurao e o boto Conectar, depois de feitas as devidas configuraes, faz a conexo para depois voc usar o Netscape, Mozilla, Konqueror ou outro navegador e navegar vontade. Passo 2: Configurao de contas e dispositivos: Nesse procedimento ns poderemos editar uma configurao existente, criar uma nova conta de acesso, copiar uma conte de acesso ou remover uma conta que no ser mais usada. Para criar uma conta nova clique em no boto Nova. Agora, na aba Ligar, voc dever adicionar o nome que identifica a sua conexo com seu provedor e depois um nmero telefnico e qual o tipo de autenticao usada por ele. Na aba IP, caso voc usa um IP fixo passe-o aqui ou deixe como IP Dinmico como a mais comum em acesso discado. Aqui na aba Gateway voc dever informar se um gateway padro (de voc para seu provedor) ou se um gateway esttico (de voc para um gateway de sua rede interna) e na aba DNS voc dever informar ou o seu DNS interno de rede caso tenha um ou informe o DNS do provedor, e em ambos os casos voc dever cadastar um ou mais DNS aqui. Na aba Dispositivo geralmente configuramos onde que esta redirecionamo o mouse e com qual velocidade vamos trabalhar. Passo 3: Configurao do modem, grficos e outras informaes: Nesse procedimento, caso seja necessrio passar algum parmetro especial para o seu modem, na aba Modem clique no boto Comandos do Modem. Clique em Comandos do Modem e na janela que segue, em String de Discagem, digite ATDP caso sua linha seja PULSO, ou ATDT caso sua linha seja TOM; clique em OK para finalizar. Para verificar se a configurao do modem est correta, clique em Perguntar ao Modem. Surgir ento uma janela com as configuraes do modem. Clique em OK. Na aba grficos voc apenas vai configurar algumas cores como fundo de tela cor de caracter, bytes recebidos e bytes enviados. E na aba Outros voc tem algumas opes que lhe ajudar com sua conexo. Prontinho, agora de OK e quando aparecer a figura do passo 1 clique em conectar e se funcionar use qualquer navegador de sua preferncia mas lembre-se que o netscape, o mozila e alguns outros voc ainda vai ter que configura nas preferncias dele o gateway, proxy e DNS, mas s isso informe esses valores e pode ir dormir as 04:00 da manh.

Servio bsico de ADSL


Para configurar um acesso bsico de ADSL no Linux muito simples se isso que voc quer fazer, ou seja, configurar as informaes que seu provedor lhe forneceu e se conectar a Internet de banda larga. Porm lembre-se que voc precisr de duas placas de rede, uma normal que voc usar para se conectar rede interna e outra como voc j deve saber ser usada para acesso via LAN com ADSL ao seu provedor. Voc precisar do pacote rp-pppoe e caso voc no o tenha, voc poder baixar de www.roaringpenguin.com. Acompanhe os passos nessecrios para configurar ADSL no sistema Linux: Execute o comando /usr/sbin/adsl-setup para cadastrar todas as informaes necessrias do provedor, lembrando que o nome de usuario para conexes ADSL sempre ser nome_usuario@provedor.com.br. As perguntas devem se respondidas de acordo com suas informaes. Veja Exemplo de como fazer:
username: nome_do_usurio ethernet interface: eth1 demand value: no Dns 1: dns_primrio Dns 2: dns_secundrio Password: ****** > Placa de rede que ser usada. > Verificar com seu provedor. > Verificar com seu provedor. > Digite sua senha.

142

Global Sul Informtica

Com relao ao firewall, por enquanto configure-o, o nvel e agora vamos ao passo mgico que efetuar a conexo como comando /usr/sbin/adsl-start se deu certo aparecer a mensagem ...Connected! e para desconectar use o comando /usr/sbin/adsl-stop. Caso queira ver o status de sua conexo use o comando /usr/sbin/adsl-status. Viu s que coisa maravilhosa e simples n? Lembre-se de que a parte de rede j dever estar configurada pois aqui como se fosse um segundo passo de de configurao da rede. Agora use o Netscape ou outro navegador de sua preferncia para se conectar ao mundo.

Configurando a impressora
A impressora um dos perifricos mais importantes de qualquer usurio, experimente ficar sem ela pelo menos um dia e voc vai descobrir quanta coisa voc precisa imprimir, engraado n? Bom, vamos aprender a configurar nossa impressora no sistema Linux. O sistema Linux tem vrios utilitrios para configurao de impresso, o linuxconf tem um mdulo de configurao de impresso, h um utilitrio chamado printtool, o gnome tem uma ferramenta para gerenciar impresso e o KDE tambm tem a ferramente dele. Mas o que usar ento? Na verdade o que voc precisa saber qual servidor usar, pois o sistema Linux ir atuar como servidor de impresso mesmo que sua mquina no esteja em rede. O Linux servir a impresso para o 127.0.0.1 que o localhost, ou seja voc mesmo. J apareceram vrios utilitrio s servidores de impresso, mas o que est se consolidando o CUPS Commom Unix Printing System, ou seja o sistema de impresso padro Unix, pois com ele ns poderemos fazer os mais diversos tipos de configurao de impressora, seja ela local, remota, rede, Internet, samba, netware, Windows etc. No sistema Linux a porta da impressora semelhante a porta do MS-DOS/Windows, ou seja, a porta de impressora definida como lp0, lp1, lp2 e um arquivo que aponta para um dispositivo e por isso fica no diretrio /dev, e corresponde a LPT1, LPT2 e LPT3 no MS-DOS/Windows. L no captulo 1 voc aprendeu que o modo mais usado de redirecionamento quando vamos criar um log do resultado da sada de um programa ou quando vamos imprimir um arquivo via linha de comando. Acompanhe alguns exemplos:
cat arquivo1.txt > /dev/lp0 cat < arquivo1.doc > /dev/lp0 cat arquivo1.txt | tee /dev/lp0 dmesg | lpr

Esses comandos imprimem via linha de comando diretamente na impressora, porm ela dever estar configurada para isso, lembre-se e isso que vamos aprender agora. Podemos tambm imprimir diretamente na impressora usando spool o qual tem o objetivo de liberar os programas do servio de impresso. Para isso todo sistema Linux tem um processo (daemon) de impresso que normalmente o comando lpr ou o lprng (recomendado). Veja um exemplo simples de uso de spool de impresso:
cat manual.txt | lpr cat < apostila.txt | lpr cat -n curso_linux.txt | lpr

O procedimento de imprimir via comando cat algumas vezes no nos d o resultado esperado, pois limitado em muitos aspectos e tambm muitas vezes os usurios no tm permisses de escrita nesses dispositivos. Ento aqui que entra uma outra ferramenta ao nosso servio, o tal do comando lpr. Para usar esse comando, o sistema de impressoras j deve estar adequadamente configurado. Para imprimir use:
# lpr <nome_do_arquivo>

O comando lpr mandar o arquivo para uma fila de impresso, onde aguardar a sua vez de ser impresso. O comando lpr aceita diversos parmetros que permitem especificar preferncias, como o nmero de cpias para imprimir, qual impressora deve ser usada (no caso de haver vrias impressoras disponveis) ou mesmo os filtros a serem utilizados.

143

Treinamento Linux Administrao, Redes e Servios

Ele tambm aceita dados pela entrada padro, simplificando o uso de filtros e outros utilitrios para mudar o aspecto da impresso:
cat <nome_do_arquivo> | lpr pr -2 -h CURSO DE LINUX -l60 nome_do_arquivo | lpr

Nesse ltimo exemplo usou-se o comando pr para imprimir o arquivo escolhido em duas colunas, com o ttulo CURSO DE LINUX e com 60 linhas por pgina. Uma outra ferramenta que pode atuar como filtro o gs (ghostscript), que recebe como entrada um arquivo postscript e produz como sada caracteres interpretveis por uma impressora no-postscript. A fila de impresso pode ser controlada com os comandos lpq, que mostra os trabalhos de impresso atuais e o lprm, que remove um trabalho de impresso caso voc no o queira mais e ainda est em tempo de remov-lo. Temos tambm um pequeno utilitrio que o lpc e serve para gerenciar a fila de impresso. Todos esse comandos que voc viu so comando do modo texto mas que funcionam dentro de um terminal no modo grfico. O Gerncia de Impresso cuida da fila de impresso e os trabalhos que nela se encontram; podese usar as ferramentas que vem com o programa lpr. Para que voc possa fazer a gerncia de impresso, existem alguns comandos em modo texto que so:
1. 2. 3. 4. 5. 6. 7. lp: Manda requisies para servios de impresso LPRng. lpc: Programa de controle da impressora. lpd: o processo (daemon) que controla a impressora. lpq: Programa que examina os spool de impresso. lpr: Serve para mandar os arquivos para a impressora. lprm: Remove trabalhos que esto na fila de impresso. lpstat: Mostra informaes sobre o estado de impresses a partir do spool.

Veja o exemplo para mostrar documentos na fila de impresso:


[root@gabriel root]# lpstat HP656C-2 root 139264 HP656C-3 root 23552 Ter 21 Out 2003 23:06:56 BRT Ter 21 Out 2003 23:12:49 BRT

Veja o exemplo para mostrar impressoras que esto no sistema:


[root@gabriel root]# lpstat -v device for HP656C: ipp://hostname:631/ipp/ device for HP656c2: usb:/dev/usb/lp0

8. lpstyl: Controla o formato da impresso, qualidade, formato, margens etc. Ferramenta lpq : O comando lpq usado para examinar a fila de impresso. Quando executado, ele produz a seguinte sada: no entries, se a fila de impresso estiver vazia, ou:
lp is ready an printing Rank Owner Job Files Total Size 1st bob 11 readme.txt 8556 bytes

Desta forma, possvel ver em que posio da fila est o arquivo de cada usurio. No caso de haver vrias impressoras disponveis, pode-se visualizar o estado da fila de impresso de uma determinada impressora, passando para o comando lpq um parmetro auxiliar informando o nome da impressora que se deseja visualizar:
lpq -Pnome_da_impressora 2. lprm

O comando lprm usado para eliminar entradas na fila de impresso. Sua sintaxe simples lprm [-Pimpressora] [-] [arquivo #...] [usuario...] O parmetro -P serve para especificar a impressora sobre a qual se quer atuar; o parmetro elimina todos os arquivos que esto na fila de impresso e que sejam do usurio que executa o comando. Se quem for executar o comando lprm o usurio root, a fila de impresso esvazia-se; a opo arquivo utilizada para remover individualmente um dos arquivos presentes na fila de impresso.

144

Global Sul Informtica

O nmero do arquivo (na fila de impresso) obtido a partir do comando lpq (no indicador de coluna job); por ltimo, o parmetro usurio de utilidade apenas para o usurio root. Atravs dele todos os arquivos especficos de um usurio podem ser removidos da fila de impresso. Ferramenta lpc : O comando lpc tem o seu uso do controle do sistema de impresso. Para cada uma das impressoras possvel:
a) b) c) d) Habilitar ou desabilitar uma impressora. Habilitar ou desabilitar uma fila de impresso. Alterar a ordem de impresso dos arquivos que estejam numa fila. Visualizar o estado de cada impressora e de sua respectiva fila de impresso.

Por exemplo, o comando lpc status produziria a seguinte sada:


lpc status lp: queuing is enable printing is enable 2 entries in spool area lp is ready an printing

O arquivo que cuida da configurao das impressoras o /etc/printcap e parecido com a seguinte listagem:
##PRINTTOOL3## LOCAL st800 360x360 a4 {} EpsonStylus800 Default 1 EPSON-ST-800:\ :if=/var/spool/lpd/lp/filter:\ :lp=/dev/lp0:\ :mx#0:\ :sd=/var/spool/lpd/lp:\ :sh: ##PRINTTOOL3## SMB st800 360x360 a4 {} EpsonStylus800 Default 1 EPSON-ST-650:\ :if=/var/spool/lpd/lp/filter:\ :lp=/dev/null:\ :mx#0:\ :sd=/var/spool/lpd/lp:\ :sh:

No exemplo acima podemos perceber que existem duas impressoras no sistema Linux. A EPSON-ST-800 uma impressora local e a EPSON-ST-650 uma impressora SMB; isso significa que possvel imprimir a partir de uma estao Windows em uma mquina Linux sem nenhum problema. A seguir veja alguns dos parmetros desse arquivo:
sd: mx: sh: lp: if: Define o diretrio de spool Define o tamanho mximo do arquivo (zero = ilimitado). Suprime impresso de cabealho de pgina. Nome do dispositivo de sada. Define filtro usado na impresso dos arquivos.

Filtros de impresso
Alguns programas no sistema Linux oferecem filtros de impresso para melhorar mais a qualidade das impresses. Esses programas permitem ao usurio liberdade de trabalho e flexibilidade no tratamento de diversos tipos de arquivos e os mais populares esto listados a seguir: Mpage J o mpage pode ser muito til. Ele permite imprimir vrias pginas por folha, reduzindo consideravelmente o tamanho das listagens. Pode ser configurado para pr molduras ou limites de texto e certas informaes como dono do arquivo, a data ou ttulo nos limites da folha. Com o mpage possvel criar um gerenciador de impresso no seu micro, criando um script simples pois ele captura uma entrada em arquivo texto ou em arquivo postscript e gera um outro postscript com duas, quatro ou oito pginas, agrupadas na mesma pgina isso muito interessante quando voc quer apenas um rascunho de seus trabalhos, com eu fao na Universidade para no gastar papel toa. Para criar

145

Treinamento Linux Administrao, Redes e Servios

um script muito simples, nada que um pouco mais de conhecimento no resolva. Veja como criar um script chamado mostra4 que tem o objetivo de imprimir em uma folha A4, quatro pginas do arquivo teste4.ps (arquivo postscript). Acompanhe:
#!/bin/bash mpage -4 -b A4 -a $1 > /tmp/teste4.ps gv /tmp/teste4.ps

Foi usado o interpretador de comandos bash e na segunda linha o comando mpage imprime quatro pginas em papel A4 recebendo o nome do arquivo em $1 e usa o diretrio temporrio /tmp. Podemos imprimir duas, quatro ou at oito pginas de um arquivo por pgina A4. Gimp-print: um recurso (plug-in) agregado ao Gimp presente nas mais recentes distribuies Linux, que oferece extrema qualidade de impresso. Como ele, o gerenciamento de cores e de tinta ficou muito mais fcil e em alguns casos a impresso mais rpida do que a mesma impressora em ambiente Windows. Magicfilter um programa de filtragem que, recebendo os dados que so enviados para a impressora, tenta adivinhar o tipo de dados a serem tratados. Em funo do tipo do arquivo executa um filtro em especial (desde que este j se encontre instalado) e envia a sada para a fila de impresso. O Magicfilter possui um programa de configurao (magicfilterconfig) para cada filtro de cada impressora. A partir das informaes passadas para ele, o magicfilterconfig cria o arquivo /etc/printcap de acordo com as referidas informaes. A maioria dos programas para ambiente grfico X11, incluindo o Netscape, Word Perfect, Gimp e Star Office trabalham nativamente com o magicfilter. Aspfilter similar ao Magicfilter, s que nesse ltimo os filtros so interpretados pela shell e no por um programa prprio. Ele tambm possui um programa de configurao interativo, mas diferente do Magicfilter. Ele primeiro procura filtros instalados no sistema para verificar se poder imprimir determinado arquivo. Como o Magicfilter, ele cria o arquivo /etc/printcap, de maneira personalizada, de modo a corresponder ao(s) tipo(s) de impressora(s) instalada(s). Ghostscript O utilitrio gs (ghostscript) usado para traduzir a linguagem postscript para uma que a impressora conhea. Para isso, o gs precisa saber para que linguagem ele deve traduzir os dados recebidos, feito atravs do parmetro device especificado. O Ghostscript usa o formato .ps que est se tornando uma padronizao para a impresso de grficos em ambiente Unix/Linux devido a sua boa qualidade da impresso, liberdade de configurao, gerenciamento de impresso feito pelo gs e por ser um formato universal, compatveis com outros sistemas operacionais. Se voc tiver o Ghostscript instalado, abra um terminal de dentro do modo grfico e digite o comando gs <nome_arquivo.ps>, assim voc poder ler e trabalhar com seu arquivo .ps (arquivo post script). Vrios aplicativo podem gerar arquivos em post script e em ambiente Windows podemos citar o Page Maker, Corel Draw, Illustrator, Autocad, Free Hand e at mesmo o pacote Office mas vamos lembrar que precisamos ter os drivers para isso e podemos encontrar esses drivers comerciais ou gratuitos na Internet. Para imprimir o arquivo teste.ps via linha de comando use o comando:
# gs -q -dSAFER -dNOPAUSE -sDEVICE=epson -r240x72 -s PAPERSIZE=legal -sOutputFile=/dev/lp0 teste.ps

Onde os parmetros: -q, -dQUIET: No mostra mensagens de inicializao do Ghost Script. -dSAFER: uma opo para ambientes seguros, pois desativa a operao de mudana de nome e deleo de arquivo e permite somente a abertura dos arquivos no modo somente leitura. -dNOPAUSE: Desativa a pausa no final de cada pgina processada. -sDEVICE=dispositivo: Dispositivo que receber a sada do Ghost Script. Neste local pode ser especificada a marca o modelo de sua impressora ou um formato de arquivo diferente (como pcxmono, bmp256) para que o arquivo .ps seja convertido para o formato designado. Para detalhes sobre os dispositivos disponveis em seu Ghost Script, use o comando gs --help| less ou gs --help | gless (executa o less do modo grfico) ou veja a pgina de manual. Outro utilitrio

146

Global Sul Informtica

interessante e importante do modo grfico o ggv o qual, meio que se parece com o acrobat reader, permite visualizar e imprimir arquivos em formato .ps com extrema qualidade. LPRng O LPRng LPR Next Generation: O LPRng, escrito por Patrick Powell a nova gerao em relao ao LPR mais antigo, desenvolvido em Berkley, USA. Sendo mais completo, ele permite definir permisses de impresso, quotas e no executado como setuid-root. Isso resolveu os buracos de segurana desnecessrios do anterior. Por outro lado, esse programa mais complexo. O LPRng no requer que a fila de impresso seja local e permitiu que os servios de impresso fossem distribudos atravs da NIS ou NIS+. Com o LPRng podemos facilmente gerenciar novos rtulos de impressora, pois ele foi projetado para suportar grandes infra-estruturas de impresso, impresso em rede, contas de impresso, dentre outras caractersticas.

Servidor de impresso CUPS e KDE


Voc j pode perceber que podemos usar os mais diversos tipos de servios de impresso, mas o que tem se firmado ultimamente CUPS Common Unix Printing System, ou seja sistema de impresso padro Unix. Ele extremamente interessante pois possivel configurar servios para impresso local, em rede, remota e tambm via Web. Aqui nessa parte vamos ver a parte bsica de configurao e empresso, pois utilitrios e servios baseados no CUPS so muito e no seria possvel abord-los por completo aqui. Como isso um servio, primeiramente devemos ter o pacote desse servio intalado e depois devemos deix-lo ativo pois somente assim poderemos configur-lo e us-lo como servidor e cliente de impresso. Poderemos deix-lo ativo com o ntsysv ou em nossos arquivos rcs. Somente para que voc tenha uma idia, o CUPS conta com mais de 1.500 (mil e quinhetas) impressoras, porm se sua impressora no estiver na lista dele, procure em www.linuxprinting.org e l voc com certeza encontrar sua impressora. Baixe o arquivo e o CUPS estar atualizado. O CUPS assim como seus arquivos esto no /etc. Veja seus principais arquivos:
cups, cups-calibrate, cups.lp, cups.lprm, cupsd, cups-config, cups.lpc, cups.lpstat, cupsdconf, cups-pcl3, cups.lpq, cupsWebAdmin, cupsdoprint, cups.cancel, cups.lpr, cupsaddsmb, cupstestppd.

Arquivos de configurao do CUPS:


a) classes.conf: Este arquivo contm informao para cada classe de impressora b) client.conf: Este arquivo fornece o nome do servidor padro para mquinas clientes c) cupsd.conf : Este arquivo controla como o servidor cups trabalha. d) mime.convs: Este arquivo contm uma lista de filtros de converso para arquivos padro e) mime.types: Contm uma lista de formatos de arquivos padro f) printers.conf : Este arquivo contm informaes de cada impressora.

Vantagens do CUPS O CUPS fornece uma portvel camada de impresso para sistemas operacionais baseados em sistemas Unix, fornecendo interface de linha de comando tanto no estilo System V como BSD. Ele usa o protocolo IPP Internet Printing Protocol como base para o gerenciamento de trabalhos e filas de impresso, e outros protocolos como LPD Line Printer Daemon, SMB Server Message Block, AppSocket JetDirect, so suportados com funcionalidades reduzidas. Ele ainda adicionou opes de impresso baseadas em PPD Postscript Printer Description para suportar o mundo real de impresso do Unix. Alm disso, o CUPS fornece uma interface Web, quotas, suporte a clientes IPP e LPD, suporte a encriptao, drivers de impresso baseados em PPD e vasta documentao e usa o IPP/1.1 para fornecer um completo e moderno sistema de impresso para Unix que pode ser extendido para suportar novas impressoras, dispositivos e protocolos enquanto fornece compatibilidade com as aplicaes Unix existentes. E isso o que est se tornando padro em quase todas as distribuies Linux. O CUPS est se consolidando. Vantagens do IPP Como j sabemos o IPP um protocolo de impresso pela Internet, esse um novo protocolo de rede que fornece um conjunto comum de servios de impresso, ou seja, voc imprimir um documento de qualquer mquina no mundo para qualquer impressora no mundo usando IPP.

147

Treinamento Linux Administrao, Redes e Servios

As principais vantagens do IPP em cima de outros protocolos como LPD e JetDirect que alm de todos eles poderem ser usados sobre a Internet hoje, acontece que o IPP fornece servios que os outro no, como:
a) O IPP fornece vrias opes de autenticao, voc pode configurar servidor CUPS para aceitar somente trabalhos de alguns usurios. b) O IPP suporta controle de acesso, o qual restringe impresso de trabalhos, controle de trabalhos, controle de tamanho de arquivos, controle de grupos de impresso. c) O IPP fornece servios de diretrios conhecido como printer browsing e apresenta configurao no estilo do Apache.

Configurando o CUPS pelo arquivo


Bom, agora ns j podemos dar inicio a configurao do CUPS. O primeira passo a ser feito editar o arquivo /etc/cups/cupsdconf, o qual se parece muito com o jeito dos arquivos de configurao do servidor Apache. Esse arquivo meio extenso mas sua configurao bem simples. Se voc entender bem esse arquivo voc ter andado uns 90% na configurao do CUPS. Pois todos os utilitrios de configurao do CUPS lem e gravam informaes nesse arquivo. Depois de feita as alteraes/configuraes no arquivo /etc/cups/cupsd.conf deveremos executar o comando cupsd que o responsvel por manter o CUPS ativado. Um detalhe que devemos atentar de editar ou adicionar as linhas seguintes no arquivo /etc/cups/cupsd.conf para que seja possvel a configurao:
# Permite que sua mquina via navegador execute # o configurador do CUPS. <Location /> Encryption IfRequested Satisfy All Order deny,allow Deny From All Allow From 127.0.0.1 # Permite impresso do localhost. Allow From 10.6.12.250 # Permite impresso somente ao 10.6.12.250. Allow From 10.6.12.* # Permite impresso a todos os usurios # dessa faixa de IP. </Location>

Isso fica dentro de uma seo chamada Security Options eno nosso caso est dizendo para o CUPS rejeitar toda e qualquer conexo que no seja originria de 127.0.0.1 e 10.6.12.250. Se voc quiser adicionar mais mquinas, basicamente o que temos que fazer adicionar mais linhas Allow From, seguido do IP da mquina. Depois no esquea de salvar o arquivo e reinicie o CUPS no servidor e no cliente. Agora verifique com o comando lpstat -v. Se tudo correu bem, voc j deve ter sua impressora funcionando e compartilhada para outros clientes Linux sem maiores dificuldades. Simples n? J para a parte administrativa a configurao tambm muito simples e fcil acompanhe o exemplo seguinte:
# Permite que sua mquina como administrador via navegador # execute o configurador do CUPS. <Location /admin> AuthType Basic AuthClass System Encryption IfRequested Satisfy All Order deny,allow Deny From All Allow From 127.0.0.1 Allow From 10.6.12.250 </Location>

Com isso j d para voc executar o comando cups-config ou cupsWebAdmin para dar inicio a configurao propriamente dita pois o que voc acabou de fazer foi permitir que a mquina local (localhost ou 127.0.0.1) e a mquina local com IP (10.6.12.250) pudessem inciar a configurao. A seguir voc tem uma

148

Global Sul Informtica

listagem de um arquivo /etc/cups/cupsd.conf sem comentrios, ou seja, somente as alteraes que geram aes:
# # # # CUPS configuration file, generated by CUPS configuration tool. This tool is part of KDEPrint, the printing framework for KDE since version 2.2.2 and is used by the CUPS supporting module in KDEPrint.

ServerName gabriel.hackers.net ServerAdmin root@gabriel.hackers.net Classification unclassified ClassifyOverride No DefaultCharset ISO8959-1 DefaultLanguage pt Printcap /etc/printcap PrintcapFormat BSD RemoteRoot remroot SystemGroup sys ServerCertificate /etc/cups/ssl/server.crt ServerKey /etc/cups/ssl/server.key AuthType None <Location /> Encryption IfRequested Satisfy All Order deny,allow Deny From All Allow From 127.0.0.1 Allow From 10.6.12.250 </Location> <Location /admin> AuthType Basic AuthClass System Encryption IfRequested Satisfy All Order deny,allow Deny From All Allow From 127.0.0.1 Allow From 10.6.12.250 </Location> HostnameLookups Off KeepAlive On KeepAliveTimeout 60 MaxClients 100 MaxRequestSize 0m Timeout 300 Listen *:80 Listen *:631 AccessLog /var/log/cups/access_log ErrorLog /var/log/cups/error_log PageLog /var/log/cups/page_log MaxLogSize 9999m LogLevel info PreserveJobHistory On PreserveJobFiles Off AutoPurgeJobs No MaxJobs 500 MaxJobsPerPrinter 0 MaxJobsPerUser 0 User lp Group sys RIPCache 8m FilterLimit 0 DataDir /usr/share/cups DocumentRoot /usr/share/cups/doc FontPath /usr/share/cups/fonts RequestRoot /var/spool/cups ServerBin /usr/lib/cups ServerRoot /etc/cups

149

Treinamento Linux Administrao, Redes e Servios

TempDir /var/spool/cups/tmp Browsing On BrowseProtocols CUPS BrowsePort 631 BrowseInterval 30 BrowseTimeout 300 BrowseAllow 10.6.12.250 BrowseDeny All BrowseOrder deny,allow ImplicitClasses On ImplicitAnyClasses Off HideImplicitMembers Yes BrowseShortNames Yes maxcopies 100 printcapgui /usr/bin/glpoptions maxclientsperhost 10

Bom, acho que voc com um pouco de pacincia lendo e estudando esse arquivo vai perceber que na verdade no difcil de se configurar esse servidor de impresso. Existem inmeros utilitrios para fazer essas configuraes, tanto pelo modo texto quanto pelo modo grfico e tambm via navegador. Resumindo os principais arquivos do servidor de impresso CUPS:
cups-calibrate: Serve para calibrar o uso de tintas e para imprimir usando o CUPS em conjunto com o filtro de impresso gimp-print. cups.lp, cups.lprm, cups.lpr: Serve para mandar arquivos para o servi de impresso. cupsd: Disponibiliza o CUPS no ar. cups-config: Faz configuraes no servidor. cups.lpc, cups.lpq, cups.lpstat, cupsdoprint, cups.cancel: Servis de impresso como status, impresso, lista e cancelamento. cupsdconf: o arquivo de confogurao propriamente dito. cupsWebAdmin: Executa o Netscape para configurao via navegador. cupsaddsmb: Permite configurao para o servidor Samba. cupstestppd: Faz teste de impresso para ver se tudo est certo.

Configurando o CUPS pelo cups-config


Voc aprendeu a configurar o arquivo /etc/cups/cupsdconf agora vai achar mais fcil ainda configurar pelo modo grfico. Vamos ao nosso passo a passo: Passo 1: Abra um terminal e execute o comando cups-config e siga os procedimentos necessrios. Passo 2: Defina o nome do servidor, a senha do administrador, Qual a classificao desse servidor na rede, a padronizao dos caracteres e seu idioma, o formato de impresso e se vai ser usado printcap. Passo 3: Aqui entre outras coisas defina se vai ter busca por nome de mquina na rede. Nmero mximo de cliente nesse servidor e quais portas o servidor ficar ouvindo por requisies. Voc tambm poder configurar uma porta sua em particular. Passo 4: Se por um acaso puder existir um usurio no participante de sua rede (usurio no cadastrado) e mesmo assim voc quer permitir que ele use o servidor esse usurio poder logar-se com usurio remroot para poder ter acesso aos recursos do servidor. Passo 5: Aqui voc somente precisar confirmar onde que realmente ficaro os arquivos de log, o servidor de impresso, nmero mximo de trabalhos no servidor, nmero mximo de trabalhos por impressora, nmero mximo de trabalhos por usurio e controlar o histrico de trabalhos e remov-los da fila aps posterior impresso. Passo 6: Informe de existe um usurio em especial para usar o servidor de impresso e confirme os diretrios padro como: diretrios de dados, documentos, fontes extras, arquivos do servidor e arquivos temporrios. Passo 7: E por ltimo voc configura as opes de navegao e habilita o servidor para usar qualquer navegador com conjunto como CUPS e SLP, define a porta a ser usada, tempo de navegao, quais mquinas podem e quais no podem usar os servios do servidor e a regra de navegao que probe tudo para depois checar quem que pode alguma coisa. Pronto! Foi ou no foi fcil configurar o servidor de impresso CUPS dessa maneira? Agora voc poder ver o arquivo /etc/cups/cupsdconf para ver onde que suas alteraes feitas aqui fizeram modificaes no arquivo.

150

Global Sul Informtica

Agora algo interessante, o konqueror poder usar recursos em conjunto com o servidor CUPS e at mesmo efetuar as configuraes como adicionar e configurar impressoras. Para isso v at Configuraes Carregar perfil de navegao do Gerenciamento de arquivos. Agora clique no ltimo boto do lado esquerdo e depois clique em Sistema de Impresso. Pronto, voc tambm agora tem um novo meio de configurao de impressora. Se voc tem uma impressora mas essa no aparece na listagem do servidor, voc pode-se acessar o endereo www.linuxprinting.org e verificar se sua impressora compatvel ou no. Ou ento se voc quiser acabar mesmo com todas as suas dvidas sobre impresso em sistemas Linux, eu lhe dou essa listagem:
www.cups.org/ghostscript.php, www.cups.org/ http://printing.kde.org/, http://localhost:631/ http://cups.sourceforge.net/xpp/, http://gtklp.sourceforge.net/ www.xmlsoft.org/, http://gimp-print.sourceforge.net/ www.adobe.com/products/printerdrivers/winppd.html www.kyz.uklinux.net/cabextract.php3

Configurando a impressora pelo KDE


O que ns vimos at aqui foi como configurar o servidor de impresso e a impressora e como deix-lo no ar. Agora ns vamos aprender como que configuraremos nossa impressora pelo KDE que usar recursos do servidor CUPS ou de outros servidores. Para isso voc poder usar o centro de controle do KDE (kcontrol) ou poder ser mais direto executando o comando kaddprinterwizard. Vamos fazer isso segundo um guia visual passo a passo: Passo 1: Execute o comando mencionado e na segunda tela voc dever escolher qual o tipo de impressora voc vai instalar. Os tipos de impressoras que podemos ter so: Impressora local (Local printer), Fila remota de impresso (Remote LPD queue), Impressora compartilhada via samba para ambiente Windows/Linux (SMB shared printer), Impressora de rede (Network printer), Impressora usando servidor remoto CUPS (Remote CUPS server). O CUPS permite impresso via Internet e Impressora de rede usando IPP, ou seja possvel imprimir via Internet. Agora escolha em qual porta est sua impressora. S isso. Passo 2: Aps, voc dever escolher o fabricante o modelo de sua impressora. Caso ela no aparecer, escolha um modelo compatvel mas se mesmo assim no der certo, v at uma daquelas pginas e tente baixar o driver de sua impressora, ou veja se o fabricante tambm no dispe de um driver de impresso para Linux. Se sua impressora suportar recursos de postscript marque a opo e se usar impresso genrica (RAW), no precisar de driver de impresso. Passo 3: Aps esse procedimento voc poder clicar no boto Test para fazer um teste de impresso ou clicar no boto Settings para definir alguns ajustes como tamanho da pgina, modo de impresso etc. Passo 4: Define se vai ter mensagens de incio e fim de impresso e depois quantos dias essa impressora vai estar ativar e limite para tamanho de arquivo e de pginas. Passo 5: Agora j estamos quase terminado, s esta faltando configurar quais so os usurios que podem usar essa impressora (Allowed users)e quais no podem usar essa impressora (Denied users), e depois deveremos cadastar um nome e uma descrio para a nossa impressora, e no campo Location geralmente colocamos o IP da impressora ou o nome da mquina em que ela se encontra embora isso no seja obrigatrio. A prxima tela apresenta informaes sobre a impressora e agora terminamos de configurar nossa impressora. Viu que fcil. Pode recarregar os cartuchos e terminar sua eterna monografia. Quando voc estiver imprimindo, a caixa de dilogo que aparace o kprinter, clique em Opes do Sistema para que essa caixa se amplie e voc ter um srie de opes de controle de qualidade de impresso, criao de arquivo PDF, agendamento de impresso, escolha do servidor etc. As informaes dessa caixa de dilogo pode mudar de acordo com sua impressora, assim como acontece no ambiente Windows. Concluindo o que ns aprendemos aqui, podemos perceber que em se tratando de impresso o sistema Linux est muito bem servido. O nico detalhe que ns devemos tomar cuidado para no se perder em tantas opes assim. Use apenas um ambiente de impresso, como por exemplo o gerenciador de impresso do KDE que extremamente completo e oferece inmeras possibilidades de configurao para o usurio.

151

Treinamento Linux Administrao, Redes e Servios

Configurando o vdeo
A configurao do vdeo no sistema Linux diferente do Windows. Geralmente no Linux o usurio escolhe uma resoluo de vdeo e trabalha com ela, dificilmente ele ficar trocando os modos de vdeo, profundidade de cores, e por falar em cores parece-me que no sistema Linux as cores so mais saturadas que no Windows, ou seja elas so mais vivas, voc poder fazer um teste abrindo a mesma imagem no Windows e no Linux e fazendo uma anlise. No sistema Linux o modo grfico, ns chamamos de X ou X11 e a filosofia deste semelhante ao Windows, as operaes bsicas com janelas so iguais: fechar, arrastar, soltar, maximizar, minimizar. Alguma coisa novas e melhores voc encontrar no modo grfico dependendo de qual gerenciador voc estiver usando. Mas nada disso funcionar se voc no configurar certo a sua placa de vdeo. O modo grfico pode ser iniciado de duas maneiras: 1. Modo automtico (init 5): Usando ou o programa xdm ou kdm ou gdm que um utilitrio que vai cuidar do login no sistema, entre com o nome do usurio e senha correta e ser iniciada uma sesso X com o gerenciador escolhido por voc ou o default do seu sistema. O gdm (Gnome) e o kdm (KDE) permitem uma srie de configuraes e voc poder escolher os gerenciadores instalados. O xdm carregar um configurado por voc ou executar o default do sistema. 1. Modo manual (init 3): Atravs do comando startx, ou xinit . Aqui seu login acontece primeiro no modo texto, entrando no sistema com nome de usurio e senha. Para que voc personalize qual gerenciador de janelas voc quer que o comando startx execute edite/crie o arquivo .xinitrc que ficar no $HOME do usurio. Veja o exemplo:
# arquivo .xinitrc exec xterm & exec gimp & exec windowmaker

No exemplo o xterm e o Gimp sero carregados juntos com o gerenciador de janelas WindowMaker. Para efetuarmos a configurao de vdeo no sistema Linux simples e fcil. Em princpio um pouco diferente do ambiente Windows, no qual voc troca de resoluo e profundidade de cores dentro do prprio Windows.
DICA: Para sair do modo grfico muito fcil, combine Alt + Backspace, isso tambm til se alguma deu errado e o modo grfico carregado e aparece somente um atela cinza e mais nada, assim o Linux voltar ao modo texto (runlevel 3) a no ser que ele esteja configurado para j entrar no modo grfico (runlevel 5), ento voc dever proceder combinando Control+Alt+F2 ou F3, F4 ou uma outra console que voc tenha disponvel.

Quando estiver na console, use o comando init 3 para que o modo grfico seja derrubado, espere alguns segundos e se a console no for liberada combine Control+C que estar tudo certo. Caso voc mais de uma resoluo de cor poder mudar entre uma e outra usando a combinao Control+Alt+*, isso particularmente interessante pois h alguns jogos que usam 256 cores, no sei porque sendo que hoje a qualidade que ns usando 24 bits de cor. Depois que voc fez isso, poder usar um dos seguintes comandos: 1. Xconfigurator: Configurador padro em modo texto para o modo grfico. o mais conselhvel pois voc poder efetuar suas configuraes atrav de uma interface interativa em modo texto. 2. xf86config: Um dos primeiros configuradores, ele nos faz perguntas e ns respondemos conforme sabemos as informaes sobre o nosso hardware. Esse configurador no configura somente o vdeo, configura teclado, mouse etc. Ele no foi traduzido, mas voc encontrar uma documentao traduzida dele na Internet. 3. XF86cfg: um novo configurador chamado pela linha de comando que abre um ambiente grfico para voc fazer as configuraes, aqui tambm possvel fazer outras configuraes alm das de vdeo. A configurao muito simples, clique com o boto direito sobre o cone do monitor para configurar opes para o monitor e do mesmo modo sobre a placa de vdeo para configur-la. O modeline servir para configurar mais um monitor se necessrio e seu display bem como sua posio. Depois de fazer suas configuraes no se esquea de gravar.

152

Global Sul Informtica

H tambm o XF86Setup que faz configuraes semelhantes ao XF86cfg, mas ele no tem aparecido mais nas distribuies. E as distribuies mais recentes a configurao j d-se pelo modo grfico. Depois que voc j estiver em modo texto, bom usar uns comandos que buscam informaes sobre sua placa de vdeo e sobre o seu monitor, pois essas informaes geralmente no sabemos. Voc sabe qual a freqncia que seu monitor trabalha? Voc sabe qual a taxa de varredura (atualizao) do seu monitor? muito comun quando estamos configurando o modo X, colocarmos a famosa tela virtual, que diferente de desktop virtual. Tela virtual uma tela maior que que a rea do seu vdeo, assim quando voc chegar nas bordas deste a tela se deslocar para mostrar mais rea de tela . No incio legal mas depois aborrece e no fica produtivo. Se voc quiser retirar a tela virtual do seu ambiente grfico edito o arquivo /etc/X11/XF86Config, comente a linha correspondente a sua configurao atual que comea com Virtual e apenas comente-a com um # no inicio da linha. Ah! Desktop virtual como se fosse vrios monitores um ao lado do outro assim quando um encher de janelas voc pula para o outro e esse est limpinho. Veja isso na barra do KDE, do Gnome, do Enlightenment, IceWm, AfterStep enfim, praticamente todos os gerenciadores de janelas do Linux tem o seu Desktop virtual. Voc pode escolher mais de uma resoluo para uma mesma profundidade de cores, 1024x768 e 800x600. Caso tenha sido configurado via comando xf86config por exemplo, a tela sempre ir assumir a resoluo mais alta por padro e ao se escolher a menor, ficar com tela virtual. Depois dessas informaes hora de usar o Xconfigurator que muito simples de usar, pois a configurao ocorrer pelo modo interativo, ou seja, ele tenta encontrar de forma automtica todas as configuraes de sua mquina (monitor e placa de vdeo). Os usurios do sistema Linux geralmente escolhem qual ser a resoluo para trabalhar e fim de papo. No como no ambiente Windows, que se pode mudar a resoluo a qualquer momento. No entanto, nada o impede de escolher trs resolues e trs profundidades de cores. Para alternar entre as resolues voc poder combinar Control+Alt++ ou Control+Alt+ e para mudar entre as profundidades de cores use Control+Alt+*. Voc tambm poder carregar o modo grfico direto na profundidade de cor desejada da seguinte maneira, mas isso somente se sua placa permitir esse tipo de inicializao:
startx startx startx startx -----bbp -bbp -bbp -bbp 8 16 24 32 Para Para Para Para 8 bits de cor. 16 bits de cor. 24 bits de cor. 32 bits de cor.

As configuraes que so feitas pelo Xconfigurator so gravadas em /etc/X11/XF86Config ou /etc/X11/XF86Config-4 para o XFree 4.0.
# XFree86 4.0 configuration generated by Xconfigurator # rea do mouse e do teclado. Section "ServerLayout" Identifier "XFree86 Configured" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection # Por padro Linux no usa o xfs Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/misc" FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled" FontPath "/usr/share/fonts/default/TrueType" FontPath "/usr/share/fonts/default/URW" FontPath "/usr/X11R6/lib/X11/fonts/Type1" FontPath "/usr/X11R6/lib/X11/fonts/Speedo" FontPath "/usr/X11R6/lib/X11/fonts/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/100dpi" ModulePath "/usr/X11R6/lib/modules" EndSection

153

Treinamento Linux Administrao, Redes e Servios

# rea de carregamento de mdulos. Section "Module" Load "dbe" # Double-buffering Load "GLcore" # OpenGL support Load "dri" # Direct rendering infrastructure Load "glx" # OpenGL X protocol interface Load "extmod" # Misc. required extensions Load "freetype" Load "speedo" Load "type1" # Load "pex5" # PHIGS for X 3D environment (obsolete) # Load "record" # X event recorder # Load "xie"# X Image Extension (obsolete) EndSection # rea de modelo de teclado e layout. Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" Option "XkbModel" "abnt2" Option "XkbLayout" "br" EndSection # rea de modelo de mouse, portas e resoluo. Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Device" "/dev/mouse" Option "Protocol" "Microsoft" Option "Emulate3Buttons" "on" Option "ZAxisMapping" "4 5" EndSection # rea de informaes do monitor Section "Monitor" Identifier "SAM1035" VendorName "Unknown" ModelName "Unknown" HorizSync 30 - 61 VertRefresh 50 - 120 Option "dpms" EndSection # rea de modelo da placa de vdeo on-board. Section "Device" Identifier "SiS 620" Driver "sis" BoardName "Unknown" EndSection # rea de frame-buffer Section "Device" Identifier "Linux Frame Buffer" Driver "fbdev" BoardName "Unknown" EndSection # rea que informa a resoluo de trabalho e profundidade de cores. Section "Screen" Identifier "Screen0" Device "SiS 620" Monitor "SAM1035" DefaultDepth 16 Subsection "Display" Depth 16 Modes "1024x768" EndSubSection EndSection Section "DRI" Mode 0666 EndSection

154

Global Sul Informtica

Anotaes:

155

Treinamento Linux Administrao, Redes e Servios

Anotaes:

156

Global Sul Informtica

Captulo 9

Configurao bsica da interface de rede


Agora vamos entrar numa das partes mais interessantes do sistema Linux que a configurao da interface de rede e a rede propriamente dita. Ao contrrio de que muita gente pensa a configurao de rede TCP/IP1 no sistema Linux muito fcil e podemos efetuar uma configurao bem sucedida por diversos meios:
1. 2. 3. 4. Manual atravs da edio dos arquivos de configurao. Manual atravs de comandos de configurao. Interativa pelo modo texto. Interativa pelo modo grfico.

Ns podemos trabalhar com at 4 (quatro) placas de rede simultaneament no sistema Linux de modo bem natural e do mesmo modo que voc configura o primeiro carto de rede configura-se o restante apenas cuida o que cada configurao poder fazer: muilti IP, firewall, ADSL etc. Apesar de, nos dias de hoje praticamente todos os computares mesmo em empresas pequenas estarem conectado em rede, graas as implantaes TCP/IP feita pelo Windows, muita gente ainda no tem uma noo concreta do que e para quase serve. Uma rede a conexo de dois ou mais computadores com o objetivo de compartilhar recursos entre um computador e outro. E esses recursos podem ser: 1. Compartilhamento diretrios ou todo seu disco rgido com outros computadores/usurios da rede. Usurios acessaro seu disco rgido como se fosse um disco local. Chamamos isso de servidor de arquivos. Ah! Quando falamos em rede o termo servidor e cliente so bem comuns e fceis de ser entendido. O servidor serve algo, ou seja, se ele for servidor de arquivo o cliente que busca os arquivos poder e fazer de maneira transparente. O servidor de web, serve pginas solicitadas pelos clientes. O servidor de impresso, permite que clientes imprimam na impressora desse servidor. E por a vai. Entendeu? 3. Compartilhamento de acesso a Internet, tambm chamado de servidor Proxy. Os usurios podero navegar, ler/mandar emails, jogar (Counter Strike, Half Life, Unreal, quake 3, 4 etc) de forma fcil e segura. 4. Compartilhamento de uma impressora com outros usurios. Agora voc j sabe o que . 5. H uma srie de tipos de servidores que podemos fazer como sistema Linux isso vai depender da nossa necessidade. Uns so bem fceis de ser configurados, outros do mais trabalhos. A comunicao entre computadores em uma rede feita atravs do Protocolo de Rede. H vrios tipos de protocolos IPX, NetBEUI, TCP/IP. O Linux trabalha com todos eles porm o mais usado no mundo inteiro o TCP/IP at porque o protocolo usado na Internet. esse carinha que vamos conhecer nas prxima pginas.

O modelo base OSI


O Modelo de Referncia OSI Open Systems Interconnection, um modelo de referncia de uma arquitetura estabelecida de modo a possibilitar uma maior compatibilidade entre diferentes plataformas. O modelo OSI, criado pela ISO International Organization for Standardization, que divide a comunicao das redes em camadas essa preocupao surgiu com a necessidade de integrao entre diferentes redes de computadores. A maioria dos protocolos de implementao adotam um menor nmero de camadas, agrupando camadas as redundantes facilitando assim a compreenso embora o modelo OSI no seja difcil de se entender. No so todos os sistemas de rede que o utilizam exatamente do forma como ele oferecido. O modelo OSI dividido em 7 (sete) camadas diferentes. Toda informao a ser enviada parte da camada mais

157

Treinamento Linux Administrao, Redes e Servios

alta que a camada de Aplicao e que a de nmero sete. E segue-se ento pelas demais camadas que incluem, uma a uma, novas informaes de controle. Essas informaes de controle que so responsveis pela maior compatibilizao entre mquinas de tecnologias diferentes, e so encaminhadas juntamente com a informao real para as demais estaes da rede. A camada mais baixa determina o meio fsico atravs do qual a mensagem ir trafegar, logo percebemos que o modelo OSI, assim como outros, especifica padres de software e hardware a serem implementados pelos fabricantes. Quando a mensagem atinge o seu destino, novamente ela passa atravs das mesmas camadas, s que inversamente at chegar ao nvel mais alto. Veja a tabela seguinte para um melhor compreenso das camadas.
Modelo OSI CAMADA 7 6 5 4 3 2 1 DESCRIO Aplicao: Servios de rede Apresentao: Apresentao de dados Sesso: Estabelece o elo de comunicao entre a origem e o destino Transporte: Conecta processos em computadores diferentes Rede: Fornece o endereo de uma mquina na rede Enlace de Dados: Agrupa bits para transmisso Fisica: Hardware que compe uma rede

No modelo OSI cada camada possui tarefas especficas a serem realizadas, incluindo informaes de controle mensagem de tal forma que o n responsvel pelo seu envio, e conseqentemente o n que ir receb-la, saiba como manipul-la. Essas informaes de controle so armazenadas numa rea da mensagem chamada de cabealho (header), e podem incluir informaes de endereamento, controles que bloqueiam a sobrecarga que estaes mais lentas eventualmente sofreriam ao tentar receber mensagens provenientes de estaes mais rpidas, informaes para controle e depurao de erros e outras mais. Deve ficar entendido aqui que uma camada somente ir se comunicar com as suas camadas adjacentes, e toda informao de controle armazenada em uma camada do n que est enviando a mensagem ser utilizada na decodificao da mensagem na camada equivalente do n que est recebendo (logo, toda informao de controle armazenada durante a passagem da mensagem na camada cinco somente ser reconhecida pelo n destinatrio quando aquela estiver atravessando a camada cinco do mesmo). Muitos protocolos implementados pelos fabricantes no utilizam todas as sete camadas do modelo OSI, o TCP/IP um desses casos, o que no impede o funcionamento correto da rede. Um determinado fabricante pode considerar desnecessrio aplicar, nvel de software, toda uma srie de testes na verificao e depurao de possveis erros por considerar o meio fsico de comunicao suficientemente confivel. Isto eliminaria alguma funcionalidade, mas iria tornar o trfego da mensagem mais rpido. Normalmente, as camadas do modelo OSI so agrupadas em trs grupos:
1. Camada de Aplicao responsvel pela interface com o usurio, que corresponde camada sete; 2. Camadas para Decodificao responsveis pela traduo da linguagem humana em uma linguagem compreensvel pela mquina, onde as informaes de controle so acrescentadas informao real, que englobam as camadas seis, cinco, quatro e trs; e finalmente as 3. Camadas que providenciam a Conexo Fsica, que so as de nmero dois e um. Note que o sentido parte do emissor que so as camadas mais altas para o receptor que so as camadas mais baixas.

158

Global Sul Informtica

Informaes sobre camadas


Camada 7 Aplicao: A camada de aplicao usada para aquelas aplicaes que so especificamente escritas para percorrer a rede e tambm proporciona ao sistema operacional, servios completos para suportar aplicaes. Deve tambm providenciar todos os servios diretamente relacionados aos usurios. Camada 6 Apresentao: A camada de apresentao responsvel por codificar dados estruturados de acordo com o formato interno do transmissor a um formato adequado transmisso dos mesmos e depois decodific-los. Camada 5 Sesso: A camada de sesso permite a usurios em mquinas diferentes estabelecerem sesses entre eles. Camada 4 Transporte : A principal funo da camada de transporte aceitar dados da camada de sesso, divid-los se necessrio em unidades compactas, transferi-las camada de rede e garantir que os pedaos cheguem corretamente do outro. Camada 3 Rede: Trabalha com o controle de trfego dos dados entre todos os dispositivos da rede e permite que unidades de dados sejam transmitidos para outras redes. Camada 2 Enlace: Trabalha com verificao de erros e regulao de trfego. Camada 1 Fsica: Trabalha com a transmisso pura e simples de bits atravs de um canal de comunicao. O fluxo de dados atravs das camadas feito de acordo com a figura seguinte, ou seja, o fluxo parte da camada mais superior e vai descendo at a camada mais inferior e depois vai subindo at a camada mais superior novamente at chegar na mquina destino. :: Fluxo de dados em representao de camadas.

TCP/IP um pouco de teoria


Antes de partirmos para a configurao que eu sei que voc est doido para aprender, vamos ter um pouco de teoria, para entender com o que tudo isso funciona. Introduo ao TCP/IP A plataforma TCP/IP surgiu atravs dos trabalhos do DARPA Defense Advanced Research Projects Agency, dos Estados Unidos, em meados da dcada de 70, constituindo a ARPANET, que mais tarde se desmembrou em ARPANET, para pesquisa, e MILNET, para instituies militares. Para encorajar os pesquisadores universitrios a adotar o TCP/IP, o DARPA fez uma implementao de baixo custo, integrando-o ao UNIX, da Universidade de Berkeley (BSD), j em uso em todas as universidades americanas. Alm disso, teve-se o cuidado de definir aplicaes de rede similares s j conhecidas em Unix, como rusers e rcp. Mais tarde a NSF National Science Foundation, estimulou o seu crescimento criando a NSFNET, que ligava centros de supercomputao espalhados por todo o pas, numa rede de longa distncia, tambm com os protocolos TCP/IP. Existe um grupo chamado IAB Internet Activities Board, o qual coordena os esforos de pesquisa na rea, atravs de vrios grupos de trabalho. A documentao dos trabalhos, proposta para novos

159

Treinamento Linux Administrao, Redes e Servios

protocolos ou alterao de outros j existentes, feita atravs de artigos conhecidos como RFCs Request for Comments. Propostas ainda em estudos so chamadas de IEN Internet Engineering Notes ou Internet Drafts. Tanto as RFCs quanto as IENs so numeradas seqencialmente e em ordem cronolgica. So distribudas pelo SRI-NIC, rgo que executa vrias tarefas administrativas na Internet. Histrico do TCP/IP:
a) b) c) d) e) f) g) Criado pelo DARPA em meados de 1970. Surgimento da ARPANET e da MILNET. Integrao ao UNIX/BSD. Surgimento da NSFNET. Comit Organizador IAB. Documentao RFCs e IENs. SRI-NIC.

IP Internet Protocol
No confivel, pois a entrega no garantida, sem controle de seqenciamento, no detecta erros nem informa o transmissor. orientado a pacote connectionless, como chamado: cada pacote tratado independentemente dos outros. bem-intencionado, os pacotes s so descartados quando todos os recursos so exauridos. A unidade bsica, que o datagrama, quebrada em fragmentos para se adequar ao MTU do hardware. Apresenta o TTL Time-To-Live onde cada datagrama tem um campo que diz que aps determinado tempo o datagrama pode ser descartado. Cada gateway decrementa 1 ao receb-lo e a cada segundo, se o TTL = 0, o datagrama retornado. Compreendendo a numerao dos IPs Vamos aprender aqui como funciona a atribuio numrica para a interface de rede. Essa atribuio numrica, que chamada de nmero/endereo IP Internet Protocol, simples de ser entendida. O endereo IP so nmeros que identificam seu computador em uma rede interna (intranet) ou externa (Internet). Podemos imaginar o IP como um nmero de telefone. O IP composto por quatro bytes e a conveno de escrita dos nmeros chamada de notao decimal pontuada, pois o ponto . tambm faz parte dessa numerao. Por conveno e padronizao, cada interface que a placa de rede do computador ou roteador tem um endereo IP. Tambm permitido que o mesmo endereo IP seja usado em mais de uma interface de uma mesma mquina, mas normalmente cada interface tem seu prprio endereo IP. As redes do protocolo Internet so seqncias contnuas de endereos IPs. Todos os endereos dentro da rede tm um nmero de dgitos dentro dos endereos em comum. A poro dos endereos, que so comuns entre todos os endereos de uma rede, so chamados de poro da rede. Os dgitos restantes so chamados de poro dos hosts que podem tambm ser entendidos como mquinas. Os nmeros de bits que so compartilhados por todos os endereos dentro da rede so chamados de netmask (a famosa mscara da rede) e o papel da netmask determinar quais endereos pertencem ou no rede. Por exemplo, veja esse estudo:
Endereo do Host Mscara da Rede Poro da Rede Poro do Host Endereo da Rede Endereo Broadcast = = = = = = 192.168.150.24 255.255.255.0 192.168.150. .24 192.168.150.0 192.168.150.255

Classes de rede IP
Por razes administrativas, aps algum pouco tempo no desenvolvimento do protocolo IP alguns grupos arbitrrios de endereos foram formados em redes que foram agrupadas no que foram chamadas de classes. Essas classes armazenam um tamanho padro de redes que podem ser usadas. Sobre o endereamento IP podemos entender:
a) Distribudos pelo SRI-NIC. b) Representados em notao decimal.

160

Global Sul Informtica

c) Intervalo de 0.0.0.0 a 255.255.255.255. d) A mscara separa parte rede da parte mquina e segue o mesmo padro numrico do nmero IP. e) Endereo de rede e de mquina com valor 0 (zero) so invlidos. f) O 127.0.0.0 reservado para teste de loopback (mquina local). g) Pores do endereo formada por 1's considerada um broadcast. h) So divididos em classes para melhor compreenso e resoluo de problemas. i) Todos pertencem ao protocolo IPV4, mas o IPV6 j est sendo implantado.

Como os endereos IP codificam a rede e a mquina dentro da rede, eles no especificam uma mquina, mas sim uma conexo rede. A temos um problema: Se uma mquina muda de uma rede para outra, o seu endereo IP tambm deve mudar. O endereo IP broadcast mapeado ao broadcast do hardware. Os gateways usam o endereo de rede para o roteamento de datagramas IP. A parte mquina do endereo identifica unicamente uma estao dentro de uma rede especfica. As faixas alocadas para redes vlidas (Internet) so:
CLASSE A B C MSCARA DE REDE 255.0.0.0 255.255.0.0 255.255.255.0 ENDEREO 0.0.0.0 127.255.255.255 128.0.0.0 191.255.255.255 192.0.0.0 233.255.255.255 224.0.0.0 239.255.255.255

MULTICAST 240.0.0.0

As faixas alocadas para redes invlidas (intranet, sua rede) so:


CLASSE A B C MSCARA DE REDE 255.0.0.0 255.255.0.0 255.255.255.0 ENDEREO 10.0.0.0 10.255.255.255 172.16.0.0 172.31.255.255 192.168.0.0 192.168.255.255

DICA: Para evitar problemas futuros, voc deve decidir primeiramente qual ser a largura de sua rede e ento escolher a classe de rede que ser usada. Desse modo a administrao muito mais fcil de ser realizada.

Na implementao atual, que o IPv4 (Internet Protocol v. 4.0) de nmeros IP, os nmeros consistem em 4 bytes (8 bits) dando um total de 32 bits de informao disponvel. Isso resulta em nmeros que so especialmente grandes (mesmo quando escritos em numerao decimal). Ento, para leitura e razes organizacionais, os nmeros IP so usualmente escritos na notao quaternria. O nmero IP 192.168.1.24 um exemplo disso: quatro nmeros (decimais) separados por . (pontos). Ento descobrimos que o nmero IP um nmero gigante, por assim dizer, de 32 bits divididos em quatro partes de 8 bits. Como cada um desses quatro nmeros a representao decimal de um byte de 8 bits, cada um dos quatro nmeros pode variar de 0 a 255 (isso abrange 256 valores e lembre-se de que zero tambm um valor). Adicionalmente, parte do nmero IP de um servidor identifica a rede na qual o servidor reside, e os bits restantes do nmero IP identificam o servidor, a interface de rede. Exatamente quantos bits so usados pela rede ID e quantos so disponveis para identificar servidores (interfaces) nesta rede, determinase classe de rede como j podemos constatar pelas tabelas anteriores.

161

Treinamento Linux Administrao, Redes e Servios

A camada TCP/IP
Como ns j sabemos o termo protocolo TCP/IP utilizado como designao comum para uma famlia de protocolos de comunicao de dados, sendo que o Transmission Control Protocol TCP, e o Internet Protocol IP, so apenas dois deles. O protocolo TCP/IP apresentado em 4 (quatro) camadas conforme tabela seguinte.
TCP/IP CAMADA 4 3 2 1 DESCRIO Aplicao Transporte Internet Rede

Uma arquitetura de rede definida pelas camadas ou nveis que a compem, pela interface entre essas camadas e pelas regras de comunicao entre camadas de mesmo nvel em mquinas distintas, regras estas conhecidas como protocolo. Isso importante pois o objetivo dessa diviso em camadas permitir a modularizao do programa/aplicativo, permitindo que as alteraes sejam localizadas e transparentes aos outros nveis no afetados. Quando um programador desenvolve um sistema multiusurio cliente/servidor, seu aplicativo usa todas essas camadas mas nem por isso ele precisa ser doutro nesse assunto, apenas precisa dominar seu programa no nvel da aplicao, pois o restante feito pelo prprio hardware e tambm o aplicativo em conjunto com o sistema operacional em uso. Os mdulos de software de protocolo em cada mquina podem ser representados como camadas empilhadas. Cada camada cuida de uma parte do problema, e pelo menos no to difcil de ser entendido. Existem duas regras importantes para o entendimento da diviso do software de rede em camadas: A camada inferior fornece servios camada superior, aqui as coisas comeam por baixo e vai subindo. O protocolo de nvel N no n destino tem que receber o mesmo objeto enviado pelo protocolo de nvel N no n origem. Conforme voc pode observar na tabela anterior, a arquitetura TCP/IP possui apenas 4 (quatro) nveis, mas so os 7 (sete) nveis do modelo OSI: O nvel 1 a interface de rede, o nvel 2 camada Internet ou camada IP, o nvel 3 a camada de transporte e o nvel 4 a camada da aplicao. Compare as duas tabelas OSI x TCP/IP mas lembre-se que o modelo OSI o que serve de referncia.
Modelo OSI CAMADA 7 6 5 4 3 2 1 DESCRIO Aplicao Apresentao Sesso Transporte Rede Enlace Fisica 1 Rede 3 2 Transporte Internet 4 Aplicao TCP/IP CAMADA DESCRIO

Quando voc se refere ao nvel 1, voc est trabalhando com o meio de comunicao, utilizando endereos fsicos, ou seja, a parte hardware dessa histria toda. Os nveis 2 e 3 so incorporados ao sistema operacional, deixe que ele cuide disso. O nvel 4 pode ser escrito por usurios (programados, analistas etc). Os nveis 2,3 e 4 usam endereos IP. Voc perce claramente a transposio de camadas do modelo OSI e do TCP/IP. Alguns autores chamam a camada 2 do TCP/IP de camada inter-rede.

162

Global Sul Informtica

Resumo das trs classes de nmeros IP:


Classe A A classe A de nmeros de rede IP usa os 8 bits mais a esquerda (o quarto mais esquerda) para identificar a rede, deixando 24 bits (os trs quartos restantes) para identificar as interfaces de servidores nesta rede. Endereos classe A sempre tm o bit mais esquerda do byte mais esquerda zero (este um valor decimal de 0 a 127 do primeiro quarto). Ento, existe um mximo de 128 nmeros de rede classe A disponveis, com cada um deles contendo at 33.554.430 possveis interfaces. Contudo, as redes 0.0.0.0 (conhecidas como rota padro) e 127.0.0.0 (a rede de repasse) tm significados especiais e no esto disponveis para uso para identificar redes. Logo, existem somente 126 nmeros disponveis de rede classe A. Classe B A classe B de nmeros de rede IP usa os 16 bits mais esquerda (os dois quartos mais a esquerda) para identificar a rede, deixando 16 bits (os dois ltimos quartos) para identificar interfaces de servidores. Endereos da classe B sempre tm os 2 bits mais esquerda do byte mais esquerda determinado para 1 0. Isso deixa 14 bits para especificar o endereo de rede dando 32.767 redes de classe B disponveis. A rede de classe B tem, desta forma, uma gama de 128 a 191 para o primeiro dos quartos, com cada rede contendo at 32.766 interfaces possveis. Classe C Os nmeros de rede IP da classe C usam os 24 bits mais esquerda (os trs bytes mais esquerda) para identificar a rede, deixando 8 bits (o byte mais direita) para identificar as interfaces de mquina. Endereos da classe C sempre iniciam com os 3 bits mais esquerda determinados para 1 1 0 ou uma gama de 192 a 255 para o quarto mais esquerda. Assim sendo, existem 4.194.303 nmeros de rede classe C disponveis, cada um contendo 254 interfaces (as redes classe C com o primeiro byte maior que 223 so contudo reservadas e indisponveis para uso).

ICMP Internet Control Message Protocol


ICMP permite que gateways enviem mensagem de erro ou de controle para outros gateways ou mquinas e prov comunicao entre o protocolo Internet (IP) em uma mquina e o IP em outra. Porm, muitas vezes no ajuda a localizar onde est o erro, pois ele responde apenas a mquina que originou o pacote errneo e o erro pode estar em algum gateway no caminho. Pode ser perdido como qualquer outro pacote IP. Como que isso funciona Todo computador precisa ter um nome (gabriel, adilson, mitinik etc), pertencer a um domnio (edfutura.com.br, uol.com.br, terra.com.br etc) ou a um grupo de trabalho (Linux, Windows, UNIP etc), precisa tambm ter uma numerao IP (10.6.12.250, 200.213.197.183 etc), precisa tambm se necessrio de um servidor DNS que tambm vai ter nome, dominio, IP etc. Se necessrio mais uma vez, vai precisar de um gateway, ou seja, um outro micro que vai fazer a ponte entre ele uma outra rede ou a Internet. Bom, sabendo de todas essas coisas, acho que voc j percebeu que se voc quiser instalar uma mquina Linux em uma rede TCP/IP existente ento voc precisar saber ou definir o seguinte:
Endereo IP de sua mquina + dominio Endereo IP da rede Endereo IP de broadcast Mscara da Rede IP Endereo do Roteador Endereo do Servidor de Nomes (DNS)

Analogia do OSI com o TCP/IP: A seguir voc tem a tabela completa de comparao de funcionamento entre o modelo OSI e o Modelo TCP/IP, perceba que a compreenso entre ambos muito simples, precisando apenas de alguns minutos de estudos.

163

Treinamento Linux Administrao, Redes e Servios

COMPARAO DO OSI COM A PILHA DE PROTOCOLOS TCP/IP


N OSI Nome da camada OSI N TCP/IP Nome da camada TCP/IP Unidades de encapsulamento Protocolos TCP/IP em cada camada TCP/IP Utilitrios TCP

7 6 5 4 3 2 1

Aplicao

4
Apresentao Sesso Transporte Rede Enlace de dados (LLC e MAC) Fsica

Aplicao

Dados

FTP, HTTP usam o TCP como transporte SMTP, DNS e TFTP Telnet, Rlogin usam o UDP como transporte TCP ou UDP

3 2 1

Transporte Internet Rede (interface)

Segmentos Pacotes (datagramas) Quadros Bits

IP, ICMP, ARP, RARP

Ping, Traceroute

Topologia de redes
Elaborar um projeto de rede no apenas ter os cabos, os hubs, os switches e sair ligando um no outro. Primeiro preciso um estudos, para ver desde quantos metros de cabos vo ser gastos at qual a melhor estratgia de posicionamento dos computadores. Esse estudo chama-se topologia de rede, e o que vamos aprender agora.

Topologia em Estrela
Neste tipo de rede, todos os usurios comunicam-se com uma estao (nodo) central a qual tem o controle de superviso do sistema, essa estao central, pode ser chamada de host. Atravs dessa estao os usurios podem se comunicar entre si e com processadores remotos ou terminais. A disposio em estrela a melhor escolha se o padro de comunicao da rede for de um conjunto de estaes secundrias que se comunicam com a estao central. Vai que ocorre uma falha em uma estao ou no elo de ligao com a estao central, apenas esta estao vai ficar fora de operao. Mas, vai que a falha ocorre na estao central, ento todo o sistema pode ficar fora do ar. O desempenho obtido numa rede em estrela depende da quantidade de tempo requerido pela estao central para processar e encaminhar mensagens, e da carga de trfego de conexo, ou seja, limitado pela capacidade de processamento da estao central. Esta configurao facilita o controle da rede e a maioria dos sistemas de computao com funes de comunicao possuem um aplicativo que implementa esta configurao. :: Topologia em estrela.

164

Global Sul Informtica

Topologia em Barra
Nesta configurao todos as estaes se interligam ao mesmo meio de transmisso. A barra geralmente compartilhada em tempo e freqncia, permitindo transmisso de informao. Nas redes em barra comum, cada n conectado barra pode ouvir todas as informaes transmitidas. Esta caracterstica facilita as aplicaes com mensagens do tipo difuso (para mltiplas estaes ao mesmo tempo). Existem uma variedade de tipos de mecanismos para o controle de acesso barra pode ser centralizado ou descentralizado. A tcnica adotada para acesso rede a multiplexao no tempo. Em controle centralizado, o direito de acesso determinado por uma estao especial da rede. Em um ambiente de controle descentralizado, a responsabilidade de acesso distribuda entre todas as estaes. Nas topologias em barra, as falhas no causam a parada total do sistema. O desempenho de um sistema em barra comum determinado pelo meio de transmisso, nmero de estaes conectadas, controle de acesso, tipo de trfego entre outros fatores. O tempo de resposta pode ser altamente dependente do protocolo de acesso utilizado. :: Topologia por barramento.

Topologia em Anel
A topologia de rede em anel consiste de estaes conectadas atravs de um caminho fechado onde nessa configurao, muitas das estaes remotas ao anel no se comunicam diretamente com o computador central. As redes em anel so capazes de transmitir e receber dados em qualquer direo, mas as configuraes mais usuais so unidirecionais, de forma a tornar menos sofisticado os protocolos de comunicao que asseguram a entrega da mensagem corretamente e em seqncia ao destino. Quando um mensagem enviada por um nodo, ela entra no anel e circula at ser retirada pelo n destino, ou ento at voltar ao n fonte, dependendo do protocolo empregado. O ltimo procedimento mais desejvel porque permite o envio simultneo de um pacote para mltiplas estaes. Outra vantagem a de permitir a determinadas estaes receber pacotes enviados por qualquer outra estao da rede, independentemente de qual seja o n destino. Os maiores problemas desta topologia so relativos a sua pouca tolerncia a falhas. Qualquer que seja o controle de acesso empregado, ele pode ser perdido por problemas de falha e pode ser difcil determinar com certeza se este controle foi perdido ou decidir qual n deve recri-lo. Erro de transmisso e processamento podem fazer com que uma mensagem continue eternamente a circular no anel. Esta configurao requer que cada nodo seja capaz de remover seletivamente mensagens da rede ou pass-las adiante para o prximo n. Nas redes unidirecionais, se uma linha entre dois nodos cair, todo sistema sai do ar at que o problema seja resolvido. Se a rede for bidirecional, nenhum ficar inacessvel, j que poder ser atingido pelo outro lado.

165

Treinamento Linux Administrao, Redes e Servios

:: Topologia em anel.

Sistema Linux, a configurao


Bom, agora que ns j temos uma boa base terica do funcionamento de uma rede e seus protocolos, vamos por a mo na massa. Caso voc queira se aprofundar em redes eu lhe aconselho as seguintes literaturas:
Redes de Computadores, Andrew S. Tanenbaum/Editora Campus. Guia Completo de Cabeamento de Redes , Jos Maurcio Pinheiro / Editora Campus. Networking Redes de Computadores: Teoria e Prtica, Bruce A. Halberg / Editora Alta Books. Redes de Computadores: da Ethernet Internet, Alexandre Fernandes de Moraes e Antonio C. Cirone / Editora rica. Protocolos e Aplicaes para Redes de Computadores, Claude Falbriard / Editora rica. Utilizando na Prtica: Internet e Redes de Computadores, Almir Wirth / Editora Alta Books. Projeto E Arquitetura De Redes, J. F. Dimarzio / Editora Campus. Redes de Computadores (Curso completo), Gabriel Torres / Editora Axcel.

Voc vai descobrir agora nessas prximas pginas que super simples (agora) a configurao de uma rede no sistema Linux. Voc pode fazer efetuar a configurao editando os arquivos de configurao e depois derrubando e levantando processos, pode efetuar uma configurao via modo texto interativo e tambm pelo modo grfico. Voc vai aprender todos eles, prepare-se. Para que o Linux funcione em uma rede voc vai precisar das seguintes informaes, o item 5 e 6 no ser necessrio se voc no os tiver:
1. 2. 3. 4. 5. 6. Endereo IP de sua mquina. Endereo IP da rede. Endereo IP de broadcast. Mscara da Rede IP. Endereo do Roteador. Endereo do Servidor de Nomes (DNS).

A interface de rede
A interface de rede nada mais do que o seu carto ou a sua placa de rede. Todas as interfaces de rede Linux esto no diretrio /dev e a maioria criada dinamicamente pelos aplicativos quando so requisitadas. Um desses casos a interfaces ppp e plip que so criadas dinamicamente pelos aplicativos quando precisam efetuar uma conexo. Veja a identificao de algumas interfaces de rede no Linux.
eth0, eth1...: Placa de rede Ethernet e WaveLan. ppp0, ppp1...: Interface de rede PPP (protocolo ponto a ponto). slip0, slip1...: Interface de rede serial. eql: Balanceador de trfego para mltiplas linhas.

166

Global Sul Informtica

plip0, plip1...: Interface de porta paralela. arc0e, arc1s..: Interfaces Arcnet. fddi?: Interfaces de rede FDDI. nr0: Interface Net Rom.

Para maiores detalhes sobre essas interfaces, leia o documento NET3-4-HOWTO do Linux, ele tem informaes bem mais completas sobre elas.

A interface loopback
Quando voc instala o sistema Linux, mesmo que seja em um nico computador e esse no tem acesso a nem um outro, mesmo assim ele comporta-se como se estivesse em rede pois essa a naturaza do sistema. A interface loopback um tipo especial de interface que permite fazer conexes com voc mesmo, ou seja, looback voc. Para que serve isso, simples, serve para testar conexes, alguns programas precisa estar em rede digamos assim usam a interface loopback, assim, por exemplo, voc pode testar vrios programas de rede sem interferir com ningum em sua rede. O endereo IP 127.0.0.1 foi escolhido especificamente para a loopback, at mesmo o Windows tem esse endreo, meio camuflado mas tem. Assim se abrir uma conexo telnet, ftp, ssh parao loopback (127.0.0.1), abrir uma conexo para o prprio computador local. A abreviao de loopback lo, e o seu micro local voc poder chamar de localhost e o seu dominio local voc poder chamar de localdomain. A configurao da interface loopback super simples e normalmente feita pelos scripts padres de inicializao existentes em sua distribuio. Porm se voc quiser configur-la via linha de comando use:
# ifconfig lo 127.0.0.1

Pronto, com o comando ifconfig voc acabou bem rapidino de atribuir o IP 127.0.0.1 para a interface loopback e para o sei localhost. Mas isso no quer dizer que ela esteja nor ar. Para isso voc dever digitar:
# ifconfig lo up

Esse comando levanta o loopback e


# ifconfig lo down

Esse comando derruba o loopback. Seguindo essa idia, voc poder fazer isso para qualquer interface em seu sistema, eth0, eth1, ppp0, ppp1 etc.

DICA: Caso voc queira usar algum aplicativo de rede: telnet, ssh, ftp, samba etc eles somente funcionaro se a interface estiver no ar.

Para testar se o loopback est configurado use o comando ifconfig lo:


lo Encapsulamento do Link: Loopback Local inet end.: 127.0.0.1 Masc:255.0.0.0 UP LOOPBACKRUNNING MTU:16436 Mtrica:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 colises:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

O uso do comando ifconfig pode ser entendido da seguinte maneira: ifconfig interface [aftype] opes | endereos. Onde interface a interface de rede que voc deseja configurar como eth0, eth1 etc. O [aftype] o parmetro que voc dever passar para o comando. As opes so endereos, ou seja, o nome ou endereo IP da mquina (um nome de mquina ser traduzido para um endereo IP) da interface. Esse parmetro necessrio, apesar da sintaxe atualmente no requisit-lo.

167

Treinamento Linux Administrao, Redes e Servios

Veja um exemplo de configurao com o comando ifconfig:


# ifconfig eth0 192.168.150.5 netmask 255.255.255.0 broadcast 192.168.150.5 up

Caso o seu sistema no inicie as configuraes de rede automaticamente, voc dever colocar o comando acima nos arquivos de inicializao de sua distribuio que ficam em /etc/rc.d/ e dever usar o comando ntsysv para habilitar as seguintes opes (o que necessrio para voc):
a) b) c) d) e) d) inet: Cuida dos servios de rede. network: a rede em si. httpd: Servidor web bsico se for usar recursos via browser. smd: Se for usar o servidor Samba. portmap e nfs: Se for usar NFS. sshd: Se for usar SSH em conexes.

Os principais arquivos
Primeiramente, precisamos saber quem so e onde esto esses arquivos mgicos de configurao. a) /etc/hosts Esse arquivo guarda o IP, o nome+domnio e o apelido de uma mquina na rede e um comentrio para ela. importante para uma pequena empresa cadastrar suas mquinas nesse arquivo, pois ele ser lido antes de partir para um DNS da vida. Exemplo:
127.0.0.1 10.6.12.1 10.6.12.2 10.6.12.3 10.6.12.4 10.6.12.5 10.6.12.6 localhost mygateway.hackers.net mydns.hackers.net adilson.hackers.net gabriel.hackers.net sonizia.hackers.net mitnick.hackers.net mygateway mydns adilson # gabriel # sonizia # mitnick # # Gataway # DNS Server Mutibetter Extends MyLove TheHacker

b) /etc/resolv.conf Esse arquivo guarda o IP da mquina servidora e outro IP onde dever ser feita uma busca quando se tratar de DNS ou acessos externos da sua rede. Esse arquivo o resolvedor de nomes, nele voc voc colocar o endereo de servidores DNS externos. Voc poder passar trs informaes que so: 1. domain: Especifica aqui qual o nome do domnio local. 2. search: Especifica aqui uma lista de nomes de domnio alternativos quando efetuando uma procura por um computador, separados por espaos. A linha search pode conter no mximo 6 domnios ou 256 caracteres. 3. nameserver: Especifica aqui o endereo IP de um servidor de nomes de domnio para resoluo de nomes. Exemplo:
domain ns1.gsi.edu.br search ns1.gsi.edu.br globalsul.com nameserver 200.213.197.183 nameserver 200.213.197.183

c) /etc/host.conf Esse arquivo o local onde possvel configurar alguns tens que gerenciam o cdigo do resolvedor de nomes. Exemplo:
order hosts,bind multi on

Este arquivo informa ao resolvedor de nomes para checar o arquivo /etc/hosts antes de tentar verificar um servidor de nomes e retornar um endereo IP vlido para a mquina procurada e multi on

168

Global Sul Informtica

retornar todos os endereos IP resolvidos no arquivo /etc/hosts ao invs do primeiro. Podemos ainda adicionar alguns parmetros para evitar ataques de IP spoofing (roubo de IP):
nospoof on spoofalert on

O parmetro nospoof on ativa a resoluo reversa do nome da biblioteca resolv (para checar se o endereo pertence realmente quele nome) e o spoofalert on registra falhas desta operao no syslog (lembre-se deixar esse servio ativo). d) /etc/HOSTNAME ou /etc/hostname Esse arquivo guarda o nome da mquina que voc est configurando. Quando voc usa o comando hostname a leitura ser feita nesse arquivo. Exemplo:
adilson.hackers.net

e) /etc/sysconfig/networks Esse arquivo tem uma funo similar ao arquivo /etc/hosts. Ele guarda um banco de dados simples de nomes de redes contra endereos de redes. Ele guarda o nome da rede e o IP dessa. Exemplo:
loopnet edfuturanet bonannet 127.0.0.0 213.197.183 10.6.12.1

Quando voc usar o comado route, ser verificado se o destino uma rede e esta rede se encontra no arquivo /etc/networks, ento o comando route mostrar o nome da rede ao invs de seu endereo. f) /etc/sysconfig/network-scripts/ifcfg-lo Esse arquivo informa o dispositivo local, que o seu micro (DEVICE=lo), o endereo local padro dele (IPADDR=127.0.0.1), a mscara de rede para esse endereo (NETMASK=255.0.0.0), o endereo de rede (NETWORK=127.0.0.0), o broadcast (BROADCAST=127.255.255.255), se sempre estar ativa (ONBOOT=yes) e o nome para a interface (NAME=loopback). Exemplo:
DEVICE=lo IPADDR=127.0.0.1 NETMASK=255.0.0.0 NETWORK=127.0.0.0 BROADCAST=127.255.255.255 ONBOOT=yes NAME=loopback

f) /etc/sysconfig/network-scripts/ifcfg-etho Esse arquivo informa o dispositivo da interface, que o seu micro (DEVICE=eth0), se sempre estar sempre ativa (ONBOOT=yes), se precisa de protocolo especial para boot (BOOTPROTO=none), o endereo padro IP configurado da interface (IPADDR=10.0.0.5), a mscara de rede para esse endereo (NETMASK= 255.255.255.0) e o gateway que poder ser a sua mquina ou um servidor DNS (GATEWAY=10.6.12.1). As configuraes da sua primeira placa de rede ou interface de rede que chamada de eth0 ficam armazenadas em /etc/sysconfig/network-scripts/ifcfg-eth0. Exemplo:
DEVICE="eth0" ONBOOT="yes" BOOTPROTO="none" IPADDR="10.6.12.150" NETMASK="255.255.255.0" GATEWAY=10.6.12.1

g) /etc/protocols Esse arquivo guarda todos os protocolos que sua rede Linux poder usar para efetuar comunicao em uma rede interna e externa. Exemplo:

169

Treinamento Linux Administrao, Redes e Servios

# # # # # # # #

/etc/protocols: $Id: protocols,v 1.1 1995/02/24 01:09:41 imurdock Exp $ Internet (IP) protocols from: @(#)protocols 5.1 (Berkeley) 4/17/89 Updated for NetBSD based on RFC 1340, Assigned Numbers IP # internet protocol, pseudo protocol number ICMP # internet control message protocol IGMP # Internet Group Management GGP # gateway-gateway protocol ST # ST datagram mode TCP # transmission control protocol EGP # exterior gateway protocol PUP # PARC universal packet protocol UDP # user datagram protocol HMP # host monitoring protocol 22 XNS-IDP # Xerox NS IDP RDP # "reliable datagram" protocol 29 ISO-TP4 # ISO Transport Protocol class 4 XTP # Xpress Tranfer Protocol DDP # Datagram Delivery Protocol 39 IDPR-CMTP # IDPR Control Message Transport RSPF #Radio Shortest Path First. VMTP # Versatile Message Transport OSPFIGP # Open Shortest Path First IGP IPIP # Yet Another IP encapsulation ENCAP # Yet Another IP encapsulation

ip 0 icmp 1 igmp 2 ggp 3 st 5 tcp 6 egp 8 pup 12 udp 17 hmp 20 xns-idp rdp 27 iso-tp4 xtp 36 ddp 37 idpr-cmtp rspf 73 vmtp 81 ospf 89 ipip 94 encap 98

h) /etc/services Esse arquivo guarda todos os servios que a mquina loval poder usar, conhecido como mapeamento de servios. Cada servios est disponibilizado em uma porta, que poder estar ouvindo (listen) pedidos de conexes de usurios. Caso voc no queira disponibilizar um servio momentaneamente mas precisa da rede no ar, edite esse arquivo e comente # a linha do servio que voce quer desabilitar naquele momento. A seguir parte co arquivo, para que voc entenda seu contedo pois ele muito extenso. Exemplo:
# /etc/services: # $Id: services,v 1.4 1997/05/20 19:41:21 tobias Exp $ # # Network services, Internet style # tcpmux 1/tcp # TCP port service multiplexer tcpmux 1/udp compressnet 2/tcp # Management Utility compressnet 2/udp compressnet 3/tcp # Compression Process compressnet 3/udp echo 7/tcp # Echo echo 7/udp ... systat11/tcp users # Active Users systat11/udp users ... ftp-data 20/udp ftp 21/udp # File Transfer [Control] ftp 21/tcp #fsp 21/udp fspd ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp telnet23/tcp # Telnet telnet 23/udp # # smtp 25/tcp mail # Simple Mail Transfer smtp 25/udp mail sql*net 66/tcp # Oracle SQL*NET sql*net 66/udp bootps67/tcp # BOOTP server

170

Global Sul Informtica

gopher70/tcp # Internet Gopher gopher70/udp ... finger 79/tcp # Finger finger 79/udp www-http 80/tcp www http # WorldWideWeb HTTP www-http 80/udp www http hosts2-ns 81/tcp # HOSTS2 Name Server hosts2-ns 81/udp ... kerberos 88/tcp kerberos5 krb5 # Kerberos v5 kerberos 88/udp kerberos5 krb5 # Kerberos v5 ... linuxconf 98/tcp # Linuxconf web interface ... hostnames 101/tcp hostname # usually from sri-nic hostnames 101/udp hostname ... pop-2 109/tcp postoffice # POP version 2 pop-2 109/udp postoffice pop-3 110/tcp pop3 # POP version 3 pop-3 110/udp sunrpc111/tcp portmapper # RPC 4.0 portmapper TCP sunrpc111/udp portmapper ... ntp 123/tcp # Network Time Protocol ntp 123/udp ... netbios-ns 137/tcp # NETBIOS Name Service netbios-ns 137/udp netbios-dgm 138/tcp # NETBIOS Datagram Service netbios-dgm 138/udp netbios-ssn 139/tcp # NETBIOS session service netbios-ssn 139/udp sql-net 150/tcp # SQL-NET sql-net 150/udp ... vmnet 175/tcp # VMNET vmnet 175/udp ... https 443/tcp # MCom https 443/udp # MCom cups 631/tcp # cups cups 631/udp doom 666/tcp # doom Id Software doom 666/tcp # doom Id Software lotusnote 1352/tcp # Lotus Note lotusnote 1352/udp # Lotus Note linx 1361/tcp # LinX linx 1361/udp # LinX ms-sql-s 1433/tcp # Microsoft-SQL-Server ms-sql-s 1433/udp # Microsoft-SQL-Server ms-sql-m 1434/tcp # Microsoft-SQL-Monitor ms-sql-m 1434/udp # Microsoft-SQL-Monitor ... mysql 3306/tcp # (not in RFC1700) MySQL mysql 3306/udp # (not in RFC1700) MySQL ...

Bom, acho que com esse arquivo exemplo j d para entender como que funciona, coisa que muito simples. Nesse arquivo cada coluna separada por uma tabulao ou por espao, isso vai depender de como voc edita esse arquivo, significa o seguinte: a) Coluna 1 Nome do servio: o nome que o daemon (processo) usar quando estiver no ar. b) Coluna 2 Porta: Nmero de porta como se fosse o nmero de uma casa em uma rua, sendo o nome do sistema de computadores, o nome da rua. Normalmente, a porta um nmero bem conhecido que est associado a um servio particular. c) Coluna 3 Protocolo: O protocolo especifica a forma atravs da qual o servio pode ser alcanado e como a comunicao entre o cliente e o servidor efetuada. Geralmente isso tcp para conexes e udp para mensagens.

171

Treinamento Linux Administrao, Redes e Servios

d) Coluna 4 Aliases para servio: O servio pode ser conhecido por outros nomes. Eles so especificados aqui.

DICA: As portas conhecidas vo at 1.024 depois dessas at a porta 65.535 voc poder usar a porta que quiser e nome-las a gosto. Mas cuidado com programas que usam portas acima de 1.024 para que no entrem em conflito com as que voc definir.

So exemplos de servis de rede com suas respectivas portas:


Porta Porta Porta Porta Porta Porta Porta 21: FTP transferncia de arquivos. 23: Telnet terminal virtual remoto. 25: Smtp envio de e-mails. 53: DNS resolvedor de nomes. 79: Finger detalhes sobre usurios do sistema. 80: Http www transferncia de pginas da web. 110: Pop-3 recebimento de mensagens.

i) /etc/inetd.conf Esse arquivo cuida dos servios que so carregados para a memria somente quando so solicitados. H um processo (daemon) que chamado inetd que l as configuraes deste arquivo e permanece residente na memria, esperando pela conexo das mquinas clientes, se uma conexo solicitada, o daemon inetd verifica as permisses de acesso nos arquivos /etc/hosts.allow e /etc/hosts.deny e carrega o programa servidor correspondente no arquivo /etc/inetd.conf. Um arquivo tambm importante neste processo o /etc/services que faz o mapeamento das portas e nomes dos servios o qual ns j vimos. Alguns programas servidores como o caso de servidores ftp, telnet, talk, etc oferecem a opo de serem executados como daemons ou atravs do do arquivo /etc/inetd.conf. recomendvel escolher inetd se o servio no for solicitado freqentemente. Para habilitar um servio, descomente a linha que ele se encontra. Veja a seguir uma listagem desse arquivo:
... #echo stream tcp nowait root internal #echo dgram udp wait root internal #discard stream tcp nowait root internal #discard dgram udp wait root internal #daytime stream tcp nowait root internal #daytime dgram udp wait root internal #time stream tcp nowait root internal #time dgram udp wait root internal # # These are standard services. # #ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a #telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd # # Shell, login, exec, comsat and talk are BSD protocols. # #shell stream tcp nowait root /usr/sbin/tcpd in.rshd #login stream tcp nowait root /usr/sbin/tcpd in.rlogind #exec stream tcp nowait root /usr/sbin/tcpd in.rexecd #comsat dgram udp wait root /usr/sbin/tcpd in.comsat #talk dgram udp wait root /usr/sbin/tcpd in.talkd #ntalk dgram udp wait root /usr/sbin/tcpd in.ntalkd #dtalk stream tcp wait nobody /usr/sbin/tcpd in.dtalkd # # Pop and imap mail services et al # #pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d #pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d #pop3s stream tcp nowait root /usr/sbin/ipop3d ipop3d #imap stream tcp nowait root /usr/sbin/tcpd imapd #imaps stream tcp nowait root /usr/sbin/imapd imapd # ... ...

172

Global Sul Informtica

# # Authentication # auth stream tcp nowait nobody /usr/sbin/in.identd in.identd -l -e -o # # Linuxconf Web Interface: # linuxconf stream tcp wait root /bin/linuxconf linuxconf http # # End of inetd.conf

Os mdulos da interface de rede


No sistema Linux ns temos os mdulos que podem ser derrubados e levantados, ou seja, eles funcionam de modo semelhante aos drivers do ambiente Windows, mas com a diferena de que aqui voc pode us-los apenas quando precisar realmente deles, tornando-se assim um melhor gerenciamento. Por exemplo, se voc s vai usar o zip-drive no final do expediente, por que ento ficar com ele carregado e gastando memria o dia inteiro? Levante-o apenas no fim da tarde e faa o seu backup, entendeu? Mdulo kmod (KDE): Este o programa usado para carregar os mdulos automaticamente quando so requeridos pelo sistema. Ele um processo (daemon) que funciona constantemente fazendo a monitorao. Quando verifica que algum dispositivo ou programa est solicitando o suporte a algum dispositivo, ele carrega o mdulo correspondente. Exibindo informaes sobre mdulos O relacionando de mdulos feito com o comando lsmod. Se voc quiser saber quais mdulos esto carregados, basta usar o comando que relaciona quais mdulos esto carregados atualmente pelo kernel. A listagem feita pelo comando lsmod uma alternativa ao uso do comando cat/proc/modules, onde tambm voc encontrar informaes sobre mdulos no seu sistema. O diretrio /proc no existe fisicamente gravado em seu sistema, ele na verdade um diretrio lgico montado pelo kernel para gerenciamento de um monte de informaes. Veja o comando lsmod em ao:
Module appletalk ipx sis900 nls_iso8859-1 nls_cp437 vfat fat i810_audio soundcore ac97_codec w9968cf videodev lvm-mod usb-ohci usbcore ext3 jbd ide-disk ide-probe-mod ide-mod Size Used by Not tainted 23492 1 (autoclean) 19748 1 (autoclean) 14028 1 (autoclean) 3452 1 (autoclean) 5084 1 (autoclean) 11404 1 (autoclean) 34520 0 (autoclean) [vfat] 21896 0 5892 2 [i810_audio] 11880 0 [i810_audio] 19808 0 (unused) 7488 0 [w9968cf] 57664 0 18888 0 (unused) 67904 1 [w9968cf usb-ohci] 60544 3 45524 3 [ext3] 11140 5 9864 0 176192 5 [ide-disk ide-probe-mod]

A coluna Module indica o nome do mdulo que est carregado; a coluna Size indica o tamanho que esse mdulo usar em memria; a coluna Used mostra quais mdulos esto usando aquele recurso. O parmetro (autoclean) no final da coluna indica que o mdulo foi carregado manualmente atravs do comando insmod ou modprobe ou atravs do kmod, e ser automaticamente removido da memria quando no for mais usado. O comando modinfo til para mostrar informao sobre um mdulo do kernel e tem o seu funcionamento entendido da seguinte maneira # modinfo [opes] <arquivo_de_mdulo>. Ele examina o arquivo objeto <arquivo_de_mdulo> associado com um mdulo do kernel e mostra qualquer informao que ele possa reunir. Veja como usar o comando modinfo para extrair mais informaes do mdulo cmpci, que o mdulo de uma placa de som CMI8339 on-board.

173

Treinamento Linux Administrao, Redes e Servios

# modinfo cmpci filename: /lib/modules/2.4.5-9cl/kernel/drivers/sound/cmpci.o description: "CM8x38 Audio Driver" author: "ChenLi Tien, cltien@cmedia.com.tw" parm: mpu_io int, description "(0x330, 0x320, 0x310, 0x300) Base of MPU-401, 0 to disable" parm: fm_io int, description "(0x388, 0x3C8, 0x3E0) Base of OPL3, 0 to disable" parm: spdif_inverse int, description "(1/0) Invert S/PDIF-in signal" parm: spdif_loop int, description "(1/0) Route S/PDIF-in to S/PDIF-out directly" parm: speakers int, description "(2-6) Number of speakers you connect" parm: use_line_as_rear int, description "(1/0) Use line-in jack as rear-out" parm: use_line_as_bass int, description "(1/0) Use line-in jack as bass/center" parm: joystick int, description "(1/0) Enable joystick interface, still need joystick driver"

Os mdulos no sistema Linux so arquivos j compilados que tm exteno .o; por exemplo o arquivo cmpci.o um arquivo de mdulo e quando ele no est compilado geralmente tem como extenso .c, ou seja, arquivo de programa fonte em linguagem C. Outro comando til o lspci que exibe uma listagem do seu hardware pci:
00:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0740 (rev 01) 00:01.0 PCI bridge: Silicon Integrated Systems [SiS] 5591/5592 AGP 00:02.0 ISA bridge: Silicon Integrated Systems [SiS]: Unknown device 0962 (rev 25) 00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] 00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] SiS7012 PCI Audio Accelerator (rev a0) 00:03.0 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 0f) 00:03.1 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 0f) 00:03.3 USB Controller: Silicon Integrated Systems [SiS]: Unknown device 7002 00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 10/100 Ethernet (rev 91) 00:0e.0 Communication controller: Lucent Microelectronics: Unknown device 048c (rev 02) 01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS]: Unknown device 6325

Removendo mdulos Para remover um mdulo do sistema super-simples; primeiro voc dever usar o comando lsmod para saber o nome do mdulo e depois usar o comando rmmod <mdulo> para que o mdulo seja removido da memria. Veja exemplos:
# rmmod cmpci # rmmod rtl8139 # rmmod ne2k

Inserindo mdulos O comando insmod carrega um mdulo manualmente. Para carregar mdulos que dependem de outros mdulos para que funcionem, voc tem duas opes: carregar os mdulos manualmente ou usar o modprobe que verifica e carrega as dependncias correspondentes. O comando insmod funciona da seguinte maneira insmod [mdulo] [opes_mdulo]. Onde: mdulo: o nome do mdulo que ser carregado. Onde opes_mdulo: Opes que sero usadas pelo mdulo. Variam de mdulo para mdulo, alguns precisam de opes outros no, tente primeiro carregar sem opes; caso seja mostrada uma mensagem de erro verifique as opes usadas por ele. Exemplo:
# insmod ne io=0x300 irq=10 # rmmod cmpci # rmmod rtl8139

Carregando mdulos O comando modprobe carrega um mdulo e suas dependncias manualmente. Esse comando permite carregar diversos mdulos e dependncias de uma s vez. O comportamento do comando modprobe modificado pelo arquivo /etc/modules.conf, o qual voc poder verificar na listagem a seguir:
alias parport_lowlevel parport_pc alias block-major-58 lvm-mod

174

Global Sul Informtica

alias block-major-109 lvm-mod alias block-major-43 off alias loop0 loop alias char-major-108 ppp_generic alias /dev/ppp ppp_generic alias tty-ldisc-3 ppp_async alias tty-ldisc-14 ppp_synctty alias ppp-compress-21 bsd_comp alias ppp-compress-24 ppp_deflate alias ppp-compress-26 ppp_deflate alias ppp ppp_async alias rtl8139 8139too alias autofs autofs4 alias sound-slot-0 i810_audio post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 alias usb usb-ohci alias eth0 sis900

O comando modprobe funciona da seguinte maneira modprobe [mdulo] [opes_mdulo]. Onde mdulo: o nome do mdulo que ser carregado. opes_mdulo: Opes que sero usadas pelo mdulo e tambm variam de mdulo para mdulo. Alguns precisam de opes outros no; tente primeiro carregar sem opes. Caso seja mostrada uma mensagem de erro verifique as opes usadas por ele.

DICA: Nem todos os mdulos so carregados corretamente pelo comando modprobe. O mdulo plip, por exemplo, mostra uma mensagem sobre porta I/O invlida; mas no mostra no caso de ser carregado pelo comando insmod. Exemplo: modprobe ne io=0x300 irq=10; modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpuio=0x330.

Verificando dependncia de mdulos O comando depmod verifica a dependncia de mdulos. As dependncias dos mdulos so verificadas pelos scripts em /etc/init.d usando o comando depmod -av e o resultado gravado no arquivo /lib/ modules/verso_do_kernel/modules.dep. Essa checagem serve para que todas as dependncias de mdulos estejam corretamente disponveis na inicializao do sistema. O comportamento do depmod pode ser modificado atravs do arquivo /etc/modules.conf. Exemplo depmod -av. Isso executar uma verificao completa de dependncia de mdulos no seu sistema Linux e isso poder chegar a dezenas de linhas, mas fique tranquilo: tudo isso muito rpido, pode chegar a uns cinco segundos no mximo. Configurao de mdulos O comando modconf permite um meio mais fcil de configurar a ativao de mdulos e opes atravs de uma interface atravs de menus. Selecione a categoria de mdulos atravs das setas acima e abaixo e pressione Enter para selecionar os mdulos existentes. Sero pedidas as opes do mdulo (como DMA, IRQ, I/O) para que sua inicializao seja possvel. O comando modconf apresenta uma auto-deteco, mas isso deixa o sistema um pouco mais lento, porque ele far uma varredura na faixa de endereos especificados pelo mdulo para achar o dispositivo.

Configurando no brao
Vamos comear logo ento? Vamos comear pelo micro 01. Vamos fazer um passo-a-passo, tudo que voc fizer, faa no micro 02 tambm mas lembre-se que se voc colocar um gateway, esse gateway do micro 01, caso queria poder usar o comando netconfig para lhe ajudar a setar mais rapidamentes os IPS dos micros. Vamos ao passo a passo: 1. Edite o arquivo /etc/hosts e coloque as seguintes informaes, que so o IP da sua mquina (loopback), a IP da inteface de rede eth0 e o IP do outro micro, pois a procura por mquina ser feita iniciando-se por esse arquivo, acompanhe:
127.0.0.1 localhost 10.6.12.250 adilson.hackers.net 10.6.12.150 gabriel.hackers.net adilson # Dad gabriel # Son

175

Treinamento Linux Administrao, Redes e Servios

2. Se voc pretender usar a Internet (duvido que no v), edite o arquivos /etc/resolv.conf:
# Para a mquina que estiver como servidor na rede # No nosso caso pode ser o micro 01 IP: 10.6.12.250 search seu.provedor.com.br nameserver IP.seu.provedor.com.br # Somente para as mquinas que estiverem como clientes # No nosso caso pode ser o micro 02 IP: 10.6.12.150 search adilson.hackers.net # Nome do servidor nameserver 10.6.12.150 # IP do servidor

3. Agora edit o arquivo /etc/HOSTNAME, ele guarda o nome + domnio de sua mquina para que, quando voc digitar o comando hostname ele devolva o seu nome. Faa isso para cada mquina, colocando o mesmo domnio para todas mas um nome distinto para cada uma.
adilson.hackers.net

4. Vamos para o quarto? Eu estou falando do quarto arquivo. :-) Edite o arquivo /etc/sysconfig/ network. Lembra? Esse arquivo tem uma funo similar ao arquivo /etc/hosts. No nosso exemplo, desejamos a rede no ar, o micro 02 j tem nome e domnio, e ele aponta para o micro 01 que vai servir de gateway.
NETWORKING=yes # FORWARD_IPV4=no HOSTNAME="gabriel.hackers.net" GATEWAY="10.6.12.1" GATEWAYDEV="eth0" # No mais usado. # Esse o micro 02

5. Verifique agora com o comando ifconfig. Se for necessrio use os comandos ifconfig lo up; ifconfig eth0 up. Voc tambm poder configurar diretamente como comando ifconfig conforme o exemplo de configurao com o comando ifconfig:
# ifconfig eth0 10.6.12.150 netmask 255.0.0.0 broadcast 10.255.255.255 up 6. Se for preciso levante a rede com os comandos: /etc/rc.d/init.d/inet start /etc/rc.d/init.d/network start

7. Faa o mesmo procedimento para o segundo micro tomando o cuidade de mudar o IP deste e se for colocar um gateway, faa com que ele aponte para o gateway do primeiro micro. Depois diso faa pings em ambas as mquinas e no esquea de habilitar os servios e protocolos que voc for usar nos arquivos /etc/service e /ect/protocols. Viu que fcil? Vamos pingar agora:
# ping -c5 gabriel.hackers.net PING gabriel.hackers.net (10.6.12.250): 56 data bytes 64 bytes from 10.6.12.250: icmp_seq=0 ttl=64 time=0.0 64 bytes from 10.6.12.250: icmp_seq=1 ttl=64 time=0.0 64 bytes from 10.6.12.250: icmp_seq=2 ttl=64 time=0.0 64 bytes from 10.6.12.250: icmp_seq=3 ttl=64 time=0.0 64 bytes from 10.6.12.250: icmp_seq=4 ttl=64 time=0.0

ms ms ms ms ms

gabriel.hackers.net ping statistics 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms [root@gabriel root]# ping -c5 10.6.12.250 PING 10.6.12.250 (10.6.12.250): 56 data bytes 64 bytes from 10.6.12.250: icmp_seq=0 ttl=64 time=0.0 64 bytes from 10.6.12.250: icmp_seq=1 ttl=64 time=0.0 64 bytes from 10.6.12.250: icmp_seq=2 ttl=64 time=0.0 64 bytes from 10.6.12.250: icmp_seq=3 ttl=64 time=0.0 64 bytes from 10.6.12.250: icmp_seq=4 ttl=64 time=0.0

ms ms ms ms ms

176

Global Sul Informtica

10.6.12.250 ping statistics 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms

Se voc quiser ver a tabela de roteamento use o comando netstat -rn, assim:
Tabela de Roteamento IP do Kernel Destino Roteador MscaraGen. 10.6.12.0 0.0.0.0 255.255.255.0 U 127.0.0.0 0.0.0.0 255.0.0.0 U 0.0.0.0 10.6.12.1 0.0.0.0 UG Opes 40 40 40 MSS Janela irtt Iface 0 0 eth0 0 0 lo 0 0 eth0

8. OK! Vai ter roteamento entre as duas mquinas? Seria interessante se tivesse mais mquinas, mas tudo bem. O processo de roteamento muito simples: um datagrama, ou seja, um pacote IP recebido, o endereo de destino, para quem ele vai ser entregue, examinado e comparado com cada item da tabela de roteamento. O item que mais corresponder com o endereo selecionado e o datagrama direcionado a interface especificada. Se o campo gateway estiver preenchido, ento o datagrama direcionado para aquele computador pela interface especificada, caso contrrio o endereo de destino assumido sendo uma rede suportada pela interface. Para saber se h um gateway padro use o comando route -n. Para adicionar uma rota simples e podemos fazer atravs do co mando route. Para adicionarmos ento essa rota para a rede 10.6.12.1 e torn-la acessvel atravs da interface eth0 basta digitar o comando:
route add -net 10.6.12.1 eth0

Caso voc desejar apagar essa rota apenas troque o add pelo del. O parmetro -net quer dizer que 10.6.12.1 um endereo de rede, porm se voc quiser especificar uma mquina de destino, use o parmetro -host. Para adicionar uma rota padro para um endereo que no se encontre na tabela de roteamento, deveremos usar o gateway padro da rede porque atravs dele, o gateway padro, possvel especificar um computador (normalmente outro gateway) que os pacotes de rede sero enviados caso o endereo no confira com os da tabela de roteamento. Para especificar o computador 10.6.12.250 como gateway padro usamos, com o comando que j tnhamos, usamos:
route add -net 10.6.12.0 eth0 route add default gw 10.6.12.1 eth0

Se voc der uma olhada dentro do /etc/sysconfig/network-scripts poder perceber que existem vrios arquivos de scripts destinado tarefas de rede, eles so:
chat-ppp0: Conexo discada ppp via padro chat. if-down.d, if-up.d: Script para levantar de derrubar. ifcfg-eth0, ifcfg-eth0.OLD: Arquivo de configurao da interface eth0. ifcfg-lo: Arquivo de configurao do loopback. ifcfg-ppp0: Arquivo de configurao de acesso dicado ppp0. ifdown, ifup: Script para derrubar e levantar interfaces. ifdown-ppp: Script para derrubar o ppp. ifup-aliases: Arquivo de configurao dos aliases. ifup-ipx, ifup-plip, ifup-post ifup-ppp: Arquivo de configurao para levantar o ppp. ifup-routes: Arquivo de configurao para levantar as rotas. network-functions: Scripts que guarda funes executveis de rede.

Monitoramente de rede

177

Treinamento Linux Administrao, Redes e Servios

Como j vimos anteriormente, para verificarmos o trfego em nossa rede via modo texto poderemos usar o comando tcpdump, que nos informar os pacotes que esto trafegando por ela, tambm podemos usar o iptraf que informa quais mquinas esto trocando informaes. O trafshow que informa de onde veio, o endereo, a porta e quanto j foi efetuado da transferncia. Mas existe tambm um outro programa muito interessante para fazer anlise em tempo real do que est passando pela nossa rede. O programa netpeek muito interessante, pois oferece uma srie de tipos de verificaes, como pings na rede, host lookup (pesquisa em DNS), verificar a interface de rede, atividades TCP e UDP, domnio Unix, verificar tabelas de roteamento verificar tabelas ARP e servios RPC (NFS). Um outro comando interessante de ser usado o comando netstat que nos fornece uma estatsca de nossa rede, ou seja, ele mostra conexes de rede, tabela de roteamento, estatsticas de interfaces, conexes masquerade e mensagens. Se no for especificada nenhuma opo, os detalhes das conexes atuais sero mostrados ou voc poder passar os parmetros que precisar conforme a listagem a seguir:
Tabela de Roteamento IP do Kernel Destino Roteador MscaraGen. 10.6.12.0 0.0.0.0 255.255.255.0 U 127.0.0.0 0.0.0.0 255.0.0.0 U 0.0.0.0 10.6.12.1 0.0.0.0 UG Opes 40 40 40 MSS Janela irtt Iface 0 0 eth0 0 0 lo 0 0 eth0

O comando nmap: O comando nmap uma ferramenta de explorao e escaneamento de informaes de redes, ele muito til quando queremos xeretar um IP qualquer, porque ele nos devolve informaes preciosas, como: nome do sistema operacional em uma mquina remota, quais portas esto abertas etc.
# nmap -O 10.0.0.5 Starting nmap V. 2.54BETA21 ( www.insecure.org/nmap/ ) Insufficient responses for TCP sequencing (3), OS detection may be less accurate Insufficient responses for TCP sequencing (3), OS detection may be less accurate Insufficient responses for TCP sequencing (3), OS detection may be less accurate Interesting ports on adilson.hackers.net (10.2.12.250): (The 1532 ports scanned but not shown below are in state: closed) Port State Service 21/tcpopen ftp 22/tcpopen ssh 23/tcpopen telnet 98/tcpopen linuxconf 513/tcp open login 514/tcp open shell 515/tcp open printer 901/tcp open samba-swat 1024/tcp open kdm 6000/tcp open X11 No exact OS matches for host (If you know what OS is running on it, see http://www.insecure.org/cgi-bin/nmap-submit.cgi). TCP/IP fingerprint: SInfo(V=2.54BETA21%P=i686-pc-linux-gnu%D=12/ ... Uptime 0.007 days (since Wed Dec 12 09:35:20 2001) Nmap run completed -- 1 IP address (1 host up) scanned in 6 seconds

Agora se voc quiser realmente analisar o que se passa pela sua rede poder usar o ethereal que vem com a maioria das distribuies. Ele muito interessante pois permite capturar e analizar todos os pacotes que passa pela sua rede.

178

Global Sul Informtica

Anotaes:

179

Treinamento Linux Administrao, Redes e Servios

Anotaes:

180

Global Sul Informtica

Captulo 10

NFS - Cliente e Servidor


Neste captulo aprenderemos como configurar um servidor e um cliente NFS e vamos descobrir que isso muito fcil de fazer. H tambm uma pequena passagem sobre segurana, que ser tcnica, e vai exigir alguns conhecimentos sobre redes TCP/IP e outros termos usados. Do mesmo modo que voc pode compartilhar arquivos em uma rede Windows usando o protocolo SMB, aqui em ambiente Unix/Linux e demais variantes, ns podemos fazer tambm atravs do NFS e ento depois de tudo configurado e definido como sero os acessos, para entrar em qualquer ponto de montagem igual a um ponto qualquer e at parece que o diretrio da nossa mquina; mas na verdade ele pode estar em uma outra mquina de sua rede local ou at mesmo ser um ponto em uma mquina remota que estiver na Internet. Porm, vale lembrar que o tempo de acesso e de resposta o tempo da velocidade da rede ou de sua conexo que pode ser lento ou rpido. Porm como hoje em dia redes de 100 Mbps comum assim como a banda larga, quase no percebemos a diferena.

DICA: Para saber mais leia o networking-HOWTO, ou pode adquirir um livro sobre administrao de rede TCP/IP para se familiarizar com os protocolos TCP/IP.

Como configurar clientes e servidores NFS


J sabemos que o NFS um sistema para compartilhamento de arquivos de rede. Servio de rede que permite o compartilhamento transparente de sistemas de arquivos ou diretrios entre os ns de uma rede. Implementado usando RPC Remote Procedure Call, cujos protocolos so descritos usando XDR eXternal Data Representation. Antes de mais nada, NFS tem trs importantes caractersticas:
a) Faz o compartilhamento de arquivos em uma rede, b) Funciona bem o suficiente para voc poder trabalhar e c) Abre brechas na segurana, que so bem compreendidas pelos crackers e facilmente exploradas para conseguir acesso aos seus arquivos (para ler, escrever e apagar).

Configurando um servidor NFS


Pr-requisitos: Antes disso precisaremos ser capazes de executar um telnet entre a mquina que est configurada como servidor e a mquina configurada como cliente; ento, a nossa rede precisa estar configurada corretamente, estar no ar e operante. Primeiros passos: Antes que possamos fazer qualquer coisa, precisamos de um servidor de NFS configurado. Depois que voc definir a poltica de exportao via NFS em sua rede, aconselhvel que voc deixe isso automtico na hora da inicializao do seu servidor. Isso feito atravs do comando ntsysv ou editando os arquivos de inicializao local.

Os daemons (processos) que voc dever marcar no ntsysv so:

181

Treinamento Linux Administrao, Redes e Servios

1. netfs: Monta e desmonta todos os pontos de montagem NFS, SMB (Lan Manager/Windows) e NCP (NetWare). 2. nfs: O NFS um protocolo popular para compartilhar arquivos atravs de redes TCP/IP. Este servio prov a funcionalidade de um servidor NFS, que configurado atravs do arquivo /etc/exports. 3. nfslock: Este servio prov a funcionalidade de bloqueio de arquivos (file locking). 4. portmap: O portmapper gerencia conexes RPC, que so usadas por protocolos como NFS e NIS. O servidor portmap deve estar executando em mquinas com servidores para protocolos que usem o mecanismo RPC.

Esse daemons (processos) so na verdade shell scripts para verificar se possvel colocar um servidor NFS no ar. Vamos ver aqui onde esto cada um deles e como so esses shell scripts. Se voc no sabe programar ou no entende nada de shell scripts, no tem importncia, pois eles j esto prontos e foram colocados aqui para que voc obtenha mais conhecimento tcnico da situao. Vamos localizar o primeiro, que o netfs:
/etc/rc.d/init.d/netfs /etc/rc.d/rc0.d/K75netfs /etc/rc.d/rc1.d/K75netfs /etc/rc.d/rc2.d/K75netfs /etc/rc.d/rc3.d/S25netfs /etc/rc.d/rc4.d/S25netfs /etc/rc.d/rc5.d/S25netfs /etc/rc.d/rc6.d/K75netfs /var/lock/subsys/netfs

Voc poder perceber aqui que para cada nvel de inicializao (runlevel) do sistema temos um netfs e que o arquivo principal est em /etc/rc.d/init.d/netfs e que para ele ns podemos passar os seguintes parmetros: {start|stop|restart|reload|status}. Se voc tem conhecimentos de programao em shel script poder ver o contedo com o comando cat /etc/rc.d/init.d/netfs, e ainda poder personalizar algumas mensagens que esto em Ingls. Tambm poder ver o o contedo do outro shell script com o comando cat /etc/rc.d/init.d/nfs. esse script que voc dever levantar depois de levantar o portmap. Do mesmo modo que voc tem o netfs para os nveis de inicializao (runlevel), tambm tem o portmap para esses nveis. Use o comando locate para encontrar os arquivos do portmap ou tambm podemos passar os parmetros: {start|stop|restart| reload|status}.
/usr/share/doc/portmap-4.0 /usr/share/doc/portmap-4.0/BLURB /usr/share/doc/portmap-4.0/CHANGES /usr/share/doc/portmap-4.0/README /usr/share/man/man8/portmap.8.gz /etc/rc.d/init.d/portmap /etc/rc.d/rc0.d/K89portmap /etc/rc.d/rc1.d/K89portmap /etc/rc.d/rc2.d/K89portmap /etc/rc.d/rc3.d/S11portmap /etc/rc.d/rc4.d/S11portmap /etc/rc.d/rc5.d/S11portmap /etc/rc.d/rc6.d/K89portmap /lib/modules/2.4.21-28872cl/modules.parportmap /var/lock/subsys/portmap /sbin/portmap

Criando os locais para montagem NFS


No servidor voc poder adicionar o arquivo /etc/exports, que o arquivo que vai guardar os volumes e quem poder montar esses volumes via rede. Os volumes podero ser exportados para uma mquina especfica, uma faixa da rede (intranet) ou para todo mundo (Internet). Porm, cuidado em exportar para todo mundo, pois possvel montar um volume NFS via Internet e acess-lo como se fosse um volume local e se por ventura dentro desse volume o usurio que

182

Global Sul Informtica

montou tiver poder para executar programas e se tiver algum programa que roda com SUID root, ou seja, o programa vai rodar com poderes do usurio root e isso poder significar tragdias em seu sistema. O modo mais rpido e simples de adicionarmos a configurao no arquivo /etc/exports :
# echo /usr/mp3/ /mnt/mp3 (ro) # msicas em mp3 > /etc/exports # echo /usr/jpg/ /mnt/jpg (ro) # fotos em jpg >> /etc/exports

Claro, se voc tiver muita coisa para adicionar nesse arquivo melhor edit-lo com seu editor de textos preferido.
/ /home/adilson/fotos /home/adilson/mp3 /home/sonizia/doc /home/luzia/trabalhos/ /home/universidade/odonto /home/universidade/sistemas /home/universidade/direito /home/universidade/jornalismo amigos(rw) hackers (rw,no_root_squash) amigos(ro) hackers (no_root_squash) musicas*.local.domain(rw) 10.6.12.250(ro) @amigos(rw) 10.6.12.33(rw) *.odonto.net.br(rw) *.sistema4.net.br(rw) *.direitro3.net.br(rw) *.jornalismo2.net.br(ro)

Analisando o arquivo exemplo: A primeira linha exporta o sistema inteiro (isso muito perigoso) para as mquinas amigos que pode ler e gravar (rw) e para a mquina hackers com poder de ler e gravar, mas o usurio root no pode executar programas (rw, no_root_squash). A segunda exporta o diretrios de fotos do usurio adilson para as mesmas mquinas mas tomando-se os devidos cuidados. A terceira e quarta linha nos mostra que podemos usar coringas * e efetuar uma exportao para um dominio local interno, nesse caso provavelmente para troca de arquivos mp3. A quinta linha define a exportao para uma mquina especfica por IP e pra um grupo de usurios. Exceto para o grupo de usurios que podem efetuar atualizaes (rw) toda a mquina somente poder ler (ro). A sexta linha semelhante a linha anterior mas refere-se a todas as mquinas do domnio .contabil.net.br e que pode efetuar atualizaes (rw). A stima linha para uma mquina especfica por IP e com atualizaes (rw). A oitava, nona e dcima linha semelhante sexta linha e a dcima primeira linha tambm semelhante mas o pessoal do jornalismo s vai poder pesquisar (ro), ou seja, somente leitura.

O portmapper
O portmapper no Linux chamado de portmap ou rpc.portmap. Sua pgina do manual do sistema diz que ele a DARPA port to RPC program number mapper. Esta a primeira falha na segurana que voc conhecer lendo este captulo. Algumas maneiras de sanar essas falhas esto na seo de segurana. Inicie o portmapper. Ele tem o nome de portmap ou rpc.portmap e deveria estar no diretrio /usr/sbin (em algumas mquinas tem o nome rpcbind). Poderemos iniciar o portmapper manualmente, mas ser preciso inici-lo toda vez que sua mquina for inicializada, para que isso seja feito automaticamente voc precisar fazer ou editar um script rc. Os scripts rc esto explicados na pgina init do manual, normalmente eles ficam no diretrio /etc/rc.d, ou /etc/init.d ou /etc/rc.d/init.d. Se existir algum script com o nome parecido com inet, provavelmente o script certo a ser editado. Mas o que fazer no script est fora do contexto deste captulo. Inicie o portmap e verifique se est rodando usando ps aux. Veja como fazer isso:
[root@gabriel /]# /etc/rc.d/init.d/portmap start Iniciando portmapper: [root@gabriel /]# ps -aux | grep portmap bin 1414 0.0 0.1 1532 408 ? S 06:32 root 1422 0.0 0.3 1852 724 pts/0 S 06:32 [ OK ] 0:00 [portmap] 0:00 grep portmap

183

Treinamento Linux Administrao, Redes e Servios

Mountd e nfsd
Os prximos programas que ns precisaremos executar so mountd e nfsd, mas antes ns precisaremos editar outro arquivo: o /etc/exports. Suponhamos que eu queira compartilhar o meu sistema de arquivo /home/adilson/fotos da mquina adilson.hackers.net com a mquina gisele.hackers.net com direitos de leitura e gravao no local. Ento, deveremos colocar a seguinte linha de comando no arquivo/etc/exports da mquina adilson.hackers.net:
... /home/adilson/fotos gisele.hackers.net(rw)

A linha acima d a gisele.hackers.net acesso de leitura e escrita em /home/adilson/fotos. Em vez de (rw) poderamos ter colocado (ro), o que significaria somente de leitura. Depois que o portamap foi inicializado agora a vez de inicializar o nfs:
[root@gabriel /]# /etc/rc.d/init.d/nfs start Iniciando quotas (NFS) Iniciando mountd (NFS) Iniciando statd (NFS) Iniciando nfsd (NFS) Iniciando os servios NFS: [ [ [ [ [ OK OK OK OK OK ] ] ] ] ]

Verifique com o comando a seguir:


[root@gabriel /]# ps root 1475 0.0 root 1476 0.0 root 1477 0.0 root 1480 0.0 root 1481 0.0 root 1482 0.0 root 1483 0.0 -aux | grep nfs 0.0 0 0 ? 0.0 0 0 ? 0.0 0 0 ? 0.0 0 0 ? 0.0 0 0 ? 0.0 0 0 ? 0.0 0 0 ? SW SW SW SW SW SW SW 06:32 06:32 06:32 06:32 06:32 06:32 06:32 0:00 0:00 0:00 0:00 0:00 0:00 0:00 [nfsd] [nfsd] [nfsd] [nfsd] [nfsd] [nfsd] [nfsd]

E agora usaremos o comando ps -aux | grep rpc para verificar as chamadas rpc:
[root@gabriel /]# root 1435 0.0 root 1448 0.0 root 1461 0.0 root 1479 0.0 ps -aux | grep rpc 0.3 1940 840 ? 0.2 1568 520 ? 0.3 1596 696 ? 0.0 0 0 ? S S S SW 06:32 06:32 06:32 06:32 0:00 0:00 0:00 0:00 rpc.rquotad rpc.mountd rpc.statd [rpciod]

Use tambm o comando rpcinfo -p 10.6.12.250, que nesse caso a mquina servidora para ver como que est sendo usado os protocolos.
[root@gabriel /]# rpcinfo programa verso protocolo 100000 2 100000 2 100011 1 100011 2 100011 1 100011 2 100005 1 100005 1 100005 2 100005 2 100005 3 100005 3 100024 1 100024 1 100003 2 100003 3 100003 2 100003 3 100021 1 -p 10.6.12.250 porta tcp 111 udp 111 udp 764 udp 764 tcp 767 tcp 767 udp 32768 tcp 32768 udp 32768 tcp 32768 udp 32768 tcp 32768 udp 32769 tcp 32769 udp 2049 udp 2049 tcp 2049 tcp 2049 udp 32770

portmapper portmapper rquotad rquotad rquotad rquotad mountd mountd mountd mountd mountd mountd status status nfs nfs nfs nfs nlockmgr

184

Global Sul Informtica

100021 100021 100021 100021 100021

3 4 1 3 4

udp udp tcp tcp tcp

32770 32770 32770 32770 32770

nlockmgr nlockmgr nlockmgr nlockmgr nlockmgr

Se no for especificado nada para a exportao NFS, por padro, o acesso ser somente de leitura (ro). Existem outras opes que podemos usar: vamos discutir sobre a segurana dessas opes mais adiante. Essas opes esto todas listadas na pgina de manual do comando exports, a qual voc que quer aprender a usar NFS j deveria ter lido pelo menos trs vezes. Use o comando showmount -e para saber o que est exportado e quem poder usar. Isso pode ser feito na mquina cliente e na mquina servidor.
[root@gabriel /]# showmount -e Export list for gabriel.hacker.net: /home/gabriel/mp3 musicas*.local.domain /home/adilson/mp3 musicas*.local.domain /home/gilmara/planilhas *.contabil.net.br /home/universidade/odonto *.odonto.net.br /home/universidade/direito *.direitro3.net.br /home/universidade/sistemas *.sistema4.net.br /home/universidade/jornalismo *.jornalismo2.net.br /home/sonizia/doc @amigos,gabriel.hacker.net /home/luzia/trabalhos/ 10.6.12.33

O showmount tem os seguintes parmetros que voc poder usar:


-a ou --all: Lista todas as mquina cliente e seus pontos de montagem. -d ou --directories: Lista apenas alguns diretrios montados por alguns clientes. -e ou --exports: Mostra a lista de exportao do servidor NFS.

Veja a sada com esses parmetros:


[root@gabriel /]# showmount -a All mount points on gabriel.hacker.net: [root@gabriel /]# showmount -d Directories on gabriel.hacker.net:

Veja como que ficaria o arquivo /etc/fstab:


/dev/hda5 / ext3 defaults 1 0 /dev/hda6 swap swap defaults 0 0 /dev/hda7 /home ext3 defaults 1 0 /dev/hda8 /usr ext3 defaults 1 0 /dev/cdrom /mnt/cdrom iso9660 defaults,user,noauto,ro 0 0 /dev/fd0 /mnt/floppy auto defaults,user,noauto 0 0 none /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 /dev/hda1 /mnt/winxp vfat user,owner,exec,dev,suid,rw 1 1 gabriel.hackers.net:/home/gabriel/mp3 /mnt/gabriel/mp3 nfs user,owner,noexec,nodev,nosuid,ro 1 1 adilson.hackers.net:/home/adilson/fotos /mnt/adilson/fotos user,owner,exec,dev,suid,ro,soft 1 1 ufo.com.br:/home/fotos/ufos nfs exec,dev,suid,rw 1 1 /mnt/ufos/fotos nfs

Como voc pode constatar temos algumas coisas nova nesse arquivo mas que so simples de serem entendidas, vamos a elas pegando a linha da mquina do gabriel:
gabriel.hackers.net:/home/gabriel/mp3 /mnt/gabriel/mp3

185

Treinamento Linux Administrao, Redes e Servios

o nome da mquina mais (:) o seu ponto de exportao e para a mquina cliente o seu ponto de importao.
nfs user,owner,noexec,nodev,nosuid,ro 1 1

o tipo de sistema de arquivo que no nosso caso ser NFS, pode ser montado pelo usurio, pode ser montado pelo dono do dispositivo, no poder ser executado programas aqui, sem dispositivos especiais, no executa programas com suid root, somente para leitura e com as checagem de montagem na inicializao. Viu s como no tem muito mistrio? Somente para lembrar, h tambm melhores maneiras para listar todos as mquinas que esto no arquivo /etc/exports. Por exemplo, podemos usar grupos de rede. Mas se estivermos usando NIS (ou NYS, o NIS era conhecido como YP Yellow Pages, pginas amarelas) e sempre especifica o domnio de placas e subredes IP como mquinas que tm permisso para montar algo, devemos considerar que algum pode conseguir acesso ao servidor sem autorizao pelo uso dessas autorizaes gerais. O arquivo /etc/exports no tem a mesma sintaxe usada em outros Unixes. Ele se apresenta um pouco diferente em mquinas Solaris, FreeBSD, QNX etc. Mas fcil de ser compreendido. Agora ns iniciaremos o mountd (que tambm pode se chamar rpc.mountd) e ento o nfsd (que pode se chamar rpc.nfsd). Ambos lero o arquivo /etc/exports. Se editarmos o arquivo /etc/exports teremos que fazer o nfsd e o mountd saberem que o arquivo foi mudado. A maneira tradicional rodar o comando exportfs. Mas em vrias distribuies do Linux o programa exportfs no est presente. Se voc no tem o exportfs pode instalar o seguinte script em sua mquina:
#!/bin/sh killall -HUP /usr/sbin/rpc.mountd killall -HUP /usr/sbin/rpc.nfsd echo Ok! Sistema de arquivos re-exportado.

Grave-o em /usr/sbin/exportfs, e no se esquea de configurar as permisses com o comando chmod a+rx. Agora, toda vez que voc mudar o arquivo exports, dever executar, como root, o script exportfs depois. Agora voc deve verificar se o mountd e nfsd esto rodando apropriadamente. Primeiro com o comando rpcinfo -p, que deve mostrar algo desse tipo:
[root@gabriel /]# rpcinfo programa verso protocolo 100000 2 100000 2 100011 1 100011 2 100011 1 100011 2 100005 1 100005 1 100005 2 100005 2 100005 3 100005 3 100024 1 100024 1 100003 2 100003 3 100003 2 100003 3 100021 1 100021 3 100021 4 100021 1 100021 3 100021 4 -p 10.6.12.250 porta tcp 111 udp 111 udp 764 udp 764 tcp 767 tcp 767 udp 32768 tcp 32768 udp 32768 tcp 32768 udp 32768 tcp 32768 udp 32769 tcp 32769 udp 2049 udp 2049 tcp 2049 tcp 2049 udp 32770 udp 32770 udp 32770 tcp 32770 tcp 32770 tcp 32770

portmapper portmapper rquotad rquotad rquotad rquotad mountd mountd mountd mountd mountd mountd status status nfs nfs nfs nfs nlockmgr nlockmgr nlockmgr nlockmgr nlockmgr nlockmgr

Como podemos ver, o portmapper anunciou os servios, e assim temos o mountd e o nfsd. Se o rpcinfo retornou a mensagem: Cant contact portmapper: RPC: Remote system error Connection refused ou algo similar, ento o portmapper no est rodando. Faa funcionar. Se o rpcinfo retornou: No remote programs registred, ento o portmapper no quer falar com voc, ou algo est falhando. Ento pare o nfsd, o mountd, e o portmapper e tente novamente a seqncia desde o incio.

186

Global Sul Informtica

Depois de verificar que o portmapper relata os servios (mountd e nfsd), voc pode verificar se eles esto rodando com comando ps tambm. Porque o portmapper continua relatando os servios mesmo depois que os programas terminaram. Ento, uma verificao com comando ps uma coisa inteligente se algo est falhando. Tambm poderemos usar o comando top ou em modo grfico o ktop, gtop, kpm etc., todos eles nos informam situaes com processos. claro que precisaremos modificar os scripts rcs para iniciar o mountd e o nfsd, bem como o portmapper no boot da mquina ou ento configur-los atravs do linuxconf. provvel que os scripts j existam em sua mquina, voc deve descomentar ou ativar a seo correta do runlevel. As pginas portmap, mountd, nfsd e exports do man devem ser familiares agora. Bem, se foi feito tudo exatamente do modo correto deveremos estar com tudo configurado para iniciar o cliente NFS. H um comando muito til, o nfsstat que carrega e exibe informaes atuais do Kernel NFS. Essas informaes (estatsticas) apenas so suportadas do lado do servidor devido ao fato de mquinas cliente no coletarem dados ainda. A seguir temos algumas opes que podemos usar:
-s: -c: -n: -r: Exibe Exibe Exibe Exibe estatsticas do lado servidor e da mquina cliente. informaes apenas do lado cliente. apenas informaes estatsticas do NFS e informaes RPC. apenas informaes estatsticas do RPC.

Configurando o cliente NFS


Para configurarmos os clientes NFS, primeiro precisaremos de um kernel com suporte a sistema de arquivo NFS ou compilado para suport-lo como mdulo. Isso configurado antes de compilarmos o seu kernel. Agora poderemos, como root, entrar com o comando mount apropriado e o sistema de arquivo aparecer. Continuando o exemplo da seo anterior, onde ns queramos montar o /home/adilson/fotos da mquina adilson.hackers.net para a mquina gisele.hackers.net. A linha de comando para isso, que deve ser executada na mquina trzciak, :
# mount -o rsize=1024,wsize=1024 adilson:/home/bonan /mnt/gisele/fotos

Veja a seguir um pequeno exemplo de um arquivo /etc/fstab que guarda a mquina e os devidos pontos de exportao:
... gabriel.hackers.net:/home/gabriel/mp3 user,owner,noexec,nodev,nosuid,ro 1 1 /mnt/gabriel/mp3 nfs

adilson.hackers.net:/home/adilson/fotos /mnt/gisele/fotos nfs user,owner,exec,dev,suid,ro,soft 1 1 ufo.com.br:/home/fotos/ufos nfs exec,dev,suid,rw 1 1 /mnt/ufos/fotos

Ns voltaremos a discutir as opes rsize e wsize. Agora o sistema de arquivo est disponvel em /mnt/gisele/fotos da mquina gisele.hackers.net e poderemos entrar com cd, usar o ls e ver cada arquivo individualmente. Perceberemos que no to rpido como um sistema de arquivo local, mas bem mais conveniente que o ftp, que depois de um certo tempo tende a ficar inativo ou se tiver muito fluxo pela rede fica muito lento rapidamente. Se em vez da montagem do sistema de arquivo, o comando mount produzir uma mensagem de erro do tipo:
adilson.hackers.net:/home/adilson/fotos denied, failed, reason given by server: Permission

...ento o arquivo /etc/exports est errado ou foi esquecido de executar o comando exportfs depois que o arquivo foi modificado. Se a mensagem de erro retornada pelo comando mount for algo do tipo:
mount clntudp_create: RPC: Program not registered

187

Treinamento Linux Administrao, Redes e Servios

...isso significa que o nfsd ou o mountd no est rodando no servidor. Para desmontar o sistema de arquivo muito simples, basta usar o comando:
# umount /mnt/gisele/fotos

Para fazer o sistema montar um sistema de arquivo NFS na inicializao devemos editar o arquivo /etc/fstab. Para o nosso exemplo, a linha a ser adicionada a esse arquivo seria:
adilson.hackers.net:/home/adilson/fotos /mnt/gisele/fotos nfs rsize=1024,wsize=1024 0 0

Uma idia interessante o compartilhamento da uma unidade de CD/DVD, assim algumas coisas no precisaro ficar gravadas na mquina e gastando espao. Quer uma idia? Quantas msicas padro mp3 cabem em um CD? Acho que com boa qualidade umas 200 (duzentas), se for em DVD acho que umas 1000 (mil) ou mais. Podemos trabalhar ouvindo msica o dia inteiro.

Opes de montagem
Existem algumas opes que devem ser consideradas e adicionadas ao que foi visto at aqui. Elas controlam a maneira que o cliente NFS trata uma queda no servidor ou na rede. Uma das coisas legais sobre o NFS que ele pode tratar esses contratempos de maneira elegante, se configurarmos o cliente corretamente aplicando em nosso exemplo anterior, a entrada no nosso arquivo /etc/fstab seria:
... adilson.hackers.net:/home/adilson/fotos /mnt/gisele/fotos hard,intr 0 0 ... nfs rsize=1024,wsize=1024,

Otimizando o NFS
Normalmente, se as opes rsize e wsize no so especificadas, o NFS ler e escrever em blocos de 4096 ou 8192 bytes. A combinao do kernel do Linux com algumas placas de rede no podem manipular blocos to grandes, e isso no bom. Ento ns iremos experimentar e encontrar um tamanho para o rsize e para o wsize que trabalhe to rpido quanto possvel. Ns podemos testar a velocidade das opes com um comando simples. D o comando mount de maneira que tenha acesso para escrita no disco, usando a linha seguinte para testar o desempenho da escrita seqencial:
time dd if=/dev/zero of=/mnt/arquivo_teste bs=16k count=4096

Essa linha criar o arquivo arquivo_teste de 64 MB de bytes nulos (que deve ser suficientemente grande para que o caching no seja significante para o desempenho, use um arquivo maior se tiver muita memria). Faa isso algumas vezes (de 5 a 10) e calcule a mdia. Esse o elapsed ou wall clock do tempo, e o que nos interessa nessa conexo. Ento poderemos testar o desempenho de leitura ao ler o arquivo criado com a linha abaixo:
time dd if=/mnt/testfile of=/dev/null bs=16k

Faa vrias vezes e calcule a mdia. Ento desmonte e monte novamente com um rsize e um wsize maior. Eles devem ser mltiplos de 1024 e no devem ser maiores que 16.384 bytes, pois esse o tamanho mximo para o NFS verso 2. Imediatamente depois da montagem com um tamanho maior, entre no sistema de arquivo montado (comando cd) e execute comandos como o ls, explore um pouco o sistema de arquivo para ter certeza de que tudo est como deveria. Se rsize/wsize est muito grande, os sintomas so muito estranhos e no muito bvios. Um sintoma tpico obter listas de arquivos incompletas sem nenhuma mensagem de erro quando usar o ls. Depois de verificado que os valores de rsize/wsize usados funcionam, voc pode realizar os testes de velocidade novamente. Provavelmente em servidores de plataformas diferentes, o wsize/rsize tero valores diferentes para um desempenho melhor. O SunOs e o Solaris so mais rpidos com blocos de 4096 bytes do que com blocos de outro tamanho. Lembre-se de editar o arquivo /etc/fstab para refletir o rsize/wsize que foi encontrado nos testes.

188

Global Sul Informtica

Uma dica para melhorar o desempenho de escrita do NFS desabilitar a escrita sncrona no servidor. A especificao do NFS diz que a requisio de escrita no pode ser considerada acabada antes que os dados estejam em uma mdia no voltil (normalmente o disco). Isso restringe o desempenho de escrita. Escritas assncronas iro aumentar a velocidade de escrita do NFS. O nfsd do Linux no usa escrita sncrona, pois a implementao do sistema de arquivo do Linux no permite, mas em servidores no Linux poderemos melhorar o desempenho desta maneira, com a seguinte linha no seu arquivo /etc/exports: /diretrio -async,access=distribuio linux. Ou algo semelhante. Por favor procure a pgina de manual do exports. Perceba, tambm, que isso aumenta o risco de perda de dados.

NFS e segurana
Aqui vai alguns conselhos para que voc tenha uma segurana consciente. Mas fique avisado: essa no uma lista completa dos problemas relatados do NFS e se voc pensa que est seguro porque leu e implementou tudo isso, tome cuidado. Esta seo no leva em considerao se voc est em uma rede fechada na qual confia em todos os usurios, ou se no confia em quem tem acesso s mquinas da rede, no deveria haver nenhuma maneira de entrar na rede, e ela no deveria estar conectada de nenhuma maneira a outras redes onde voc no confia em ningum que a usa, bem como na sua segurana. O NFS tem um problema bsico em que o cliente, se no for de outro modo, confia no seu servidor e vice-versa. Isso pode ser ruim. Significa que, se a conta do root do servidor for quebrada, pode ser muito fcil quebrar a conta de root do cliente tambm e vice-versa. Existem vrias estratgias contidas aqui, das quais ns voltaremos a falar.

Segurana no cliente
No cliente ns podemos decidir o quanto queremos confiar no servidor; tambm, com as opes de montagem. Por exemplo, ns podemos proibir que programas suid trabalhem fora do NFS com a opo nosuid. Isso uma boa idia e voc dever considerar o uso dela em todos os sistemas NFS montados. Significa que o usurio root do servidor no pode usar um programa suid-root do sistema de arquivos, para logar no cliente como se fosse um usurio comum e ento us-lo para se tornar superusurio no cliente tambm. Ns tambm poderamos proibir completamente a execuo de arquivos do sistema de arquivos montado com a opo noexec. Mas isso, provavelmente, uma idia pior do que a opo nosuid, pois provvel que um sistema de arquivos tenha alguns scripts e programas que precisam ser executados. Ns colocamos essas opes na coluna de opes, como o rsize e wsize, separadas por vrgula.

Segurana no servidor: nfsd


No servidor ns podemos decidir o quanto queremos confiar no superusurio do cliente. Ns podemos fazer isso usando a opo root_squash no arquivo /etc/exports:
... /home/adilson/fotos amigos(ro) hackers (no_root_squash) ...

Agora, se um usurio no cliente com UID 0 tentar acessar (ler, escrever, deletar) o sistema de arquivo do servidor, o UID substitudo pelo UID de nobody do servidor. O que significa que o usurio root do cliente no pode acessar ou modificar arquivos que somente o root do servidor pode acessar ou mudar. O que bom, e voc deve usar root_squash em todos os sistemas de arquivos exportados. Outro cuidado que deveremos ter se o usurio root no cliente puder usar o comando su para se tornar qualquer usurio para acessar e modificar os arquivos desse usurio. Isso verdade e um dos perigos em se ter Unix/Linux com NFS. Isso tem uma importante implicao: todos os binrios e arquivos importantes devem ser do root, e no de outro usurio no root, pois somente assim o usurio root do cliente no poder acessar o servidor como root. Na pgina de manual do nfsd existe vrias outras opes squash listadas, ento poderemos decidir em confiar (ou no) no cliente. H tambm opes de squash para qualquer faixa de UID e GID que voc queira. Tudo isso est descrito na pgina de manual do nfsd, ento eu j vou lhe falar LEIA OS MANUAIS. A opo root_squash ativada como padro no NFS do Linux e para garantir o acesso do root ao sistema de arquivo use a opo no_root_squash. Outra coisa importante assegurar que o nfsd verifique todos os pedidos que venham de uma porta privilegiada. Se o pedido for aceito de qualquer porta

189

Treinamento Linux Administrao, Redes e Servios

desprotegida no cliente, um usurio sem privilgios especiais pode rodar um programa facilmente obtido na Internet. Esse programa fala com o protocolo nfs e reivindica ser qualquer usurio que queira. Assustador. O nfsd do Linux faz essa verificao por padro, em outros sistemas operacionais voc tem que ativar a verificao. Isso deve estar descrito nas pginas NFSd do man do Sistema Operacional em questo.

DICA: Nunca exporte um sistema de arquivo para o localhost ou para 127.0.0.1 com privilgio total, pois se um hacker com ms intenes conseguir acesso a essa exportao do seu localhost, acredite, voc estar perdido.

Segurana no servidor portmapper


O portmapper bsico, em combinao com o nfsd, tem um problema de projeto que torna possvel a captura de arquivos no servidor NFS sem nenhum privilgio. Felizmente, o portmapper que o Linux usa relativamente seguro contra esse ataque, e pode ficar mais seguro com a configurao dos dois arquivos de lista de acesso. Primeiro ns editaremos o /etc/hosts.deny. Ele deve conter a linha portmap: ALL, que ir negar o acesso para todos. Isso talvez seja um pouco radical, ento ns permitiremos o acesso editando o arquivo /etc/hosts.allow. Mas primeiro precisamos entender o porqu disso. O arquivo lista basicamente todas as mquinas que devem ter acesso ao seu portmapper. Na execuo do sistema Linux existem algumas mquinas que precisam de algum acesso por qualquer razo. O portmapper administra o nfsd, o mountd, o ypbind/ypserv, o pcnfsd e os servios r como ruptime e rusers. Desses somente o nfsd, o mountd, o ypbind/ypserv e talvez o pcnfsd so de alguma importncia. Todas as mquinas que precisam acessar servios na sua mquina devem ter permisso para isso. Suponhamos que o endereo da sua mquina seja 10.6.12.250 e que est na subrede 10.6.12.0, que deve ter acesso a ela (nos termos que foram introduzidos pelo networking-HOWTO, volte e refresque sua memria se precisar). Ento ns escreveremos no hosts.allow:
portmap: 10.6.12.0/255.255.255.0

Isso o endereo da rede dado para o roteador e a mscara que voc deu para o comando ifconfig. Para o dispositivo eth0 o ifconfig dessa mquina dever mostrar:
eth0 Link encap:10Mbps Ethernet HWaddr 00:60:8C:96:D5:56 inet addr:129.240.223.254 Bcast:129.240.223.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:360315 errors:0 dropped:0 overruns:0 TX packets:179274 errors:0 dropped:0 overruns:0 Interrupt:10 Base address:0x320

E o comando netstat -rn dever mostrar:


Tabela de Roteamento IP do Kernel Destino Roteador MscaraGen. Opes 10.6.12.0 0.0.0.0 255.255.255.0 U 127.0.0.0 0.0.0.0 255.0.0.0 U 0.0.0.0 10.6.12.254 0.0.0.0 UG MSS 40 40 40 Janela 0 0 0 irtt Iface 0 eth0 0 lo 0 eth0

O endereo da rede est na primeira coluna. Os arquivos hosts.deny e hosts.allow so descritos nas pginas de seus nomes do man.

190

Global Sul Informtica

DICA: No coloque nada alm de nmeros de IP na linha do portmap desses arquivos. Lookups em nomes de hosts pode causar indiretamente atividade do portmap o qual desencadear um lookups em nomes de hosts, que pode causar indiretamente atividade do portmap o qual desencadear.

Com as coisas vistas, devemos fazer da sua mquina uma mquina segura. O nico problema (Yeah, certo!) algum quebrar a senha do root (ou usando o MS-DOS) de uma mquina em que se confia e usar esse privilgio para enviar pedidos de uma porta segura como qualquer usurio que queira.

NFS e firewalls
uma boa idia usar firewall para as portas de nfs e portmap no seu roteador ou firewall. O nfsd opera na porta 2049, para os protocolos udp e tcp. O portmapper opera na porta 111, para o udp e o tcp, e o mountd na porta 32768 para o tcp e 747 para o udp e o nlockmgr na porta 32770. Normalmente. Voc deve verificar as portas com o comando rpcinfo -p.
[root@gabriel /]# rpcinfo programa verso protocolo 100000 2 100000 2 100011 1 100011 2 100011 1 100011 2 100005 1 100005 1 100005 2 100005 2 100005 3 100005 3 100024 1 100024 1 100003 2 100003 3 100003 2 100003 3 100021 1 100021 3 100021 4 100021 1 100021 3 100021 4 -p 10.6.12.250 porta tcp 111 udp 111 udp 764 udp 764 tcp 767 tcp 767 udp 32768 tcp 32768 udp 32768 tcp 32768 udp 32768 tcp 32768 udp 32769 tcp 32769 udp 2049 udp 2049 tcp 2049 tcp 2049 udp 32770 udp 32770 udp 32770 tcp 32770 tcp 32770 tcp 32770

portmapper portmapper rquotad rquotad rquotad rquotad mountd mountd mountd mountd mountd mountd status status nfs nfs nfs nfs nlockmgr nlockmgr nlockmgr nlockmgr nlockmgr nlockmgr

Se por outro lado voc quiser que o NFS passe atravs do firewall, existem opes para os novos NFSds e mountds para fazer o uso de uma porta especfica (nonstandard) a qual pode ser aberta em um firewall. Em resumo, se voc usa o hosts.allow/deny, root_squash, nosuid e caractersticas de privilgios nas portas do software portmapper/nfs, evita muitos dos bugs conhecidos do nfs e pode se sentir quase seguro. Mas, afinal: quando um invasor tem acesso sua rede, ele pode fazer comandos desconhecidos aparecer em seu /var/spool/mail montado dentro do NFS. Por essa razo, voc nunca deve ter acesso sua chave privada PGP dentro do NFS. Ou ento deve ter total conhecimento dos riscos que isso implica. E agora voc j conhece um pouco disso. O NFS e o portmapper formam um subsistema complexo e, portanto, no totalmente improvvel que novos bugs sero descobertos, ou em seu projeto bsico ou na implementao que ns usamos. Pode, talvez, existir falhas conhecidas agora, a qual algum est atacando. Qual a vantagem de se usar NFS? Simples, voc pode exportar uma unidade de um CD para uma mquina que no tenha CD-ROM e esta poder usar como se fosse um CD-ROM local, ou todas as mquinas podero usar essa unidade tambm.

191

Treinamento Linux Administrao, Redes e Servios

Anotaes:

192

Global Sul Informtica

193

Treinamento Linux Administrao, Redes e Servios

Captulo 11

SAMBA Cliente e Servidor


Voc provavelmente j ouviu fala em samba no sistema Linux e com certeza, assim como todo mundo faz voc fez a analogia ao samba que conhecemos. Mas no nada disso, sambdromos a parte, o samba1 no sistema Linux nada mais servidor do que um poderoso servidor o que permite que uma rede windows converse de modo transparente com uma rede Linux. Com o servidor samba possvel compartilhar servios (arquivos, diretrio, impresso) atravs do protocolo SMB Server Message Block e CIFS Common Internet File System, equivalentes a implementao NetBEUI no Windows. O servidor samba uma das solues em ambiente Linux capaz de interligar redes heterognea e de graa, licenciado pelo GPL, voc no vai precisar pagar R$ 1.000,00 (mil) por um servidor de impresso. Usurios de redes Windows podero enxergar e navegar, apagar, copiar mover, criar e remover diretrios, executar programas etc em uma mquina Linux como se esta fosse uma extenso de seu computador e vice-versa de modo transparente. Aqui vamos aprender o bsico de como que devemos proceder para fazer com que micros pertencentes a uma rede Linux e micros pertencentes a uma rede Windows possam compartilhar informaes. Se for configurado de modo correto perfeitamente possvel e fica totalmente transparente para o usurio, pois esse tipo de tarefa feita pelo administrador da rede; portanto, prepare-se para ser um deles. Na atualidade, redes locais tornaram-se um padro e uma necessidade em grande parte, seno na maioria, das organizaes desde micro, mdia e grandes empresas. Em inmeros casos, essas redes so compostas por clientes Windows que utilizam um servidor Windows NT, Windows 2000, Netware, Unix etc. como repositrio de dados, controlador de acesso s informaes e gerenciador de tarefas de impresso. Com a popularizao do sistema Linux, em especial no mercado latino-americano, muitas redes passaram a utilizar o Linux como cliente ou estao de trabalho, pois muito mais confivel e seguro pelo fato de no cair, no ter tela azul, ou seja, aquilo que todos ns j sabemos, em redes mistas com servidores ou clientes Windows. O quadro pode ser extremamente heterogneo, onde as funcionalidades e facilidades de cada plataforma podem ser exploradas pelo usurio de forma produtiva e adequada s suas necessidades. Aspectos como robustez, performance, estabilidade, baixo custo e farta disponibilidade de aplicativos inerentes ao Linux podem ser aproveitados na sua plenitude, sem que isso signifique uma mudana radical de plataforma num primeiro momento.
DICA: A escalabilidade do SAMBA muito boa eu diria at excelente. Empresas ento usando com mais de 500 (quinhentos) clientes e obtendo uma performance excelente. Cada cliente SAMBA ocupa cerca de 600 a 800 K de memria no servidor dependendo do tipo de utilizao, use esse parmetro para clculo da memria do seu servidor. Desta forma, ele vem substituindo os servidores Windows, OS2, Netware e Unix, devido sua estabilidade e necessidade de pouco em termos de hardware.

Outra grande vantagem dele e de ser licenciado pelo GPL, de livre distribuio, sem limite de usurios ou custos por licena. Tecnicamente tambm h ganhos em performance e segurana de dados.

194

Global Sul Informtica

Caractersticas do servidor
O servidor samba possui inmeras caractersticas muito boas e interessante para o administrador, a seguir veja algumas delas: Ele compartilha arquivos entre as mquinas Windows e Linux ou de mquinas Linux (sendo o servidor SAMBA) com outro SO que tenha um cliente NetBEUI (Macintosh, OS/2, LanManager, etc). Ele permite montar um servidor de compartilhamento de impresso no Linux que receber a impresso de outras mquinas Windows da rede, isso voc pode perfeitamente ter seus documentos e mandar imprimir remotamente em uma mquina Linux onde h uma impressora compartilhada. Controle de acesso aos recursos compartilhados no servidor atravs de diversos mtodos (compartilhamento, usurio, domnio, servidor). Controle de acesso leitura/gravao por compartilhamento e tambm po usurio autenticado. Possibilidade de definir contas de Convidados, que podem se conectar sem fornecer senha. Isso interessante pois no necessrio ter que cadastrar um usurio para que ele s de vez em quando acesse uma mquina Linux. O samba pode usar o banco de dados de senha /etc/passwd. O samab permite que o contedo de determinados diretrios fiquem ocultos, tambm permite auditoria tanto dos acessos a pesquisa de nomes na rede como acesso a compartilhamentos. Entre os detalhes salvos esto a data de acesso, IP de origem, etc. O samba permite montar unidades mapeadas de sistemas Windows ou outros servidores Linux como um diretrio no Linux, conforme voc poder confirmar nas figuras desse captulo. O samba permite a configurao de recursos simples atravs de programas de configurao grficos, tanto via sistema, como via web. A configurao poder ser feita pelo linuxconf, pelo webmin, pelo swat e por outros programas grficos que voc encontrar pela Internet. Permite executar comandos no acesso ao compartilhamento ou quando o acesso ao compartilhamento finalizado. Tal como smbtar e outros. E mais um monte de outras coisas legais.

Arquivos de configurao do Samba


O servidor samba divido em duas partes :
1. Arquivo de configurao /etc/samba/smb.conf. 2. Servios SMBD e NMBD.

O arquivo smb.conf est localizado no diretrio /etc/samba , sendo responsvel por toda a configurao nos acessos aos diretrios, arquivos e impresso. Dentro do arquivo /etc/samba/smb.conf existem algumas subdivises que devem ser respeitadas para uma correta configurao. O processo SMBD verifica a porta 139 (porta usada pelo samba) e replica-se a cada solicitao do cliente na realizao de tarefas de impresso e compartilhamento de arquivos. O protocolo SMB foi originado na plataforma MS-DOS e se dispem a cobrir os aspectos de segurana de forma direta. Todo o recurso compartilhado pode estar protegido por uma senha, a qual pode ser implementada de duas formas distintas:
1. Senha por compartilhamento: Onde cada item compartilhado como discos, diretrios, impressora etc. tem uma senha prpria. 2. Senha por Usurio: Neste caso todo o usurio deve identificar-se no servidor atravs de um nome e de uma senha. Aps uma validao positiva, o servidor fornecer os acessos de acordo com as permisses predefinidas para o usurio.

O processo NMBD recebe todo o trfego da porta UDP/137 e UDP/138 para os servios de nomes, registros e browsing (navegao). A diferena entre os dois mtodos definida no prprio servidor, no podendo coexistir para um mesmo recurso compartilhado atravs da rede. Se voc pretende diariamente usar o Samba em sua intranet bom deix-lo ativo logo na inicializao. Para isso pode use ntsysv e marque os servios do samba. Conforme sua distribuio voc poder encontrar duas linhas: smbd e nmbd ou ento a opo samba. O importante que voc marque essas opes.

195

Treinamento Linux Administrao, Redes e Servios

Principais arquivos do servidor samba


O servidor samba possui vrios arquivos mas ns usaremos poucos deles para aprendermos nesse captulo. Para saber quais so digite smb e pressione duas vezes a tecla TAB e voc ter a listagem abaixo:
[root@gabriel root]# smb smbadduser smbcontrol-srv smbpasswd smbstatus smbcacls smbd smbpasswd-srvsmbstatus-srv smbclient smbd-srv smbprint smbtar smbclient-srv smbmnt smbspool smbumount smbcontrol smbmount smbspool-srv

A seguir eu lhe apresento um resumo de alguns deles para que voc saiba o que cada um faz: smbadduser: Permite o cadastramento de novos usurios no servidor e segue a seguinte regra: unixid:ntid ou seja bonan:adilsonbonan. Um nome vlido padro Unix para um nome vlido padro NT. Exemplo:
[root@gabriel futura]# smbadduser sulamita ERROR: Must use unixid:ntid like -> zak:zakharoffm [root@gabriel futura]# smbadduser sulamita:sulamita Adding: sulamita to /etc/samba/smbpasswd ---------------------------------------------------------ENTER password for sulamita New SMB password: Retype new SMB password: Password changed for user sulamita. Password changed for user sulamita. [root@gabriel futura]# smbadduser janaina:janaina Adding: janaina to /etc/samba/smbpasswd ---------------------------------------------------------ENTER password for janaina New SMB password: Retype new SMB password: Password changed for user janaina. Password changed for user janaina. [root@gabriel futura]# cat /etc/samba/smbpasswd adilson:500:134D56C76640A683AAD3B435B51404EE:822F3F0C6A348CC441EE7 E3C30FBF0FD:[UX]:LCT-3F6CF4DB: gabriel:501:E974D02472809498AAD3B435B51404EE:1D6154A0227577A83164B 24184EC7C00:[UX]:LCT-3F6CF4D5: sulamita:503:ECB2A658A1353072AAD3B435B51404EE:F406178D9213F304E5FB 9D28D1CB4AB2::/home/sulamita:/bin/bash janaina:506:C04F781A2CDE10A3AAD3B435B51404EE:DD1BACC2C216A4B694B82 F62CBE8A498::/home/janaina:/bin/bash

O arquivo cat /etc/samba/smbpasswd guardar os usurios es suas respectivas senhas criada pelo samba. smbpasswd: Depois que voc criou usurios, permite que voc adicione senhas de acessos para esses usurios. Exemplo:
# smbpasswd -a adilson New SMB password: Retype new SMB password

Passe as duas senhas corretas e o usurio adilson passar a valer no sistema e poder usar o servidor samba. Uma dica interssante seria, se voc quiser, use o comando mksmbpasswd /etc/passwd /etc/ samba/smbpasswd para converter toda a base de usurios do /etc/passwd e gerar um arquivo /etc/samba/smbpasswd contendo as contas destes usurios. Por padro, todas as contas so DESATIVADAS por segurana quando este novo arquivo criado. O novo arquivo ter o seguinte formato:

196

Global Sul Informtica

adilson:500:134D56C76640A683AAD3B435B51404EE:822F3F0C6A348CC441EE7 E3C30FBF0FD:[UX]:LCT-3F6CF4DB: gabriel:501:E974D02472809498AAD3B435B51404EE:1D6154A0227577A83164B 24184EC7C00:[UX]:LCT-3F6CF4D5: sulamita:503:ECB2A658A1353072AAD3B435B51404EE:F406178D9213F304E5FB 9D28D1CB4AB2::/home/sulamita:/bin/bash janaina:506:C04F781A2CDE10A3AAD3B435B51404EE:DD1BACC2C216A4B694B82 F62CBE8A498::/home/janaina:/bin/bash

Vaja algumas opes do smbpasswd: smbpasswd -U anarosa: Para ativar a conta do usurio anarosa depois a senha do usurio e repita para confirmar. Assim que a senha for definida, a conta do usurio ativada. smbpasswd -U urea: Para Adicionando usurios do smbpasswd. smbpasswd -x fabiano: Para remover um usurio fabiano do arquivo smbpasswd. Se desejar, voc pode manter o usurio no /etc/passwd ou remov-lo com o userdel. Se voc remover um usurio deste arquivo far que ele no tenha mais acesso ao SAMBA. smbpasswd -d henrique: Para desabilitar temporariamente o usurio henrique no smbpasswd caso ele estaja usando demais sua conta, ou seja, enchendo o HD de MP3, fotos e downloads de Windows. smbpasswd -e luzia: Para habilitar uma conta no smbpasswd que foi desativada com o uso do comando smbpasswd -d. Agora a usuria luzia poder usar o sistema novamente, conforme os agrados, claro. :-) smbpasswd -r servidor -U andersom: Para alterar a senha do usurio remoto andersom. A opo -r servidor pode ser o IP ou um nome remoto, porm a senha antiga do usurio sempre ser solicitada para troca, pois lembre-se que o usurio root de uma mquina pode no ser o mesmo de outra. smbpasswd -n adilson: Para fazer o usurio adilson acessar sem senha. No uma coisa muto interessante pois necessrio que a opo null passwords da seo [global] no arquivo /etc/samba/smb.conf esteja ajustada para yes (que NO o padro). Mas eu lhe pergunto: Para qu entrar sem senha, s para no termuita segurana e ficar mais vulnervel? Lembre-se do velho ditado: Quanto menos souberem do teu sucesso, mas rpido voc o alcaar. Pois tem menos para puxar o teu tapete. smbstatus: Mostra o status do servidor samba. O programa smbstatus informa a situao atual das conexes Samba. Pode ser usado na linha de comando com as seguintes opes:
-b: fornece uma sada resumida e -d: fornece uma sada comentada. -L: faz com que o programa relacione somente os recursos em uso. -p: relacione os processos servidores smbd e finaliza. til para ser usado em programas. -S: relacione todos os compartilhamentos definidos. -s arquivo de configurao: permite que seja utilizado um arquivo de configurao diferente do definido em tempo de compilao. -u nome do usurio: relaciona as informaes relevantes sobre o usurio informado.

smdb e nmdb: So os processos (daemons) que colocaro o samba no ar. Eles devem ser usados depois que o arquivo de configurao /etc/samba/smb.conf foi editado com as regras para os usurios. Toda vez que voc fizer uma alterao nesse arquivo voc dever derrubar e levantar esses processos para a nova configurao seja vlida smbclient: Depois de tudo configurado certinho, mostra os compartilhamentos disponveis para uso. Exemplo:
# smbclient -L 10.6.12.150 Can't find include file /etc/samba/smb.conf. added interface ip=10.6.12.250 bcast=10.255.255.255 nmask=255.0.0.0 session request to 10.6.12.150 failed (Called name not present) session request to 10 failed (Called name not present) Password: Domain=[EDFUTURA] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager] Sharename --------Impressora IPC$ SharedDocs print$ Type ---Printer IPC Disk Disk Comment ------hp deskjet 656c series IPC remoto Drivers de impressora

197

Treinamento Linux Administrao, Redes e Servios

NOTEBOOK (C) DVD-NOTEBOOK TEMP Disk ADMIN$ DOWNLOAD-5 Disk C$ Server --------NOTEBOOK Workgroup --------EDFUTURA LINUX

Disk Disk Disk Disk Administra remota Recurso compartilhado padro Comment ------NOTEBOOK Master ------NOTEBOOK GABRIEL

O comando smbclient -L 10.6.12.150 mostrou os compartilhe-mentos da mquina 10.6.12.150 e ns ficamos sabendo no notebook (10.6.12.150) tem impressora compartilhada, tem DVD compartilhado, tem a pasta TEMP e o disco C (isso no muito aconselhvel) e tambm tem uma pasta DOWNLOAD-5 compartilhada. H dois grupos de trabalhos, o da mquina GABRIEL com grupo LINUX e NOTEBOOK com EDFUTURA como grupo. E ficamos sabendo tambm que o notebook usa o Windows XP (Windows 5.1) e seu servidor Windows 2000 conforme: Domain= [EDFUTURA] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]. Se o arquivo /etc/samba/smb.conf tiver erros de configurao ou o samba no estiver no ar (samba start) o comando smbclient no funcionar. Exemplo:
[root@gabriel root]# smbclient -L 10.6.12.250 Can't find include file /etc/samba/smb.conf. added interface ip=10.6.12.250 bcast=10.6.12.255 nmask=255.255.255.0 error connecting to 10.6.12.250:139 (Connection refused) Error connecting to 10.6.12.250 (Connection refused) Connection to 10.6.12.250 failed

smbprint: Permite que seja usado recursos de impresso. smbtar: Do mesmo modo que voc usa o comando tar poder usar o comando smbtar. Isso til para que voc faa backups. Este programa possibilita a gerao de cpias de segurana de compartilhamentos SMB/CIFS diretamente em fitas magnticas sob o Unix. Pode ser acionado atravs da linha de comando com as seguintes opes:
s servidor: Gera a cpia de segurana do servidor SMB informado. x servio: Gera a cpia de segurana dos arquivos residentes no servio (compartilhamento). X : Modo de excluso, onde se pode omitir arquivos na criao ou restaurao. d diretrio: Altera o diretrio inicial antes de restaurar ou copiar os arquivos. v: Modo informativo. p senha: Informa a senha de acesso ao recurso. u usurio: A identificao a ser usada na conexo. t : Dispositivo de sada. Pode ser um arquivo regular ou um dispositivo de fita. O padro igual varivel de ambiente TAPE. b tamanho de bloco: Define o tamanho do bloco a ser utilizado no arquivo de sada. n nome do arquivo: Copiar somente os arquivos que so mais recentes que o arquivo definido. Pode ser usado para a criao de cpias de segurana incrementais. i modo incremental: Arquivo tar somente sero copiados caso tenham o bit de configurao ativos e -r restaurar: os arquivos sero copiados do arquivo tar para a rea compartilhada.

Uma interessante aplicao do smbclient a produo de cpias de segurana em um formato padro e comum a todas as plataformas. Todos os arquivos da mquina SMB/CIFS sero guardados no formato de arquivo tar. Por exemplo, para criar um arquivo chamado copia.tar contendo todos os arquivos sob o diretrio usuarios/docs do servio windows01/usuarios, pode-se executar o seguinte comando:
# smbclient //notebook/temp -N -Tc copia.tar usuarios/docs

198

Global Sul Informtica

smbmount e smbumount: Use o comando smbmount para criar pontos de montagens padro samba e o comando smbumount para desmontar esses pontos de montagens. Tambm possel usar o comando smbmount para montar. Seu uso simples:
# mount -t smbfs -o username=<nome_usurio>,password=<senha_usurio> //origem/diretrio /destino/diretrio

Viu como simples? S no interessante voc passar o nome de usurio e senha pela linha de comando. O melhor fazer assim:
# mount -t smbfs //notebook/c /mnt/notebook

Esse comando monta o disco C do notebook no /mnt/notebook aps ser informada a senha correta. Para testar se o servidor est funcionando, digite o seguinte comando smbclient -L servidor -U usuario e digite a senha de usurio quando solicitado. Caso a senha for informada errada no haver conexo. Exemplo:
[root@gabriel MP3]# mount -t smbfs //notebook/c /mnt/notebook/ INFO: Debug class all level = 1 (pid 2545 from pid 2545) Password: 2545: tree connect failed: ERRDOS - ERRnosuchshare (You specified an invalid share name) SMB connection failed

9. smbstatus: Use-o para saber a situao atual das conexes do servidor samba do seguinte modo: smbstatus -b: Lista o PID, usurio, nome da estao e data de acesso de quem est neste momento conectado no servidor. smbstatus -p: Lista os processos smbd e finaliza em seguida. til quando utilizado em programas. smbstatus -S: Lista todos os compartilhamentos definidos e smbstatus -s: Permite utilizar outro arquivo de conffigurao (smb.conf2 por exemplo), que deve ser especificado aps a opo. smbstatus -u: Lista as informaes rellevantes sobre o usurio, que deve ser especificado aps a opo. 10. Os utilitrios testparm e testprns: O programa testparm utilizado na verificao da configurao do arquivo /etc/samba/smb.conf. Ele pode ser utilizado na linha de comando, e caso o programa indique que no h problemas com o arquivo, pode ser utilizado na configurao de um servidor smb. Para testar se seu arquivo de configurao est certo use o assim:
# testparm /etc/samba/smb.conf

E ento leia atentamente o resultado apresentado na tela, se algo estiver errado voc poder voltar e configurar editar o arquivo novamente. O programa testprns verifica o nome da impressora junto ao servidor smbd, a fim de determinar se h um nome vlido sendo informado para uso pelo servio de impresso. Vlido nesse contexto significa que pode ser encontrada uma entrada em printcap para a impressora informada e que pode ser ativado da seguinte forma:
testprns nome_da_impressora [nome_do_arquivo_printcap]

Caso seja encontrada uma impressora vlida, ser apresentada a mensagem Impressora <nome da impressora> vlida. O arquivo de definies de impressoras pode ser normalmente encontrado em /etc/ printcap.

199

Treinamento Linux Administrao, Redes e Servios

Executando os servidores
Antes de mais nada voc deve lembrar que o servio de rede inetd dever estar no ar. Caso no esteja, isso poder ser feito pelos comandos:
# /etc/rc.d/init.d/inet stop # /etc/rc.d/init.d/inet start

Os dois servidores SMB so denominados /usr/sbin/smbd e /usr/sbin/nmbd. Para que a rede possa funcionar, esses servidores devem estar permanentemente ativos. Caso algum deles seja finalizado por qualquer motivo, h uma forma de fazer com que ele seja reinicializado imediatamente. Para tanto eles devem ser executados a partir do servidor de rede inetd. Neste caso insira ou edite as seguintes linhas no arquivo /etc/inetd.conf:
# Servios NetBIOS e SAMBA # (para compartilhamento de arquivos e impressoras) netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd

Para inicializar os servidores automaticamente quando todo o sistema for iniciado, acione o programa ntsysv e torne a opo smb ou samba ativa, mas isso vai depender de sua distribuio. Aps alterar algum parmetro de configurao, esteja seguro de reinicializar o servidor para que os parmetros sejam ativados. Esse procedimento realizado a partir dos seguintes comandos:
# /etc/rc.d/init.d/smb stop # /etc/rc.d/init.d/smb start

Aps feitas todas as configuraes que aprenderemos na seqncia para colocar o samba no ar, que muito simples, o comando samba start j o suficiente. Porm, se sua distribuio no tem esse script, voc poder cri-lo e coloc-lo em /usr/sbin/, veja como (Aps criar o seu script use o comando chmod 755 / usr/sbin/samba. Desse modo ele ser um executvel):
#!/bin/sh # Gerencia os servidores do Samba (smbd e nmbd) # usados para fornecer os servios de rede SMB. . /etc/rc.d/init.d/functions . /etc/sysconfig/network [ ${NETWORKING} = "no" ] && exit 0 [ -f /etc/smb.conf ] || exit 0 unset TMP TMPDIR case "$1" in start) gprintf "Iniciando %s servicos: " "SMB" daemon smbd -D echo gprintf "Iniciando %s servicos: " "NMB" daemon nmbd -D echo touch /var/lock/subsys/smb ;; stop) gprintf "Parando %s servicos: " "SMB" killproc smbd echo gprintf "Stopping %s services: " "NMB" killproc nmbd echo rm -f /var/lock/subsys/smb ;; status) status smbd status nmbd ;; restart) $0 stop

200

Global Sul Informtica

*) esac

$0 start ;; gprintf "Use: %s {start|stop|status|restart}\n" "samba" exit 1

:: Ambiente de rede do XP e compartilhamentos Windows e Linux

Como podemos ver aqui no ambiente Windows XP, h compartilha-mentos em uma mquina Linux chamada Gabriel que usa o servidor samba. Nessa mquina temos vrios compartilhamentos, entre eles o GabrielHD, JanainaHD, AdilsonHD etc. Olha s que moleza! Depois que voc configurou o servidor samba, usando o konqueror (KDE), voc poder acessar transparentemente uma mquina Windows sem nenhum problema, desde que voc tenha autorizao para isso, claro. Na prxima figura a estao Windows foi montada pelo samba e o konqueror usado para fazer as tarefas rotineiras de disco: copiar, colar, pesquisar, exibir, apagar etc. Figura X: Ambiente Linux acessando ambiente Windows.

Algo interessante de ser observado que como estamos falando de redes TCP/IP ns poderemos montar uma estao que poder estar fora na nossa jurisdio, seguindo essa idia como se tivssemos um cliente de ftp na nossa frente. Na internet voc vai encontrar inmeras dicas legais para uso do samba em conjunto com o Windows. bom lembrar que voc precisa ter diretos de conexo em um compartilhamento samba, no porque voc o poder estar vendo que j entrando assim numa boa. Algumas pastas so visveis. porm o seu contedo no, preciso de autorizao para ver o que tem l dentro da rea 51. :-)

201

Treinamento Linux Administrao, Redes e Servios

E no se esquea que, agora podendo ver o contedo de um compartilhamento, esse poder ser somente para leitura, e no ser autorizado a excluso de arquivos. No samba, alguns usurios podem ter acesso somente leitura e outros pode ter leitura e escrita.

Configurando o Samba
Hoje possvel fazer a configurao do Samba por vrios meios, desde a configurao braal, ou seja, editando o /etc/samba/smb.conf com o editor vi, pico, joe, jed, kedit, gedit, emacs, gvim etc. eu lhe aconselho o bom e velho vi pois ele colore as tags de configurao do arquivo smb.conf e facilita muito a configurao. Ou atravs de uma edio mais amigvel usando o linuxconf ou o swat com o netscape ou mesmo outros utilitrios que existem por a. Porm, o que importa que a coisa funcione bem, e que no seja preciso pagar uma fortuna por um servidor de impresso sob o Windows NT, sendo que existe o Samba e gratuito. Pense na economia que isso ir gerar em qualquer empresa. O arquivo /etc/samba/smb.conf O arquivo smb.conf constitudo por sees e parmetros. Sees so iniciadas por um nome encerrado entre colchetes, como por exemplo [global], [homes], [printers], [temp] etc. Parmetros esto inseridos em sees e so definidos no formato nome=valor. Cada seo do arquivo de configurao descreve um compartilha-mento especfico, exceto a seo [global] que aplicada a todos os compartilhamentos do servidor. O nome da seo igual ao nome do recurso compartilhado. H trs sees com nomes especiais:
1. [global] 2. [homes] 3. [printers]

As permisses de acesso ao servidor so definidas de acordo com os padres Unix.

Configurando pelo modo texto


A configurao do Samba pelo modo texto feita geralmente por usurios mais experientes que sabem exatamente onde que devem ser feitas as alteraes ou adicionar novas informaes para que o servidor Samba funcione da maneira adequada. A configurao feita editando o arquivo /etc/samba/smb.conf. Os # e ; so comentrios. Para ativar a opo apenas tire o comentrio. O arquivo apresentado aqui no necessariamente a configurao que voc ir fazer, pois aqui ele est apresentado com explicaes para fins didticos, que atravs dele voc vai preparar o seu arquivo de configurao para as suas reais necessidades: [global] A Seo [global] significa que a configurao especificada abaixo aplica-se ao servidor ou so gerais. Enfim, a base para o funcionamento do Samba. ; shared mem size = 1048576 Especifica a quantidade de memria do servidor SAMBA quanto mais melhor, mas 10 MB j bastante para cinco a dez estaes. workgroup = LINUX Nome do workgroup que as estaes Windows iro mostrar. server string = Servidor Samba %h - Verso %v Observao que ir aparecer sobre o computador, e caso a observao do compartilhamento esteja vazio o compartilhamento usar essa observao. ; announce as = NT Server Especifica o tipo de servidor nmbd (Servidor de Nomes NetBIOS) que ser divulgado na rede. O padro igual a Windows NT. As opes vlidas so "NT", "NT Server", "NT Workstation", "Win95" ou "WfW". ; logon script = %U.bat O diretrio-base dos logon scripts o volume [netlogon]. No exemplo, se o diretrio de compartilhamento netlogon for igual a /home/samba/netlogon, o script do usurio adilson seria procurado em /home/samba/netlogon/adilson.bat. ; hosts allow = 150.203. EXCEPT 150.203.6.66 150.203.15.0/255.255.255.0

202

Global Sul Informtica

Este parmetro define o conjunto de mquinas que podem acessar o servidor Samba. Pode-se utilizar o nome ou o endereo IP da mquina. possvel, por exemplo, restringir o acesso a somente uma sub-rede de classe C, como em allow hosts = 150.203.5.. Pode-se ainda usar o sub-parmetro "EXCEPT" para excluir alguma(s) mquina(s), como por exemplo: ; hosts allow = edfutura @academicos Abaixo abre acesso para edfutura e somente hosts no NIS com o grupo da net: academicos ; hosts deny = 150.203.5. microsoft.com microsoft.com.br Exatamente o oposto do parmetro anterior, pois aqui podem ser listadas todas as mquinas que no devem ter acesso aos servios. printcap name = /etc/printcap load printers = yes Carrega a configurao das impressoras que esto instaladas no servidor Samba ; printing = bsd Tipo de impresso padro, caso no funcione normalmente, bsd, sysv, plp, lprng,aix, hpux, qnx. Se usar CUPS coloque cups. ; guest account = guest Transforma todos os usurios que de algum modo foram indicados como visitantes em usurio guest. log file = /var/log/samba/log.%u Criar um arquivo de log para cada usurio. Ex. log.adilson. possvel usar %m para obter logs por mquinas. max log size = 50 Tamanho mximo permitido para um log. debug level = 1 Nvel do log, enquanto maior mais detalhes so mostrados. recomendado usar at 2 e o nvel 0 representa nenhum. keepalive = 20 ... Mquinas Windows tendem a travar de tempos em tempos. Este parmetro utilizado para verificar o estado da conexo, a cada 20 segundos.

Autenticao de usurios modalidade de segurana


A seguir vamos falar um pouco sobre segurana no Samba: security=share Sem segurana. Todo e qualquer usurio ser aceito. As operaes de arquivo e impresso sero executadas com as permisses do usurio Unix associado ao hspede (guest account = ...). Se voc escolher essa modalidade, verifique se o usurio Unix ter permisses suficientes para acessar arquivos e, se for o caso, imprimir. Assim, senhas de acesso so solicitadas por recurso compartilhado e no por usurio. Ou seja: cada diretrio ou impressora poder ter uma senha nica conhecida por todos os usurios autorizados. security=user Segurana por usurio, local. A senha do usurio reduzida a letras minsculas e confrontada com a senha Unix. Essa modalidade de segurana obriga que os usurios sejam cadastrados no Linux, e suas senhas sejam atribudas corretamente. As operaes sobre arquivos e de impresso sero feitas com a permisso do respectivo usurio Unix. Todavia, pode-se abrir aos hspedes o acesso a determinados volumes ou impressoras para esses objetos, a segurana operar no estilo SHARE. security=server Segurana por usurio, remota. O Samba pega o nome de usurio e a senha, e autentica junto a outro servidor, que poder ser outro Linux rodando Samba, ou um Windows NT. Apesar da autenticao ser remota, ainda necessrio criar os usurios Unix localmente em determinados casos. security=domain Segurana por usurio, remota. Praticamente idntica modalidade SERVER, porm convive com instalaes mais complexas onde existem computadores NT operando como PDCs (primary domain controllers) e BDCs (backup domain controllers). Nesse modo, mais de um servidor de autenticao pode ser especificado na linha password server do arquivo de configurao.

203

Treinamento Linux Administrao, Redes e Servios

Continuao do /etc/samab/smb.conf: map to guest = Bad User Quando tentarem efetuar um login, e o usurio ou a senha no sejam vlidos, ser repassado para o usurio visitante: Onde so vlidos: Bad User (mau usurio), bad password (m senha)ou never (no ser repassado para o usurio visitante). ; password server = Senhs_server Servidor de senhas, ou seja, o NetBIOS da mquina a qual o Samba vai fazer autenticaes. ; password server = <NT-Server-Name> Especifica o nome do servidor de usurios e senhas, quando especificado security = server. ; password level = 8 ; username level = 8 Quando a senha no for vlida tente oito modos diferentes. Ex.: Para uma senha ou usurio abcdefgh, tente abcdefgh Abcdefgh aBcdefgh ... ABCDEFGh ABCDEFGH. ; encrypt passwords = yes ; smb passwd file = /etc/smbpasswd O Windows 98, bem como verses mais recentes do Windows NT Workstation, transmitem senhas criptografadas no processo de autenticao. Como no possvel usar o mesmo padro de criptografia, necessrio executar o programa smbpasswd para a criao de senhas criptografadas. ; unix password sync = Yes ; passwd program = /usr/bin/passwd %u ; passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully* ; username map = /etc/smbusers usado para sincronizar a alterao de senhas feitas no Windows, para o servidor linux. Usurios UNIX no precisam necessariamente ter o mesmo nome dos usurios NetBIOS. A tabela /etc/smbusers permite estabelecer equivalncias entre nomes de semelhantes. socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 Esta opo um tuning de performance. Em muitos casos ela realmente melhora o desempenho. ; max xmit = 16384 o tamanho do pacote de dados enviado para as estaes, normalmente melhor deixar tudo com 16 KB em se tratando de interfaces de rede tipo NE2000. ; remote announce = 192.168.2.255/GABRIEL Esta opo indicar para as mquinas da rede 192.168.2.255, que esta mquina estar no grupo de trabalho GABRIEL, alm do grupo original. ; remote browse sync = 192.168.3.25 192.168.5.255 Esta opo vai anunciar para outra rede, que existe o workgroup remoto e que pode ser acessado. local master = yes Navegador-mestre local (local master browser). um servidor onde so guardados os nomes das mquinas que existem na rede windows. Configure a seguinte opo como no se voc no quiser que o Samba se torne um mestre local. Do contrrio, as regras normais de eleio que valero (ou seja, local master = yes NO garante que o Samba seja o mestre local). os level = 33 Nvel do sistema operacional, que determina sua preferncia em tornar-se mestre local. Quanto maior o nmero, maior a chance de o servidor tornar-se um mestre. O padro do Windows NT 32. Evite colocar o mesmo nmero de alguma mquina Windows, pois a mesma no gosta de perder eleies para mquinas Linux que tenham o mesmo nmero. ; domain master = yes Se a seguinte linha for configurada como yes, o Samba ser o navegador-mestre do DOMNIO. No use esta opo se voc j tem um servidor NT que seja o PDC. preferred master = yes Esta opo fora uma eleio para mestre local quando o Samba acionado, e lhe d uma pequena vantagem na disputa. No habilite esta opo em mais de uma mquina, do contrrio os diversos 'preferred masters' vo ficar promovendo eleies para mestre o tempo todo; isso causar trfego intil de

204

Global Sul Informtica

rede e pode prejudicar a qualidade das listas de navegao; por exemplo: elas podero no conter todas as mquinas da rede e no ficar to lento, se tudo estiver configurado corretamente. ; domain controller = <NT-Domain-Controller-SMBName> Use somente se existe um NT SERVER em sua rede, configurado para ser o primeiro domnio de controle. ; domain logons = yes Caso seja habilitado, tornar o linux um domnio de login, para estaes windows 95 time server = True Sicroniza a data do sevidor para as estaes. Interessante para ter controle sobre data/hora de criao de arquivos e coisas do gnero. E em sua mquina Windows/MS-DOS digite para configurar a hora: net time /set /yes. name resolve order = wins lmhosts bcast a forma de como ser procurada a mquina: As opes so: lmhosts, host, wins e bcast lmhosts Tenta usar um arquivo de configurao do Samba. Hosts - Tenta resolver o nome pelo ip, usando o /etc/hosts, o NIS ou o DNS. Wins Procura o ip no servidor wins. Bcast Procura a mquina por Broadcast. recomendvel deixar sempre o bcast como ltimo recurso, pois assim pelo menos a rede local continuar funcionando se por acaso ficar isolada das demais redes. ; wins support = yes A comunicao inter-redes Wins grava as informaes repassadas pelos servidores masters de cada rede e possibilita que uma rede converse com outra. Ao retransmitir essas informaes do mestre de domnio, o mestre obtm a lista de servidores mestre do servidor Wins. Essa retransmisso demora em mdia 15 minutos, e usa endereos IP. ; wins server = 10.120.1.26 Indique aqui o IP do servidor WINS da instalao. Se o computador for ele mesmo o servidor WINS (a linha wins support = yes est ativa), no use esta opo, pois do contrrio o Samba acabar conectando a si mesmo, recursivamente, e *travar*. ; wins proxy = yes Se o nmbd responder s perguntas do nome da transmisso em nome de outras mquinas. Voc pode necessitar ajustar este a sim para alguns clientes mais velhos. dns proxy = no Diz ao Samba se ou no para tentar resolver nomes netbios, atravs do nslookup do DNS. ; preserve case = yes Diz para o SAMBA preservar o nome do arquivo como foi enviado pela estao. ; short preserve case = yes Diz para o SAMBA interpretar minsculas como minsculas. ; interfaces = 168.1.1.1/24 10.120.1.24/16 Se a mquina possuir mais de uma placa de rede, necessrio estabelecer em que interface(s) o Samba vai atuar. Note que isso NO suficiente para evitar conexes originrias de redes diferentes da(s) especificada(s), pois os soquetes UDP do Samba ouvem em todas as interfaces. Veja a linha hosts allow, mais acima, para configurao de segurana. No exemplo abaixo, a mquina tem 2 intefaces, cujos nmeros IP e netmasks esto bem bvios. [homes] comment = Diretrios Pessoais A seo [homes] especifica que deve ser ativado um servio que permite o acesso aos diretrios pessoais de seus respectivos usurios. Isso permite que os usurios acessem seu home. browseable = no Evita que os diretrios pessoais sejam vistos por outros usurios read only = no Samba probe por padro a gravao em recursos exportados. O parmetro a seguir permite que os usurios possam gravar em seus diretrios pessoais. guest only = no Permite que apenas o hspede(convidado) tenha acesso ao volume ou impressora que contiver o parmetro guest only = yes. writeable = yes Permite que exista gravao no compartilhamento.

205

Treinamento Linux Administrao, Redes e Servios

[printers] A seo [printers] especifica como se configura uma impressora, para ser usada pelo Samba, ou faz o sistema ler as configuraes do printcap. A configurao abaixo far com que os usurios das estaes Windows vejam todas as impressoras do servidor. ; printer name = laserwriter comment = Spool de Impresso path = /var/spool/samba Este parmetro define o nome da impressora para a qual os servios de impresso sero enviados. Exemplo: browseable = no Controla se o compartilhamento ser visualizado na lista de recursos disponveis. O padro : guest ok = no Caso este parmetro seja definido como yes para um servio, ento nenhuma senha ser solicitada ao usurio. Os privilgios sero iguais aos definidos para a conta guess account definida no parmetro anterior. Exemplo: ; read only = no ; writeable = yes ; write ok = yes Caso este parmetro seja definido como "no", no ser permitida a criao ou modificao de arquivos no diretrio compartilhado. Note-se que o parmetro "printable = yes" sempre permitir a gravao atravs de operaes de gerao de arquivos temporrios de impresso. Exemplos: So iguais printable = yes Caso public seja = yes no necessrio possuir uma senha para entrar no compartilhamento. public = no read only = yes Este parmetro permite que a seo atual seja uma cpia de qualquer seo anterior. Caso haja necessidade de alterar um parmetro, basta inform-lo na seo atual. Esta funcionalidade muito til para a criao de modelos que podem ser replicados e rapidamente alterados para todos os recursos compartilhados.
[home] copy = homes guest ok = yes read only = yes

Especifica o diretrio ao qual o usurio do servio ter acesso. No caso de impressoras, ser o diretrio de arquivos temporrios de impresso. Exemplo:
[PUBLICO] comment = Diretorio Publico path = /home/samba public = yes guest ok = yes printable = no

Permite configurar o nmero mximo de conexes simultneas a esse servio. Exemplo: ; max connections = 10 Permite definir um limite aparente da rea em disco que pode ser utilizada pelo compartihamento. A unida de padro igual a Mb (megabytes). Exemplo: ; max disk size = 250

206

Global Sul Informtica

Para compartilhar o CD-ROM do servidor nas estaes. Usa o mesmo princpio do diretorio PUBLICO.
[CDROM] comment = CD-ROM SAMBA path = /mnt/cdrom read only = yes public = yes

Permite a gravao no spool.


printable = no guest ok = yes browseable = yes

; admin users = adilson, gabriel, katia Permite definir os usurios que tero privilgios de administrao do compartilhamento, ou seja, tero poderes de superusurio. E pode ser usado a qualquer seo de compartilhamentos.
; [netlogon] ; comment = Network Logon Service ; path = /home/netlogon ; guest ok = yes ; writable = no ; share modes = no

Descomentando essas linhas seguintes ser criado o diretrio do netlogon para login's de uma sesso do domnio.
; [fredsprn] ; comment = Fred's Printer

A impressora privada ser usada somente por fred. Os dados do spool sero colocados no diretrio home, usado somente por fred. Abaixo o usurio ter acesso de gravao para o diretrio spool.
; ; ; ; ; ; ; invalid users = @user valid users = fred path = /homes/fred printer = freds_printer public = no writable = no printable = yes

Valid users usado para especificar quais os usurios que podem usar o servio. E invalid users expecifca quais no tm acesso. Caso deseje trabalhar com um grupo use @.
; force create mode = 775 ; force directory mode = 2775 Quando o sistema for carregar um arquivo para ele utilizar as permisses informadas aqui. ; [pchome] ; comment = PC Directories ; path = /usr/pc/%m ; public = no ; writable = yes ...

No prximo compartilhamento, cada mquina ter um compartilhamento diferente. Pode ser usado uma configurao por usurios, para isso, basta substituir o %m por %u. Calma, so apenas umas trezentas linhas, veja que tem bastante comentrios # para que o usurio saiba o que faz aquela parte da configurao e o que tiver ; tambm um comentrio, mas se for retirado o ; aquela linha valer na configurao do seu servidor Samba. Lembra?

207

Treinamento Linux Administrao, Redes e Servios

Esse o arquivo original /etc/samba/smb.conf com umas pequenas mudanas, por isso que ele grande desse jeito, mas depois que o usurio fizer suas configuraes, ficar bem pequeno, talvez no chegue nem a cinqenta linhas. O ideal que antes de editarmos esse arquivo, faamos uma cpia dele com o comando cp -v /etc/samba/smb.conf /etc/samba/smb.conf.bkp. Assim teremos o arquivo /etc/samba/smb.conf.bkp que o arquivo original, qualquer coisa que d errada s fazer o processo ao contrrio que recuperaremos o arquivo original. Veja ainda neste captulo como que fica o arquivo /etc/samba/smb.conf depois de editado certinho e apenas com as mudanas necessrias; isso ser feito no subtpico Configurando pelo modo texto Swat l o leitor poder acompanhar as mudanas com mais exatido e por enquanto s ler os ensinamentos aqui e depois colocar em prtica. Com o Samba um usurio poder acessar mquinas Windows e mquinas Linux, imprimir em mquinas Windows e/ou Linux de um modo totalmente transparente e fcil de ser entendido e algumas vezes pode ser solicitado uma senha ou no. Adicionando o SAMBA a um Domnio Windows NT/2000 Vamos supor que sua rede j possui um servidor PDC (WindowsNT) e voc deseja adicionar um servidor samba, ento ser necessrio antes de tudo configurar o samba agora com algumas pequenas mudanas, porm simples de entender. No podemos aqui utilizar o parmetro domain master e domain logons, como vimnos anteriormente e tambm devemos manter o parmetro os level inferior a 65. O nome NetBios do servidor samba deve tambm ser adicionado ao PDC do Domnio NT, isso feito atravs do Gerenciador de Servidores para Domnios. Assim, uma conta ser criada para o samba no PDC. Como exemplo, vamos citar um servidor samba como o nome NetBios Meu Samba e o Domnio chamado COMERCIAL. O PDC ter o nome File_Server e vamos supor que tambm existam tambm dois controladores de backups com os nomes Meu_Backup1 e Meu_Backup2. Agora para juntar-se ao Domnio, o servidor SAMBA deve executar o comando:
smbpasswd -j COMERCIAL -r File_Server

Caso tenha dado certo, voc ter a mensagem:


smbpasswd: Joined domain COMERCIAL

Porm, se algo der errado, confira o nome NetBios dos servidores, se o samba est ativado e os parmetros do arquivo /etc/samba/smb.conf e tente novamente. O comando anterior ativa o protocolo de mudana de senhas, gerando um nova conta aleatria para o servidor samba e normalmente guardada em: /usr/local/samba/private. O nome do arquivo ser semelhante a COMERCIAL.Samba.mac. Edite o /etc/samba/smb.conf e inclua os seguintes parmetros na seo [global]:
# O SAMBA agora pertence a um Domnio existente. security = domain # Nome do Domnio utilizado. workgroup = COMERCIAL # Para logon com criptografia. encrypt passwords = yes # Para a autenticao no domnio. password server = File_Server Meu_Backup1 Meu_Backup2

Reinicialize o servidor samba para validar as mudanas. Adicionando estaes NT e 2000 em domnio SAMBA Agora a situao aqui um pouco diferente, vamos supor que voc possui um PDC SAMBA e estaes Windows NT Workstation ou Windows 2000, deve seguir o modelo abaixo para criar contas especficas para estas estaes. Somente podemos adicionar estaes NT Workstations e 2000 a um domnio samba se a encriptao de login estiver habilitada sendo no servidor samba, necessrio especificar o parmetro encrypt passwords = yes. Se o arquivo smbpasswd ainda no existir vamos cri-lo:
touch /usr/local/samba/private/smbpasswd chmod go-rwx /usr/local/samba/private/smbpasswd

208

Global Sul Informtica

DICA: interessante destacar que dependendo da distribuio este arquivo pode estar no diretrio /etc como link (ou no) para seu diretrio original, guardando muitas vezes a configurao sem nada escrever em /usr/local/samba/private/smbpasswd. Confira a localizao correta do arquivo e s ento siga em frente.

Agora vamos adicionar a conta NT/2000. Veja que o $ foi adicionado ao final do nome mas para servidores samba posterior a verso 2.0.7, isso no mais necessrio. Ficaria assim:
adduser -g ESTACOES -c ALIAS_ESTACAO_1 -m -s /bin/false NOME_ESTACAO_1$

Agora l o /etc/passwd h uma conta semelhante essa:


... nome_estacao1:x:505:501:apelido_estacao1:/dev/null:/bin/false ...

Feito isso, agora vamos criar uma conta da estao no Samba:


smbpasswd -a -m NOME_ESTACAO_1

Simples no? Crie uma conta vlida do usurio no Linux:


useradd -G grupo1,grupo2 -n <nome_do_usuario> ou useradd -g grupo -n <nome_do_usuario>

No vamos esquecer da senha n? Comando passwd <nome_do_usuario>. Quase l, crie esta conta do usurio no samba utilizando a mesma senha, comando smbpasswd -a <nome_do_usuario>. Para que a estao NT/2000 possa agora participar do Domnio, v at o Painel de Controle do Windows e selecione Network - Identification Tag. Mude o Domnio para o qual voc especificou em /etc/samba/smb.conf (workgroup = nome_do_dominio). No marque a opo Create a Computer Account in the Domain pois no ir funciona. Pressione OK e aps alguns segundos a mensagem Welcome to Whatever Domain aparecer na tela. reinicialise (como sempre), e voi-a-l o logon estar disponvel. Ateno: h outras tcnicas se se fazer isso, existem utilitrios que melhoram a maneira de se configurar, mas mais ou menso por a. Resumo das sees Seo [global]: Os parmetros nesta seo aplicam-se ao servidor como um todo ou como padres para que todas as sees no necessitem especific-los novamente. Seo [homes]: Caso uma seo com essa denominao seja includa no arquivo de configurao, os servios de conexo de clientes com os seus diretrios pessoais sero disponibilizados automaticamente. No Linux eles sero iguais a /home/nome_do_usurio. sugerido o uso do parmetro browsable = no nesta seo, evitando assim que um usurio comum possa visualizar os diretrios pessoais alheios. Seo [printers]: Seo dedicada a impressoras, permitindo que os clientes (Linux, Windows, DOS, ...) possam utilizar uma impressora conectada mquina local, configurada atravs do utilitrio printcap. Uma tpica seo de impressora ter o seguinte aspecto:
[printers] path = /usr/spool/public writeable = no guest ok = yes printable = yes

Parmetros: Parmetros definem os atributos das sees em que se encontram, sendo que alguns deles so especficos e podem ser usados somente em determinadas sees. Varaveis: Muitos valores definidos para um parmetro podem ser substitudos por um valor definitivo somente no momento do acesso ao recurso compartilhado. Por exemplo: a opo path = /tmp/

209

Treinamento Linux Administrao, Redes e Servios

%u pode ser interpretada como path = /tmp/adilson, caso se tenha acessado o sistema com o nome de usurio igual a adilson. Dentre as diversas variveis disponveis, apresentamos a seguir as mais significativas: Modelos de compartilhamento Olha, aqui eu vou apresentar alguns modelos de compartilhamento que voc poder estudar para melhorar os seus modelos. Mas voc poder encontrar exemplos bem interessantes na Internet para usar na sua Intranet. Somente Leitura Qual a importncia desse tipo de compartilhamento? Isso til quando no desejamos que pessoas alterem o contedo de um compartilhamento. Vai que voc j est com quase 1 GB de MP3 como eu e dai vai um carinha l e d um delete, sim, pois ele pode ver e acessar o compartilhamento pelo Windows, lembra? J foi para o espao semanas de garimpagem na Internet atrs de bons Mp3. Como se proteger ento? Simples, podemos fazer de duas formas: a) negando o acesso de gravao para todo o compartilhamento ou b) permitindo leitura somente para algumas pessoas, as mais chegadas sabe como n? O parmetro usado para fazer a restrio de acesso somente leitura o read only = yes ou seu antnimo writable = no. Exemplos:
[MP3] comment = Acesso a leitura para todos path = /home/mp3 read only = yes public = yes

No exemplo, o diretrio/home/mp3 foi compartilhado com o nome [MP3], de forma pblica, acesso sem senha: public = yes, e todos podem apenas ler seu contedo read only = yes. Pronto acabou a festa do delete.
[DIVIX] comment = Acesso a gravao para todos com excesses path = /home/divix read only = no read list = @chefia, adilson, gabriel, aurea, sonizia invalid users = root, katia

Neste, o compartilhamento[DIVIX] foi definido como acesso leitura/gravao para todos, read only = no, mas os usurios do grupo @chefia (claro!) e os usurios adilson, gabriel, aurea, sonizia tero sempre acesso leitura, read list = @chefia, adilson, gabriel, aurea, sonizia. Observe tambm que foi colocado uma proteo para que o superusurio no tenha acesso a ele, invalid users = root e tambm uma usuria katia, alias essa no vai ter direito nunca mais. Sempre que voc no quiser que um usurio compartilhe, coloque-o aqui. Leitura e escrita Aqui j fica interessante as coisas, vai que voc da turminha do MP3, e a sua misso baixar por dia no mnimo umas 2o (vinte) msicas MP3, veja s quantas voc vai ter no fim do ms, isso sem contar com os seus amigos das salas ao lado. Ento interessante que voc e seus amigos sugadores de MP3 possa gravar no acesso do samba no mesmo? Isso bem simples de ser feito e pode ser feito de duas formas: a) acesso total de gravao para os usurios e b) acesso de gravao apenas para determinados usurios. Este controle feito pela opo read only = no e seu antnimo equivalente writable = yes. Exemplos:
[FESTAMP3] comment = Acesso de gravao para todos. path = /home/mp3 writable = yes public = yes

210

Global Sul Informtica

No exemplo, o diretrio /home/mp3 foi compartilhado com o nome teste [FESTAMP3], de forma pblica, acesso sem senha, public = yes e todos podem ler/gravar dentro dele, writable = yes que o que nos interessa.
[FESTADIVIX] comment = Acesso a leitura para todos com excesses path = /home/divix writable = no write list = @chefia, adilson, gabriel, aurea, sonizia

Neste, o compartilhamento path = /home/divix foi definido como acesso de leitura para todos, writable = no, mas os usurios do grupo @chefia e os usurios adilson, gabriel, aurea, sonizia sero os nicos que tero tambm acesso a gravao. Modo oculto A idia de criar um compartilhamento invisvel ou oculto muito importante, pois algumas vezes precisamos do compartilhamento mas no queremos que todos o vejam, entendeu? Para no exibir um compartilhamento da lista de compartilhamentos das mquinas simples, utilize o parmetro browseable = no. Exemplo:
[FOTOS] path = /home/fotos comment = Diretrio temporrio de arquivos fotogrficos read only = yes browseable = no

Neste exemplo, o diretrio path = /home/fotos foi compartilhado atravs de [FOTOS] com acesso somente leitura, read only = yes e ele no ser mostrado na listagem de compartilhamentos do ambiente de rede do Windows. Mas como que voc vai acess-lo? Veja que o compartilhamento continua disponvel, porm ele poder ser acessado da estao Windows, especificando a \\mquina\compartilhamento. Lembre do caminho compartilha e no Windows Explorer ou pelo menu executar use:
\\nome_do_servidor_samba\teste

Ao contrrio das mquinas Windows onde necessrio adicionar um $ do nome de compartilhamento para criar um compartilhamento oculto (como FOTOS$) o SAMBA cria um compartilhamento realmente oculto, no aparecendo mesmo na listagem do smbclient. Que interessante n? Sem pedido de senha Bom, logo de incio eu j vou lhe avisando que isso no nada interessante, mas como possvel e precisamos aprender, vamos l. Aconte em algumas situaes onde uma hora precisamos tornar um compartilhamento acessvel publicamente, exemplos disto incluem um diretrio que contm drivers de impressoras, arquivos comuns, um diretrio temporrio, diretrio geral de download da Internet, ta festa danada hein? etc. Para fazer isso ao publico muito simples use a opo public = yes ou guest ok = yes. O UID utilizado no acesso pblico especificado pelo parmetro guest account, portanto ele dever ser um usurio vlido do sistema, ento esses carinha dever estar cadastrado. Caso voc queira somente definir acesso guest a um compartilhamento, especifique a opo guest only para o servio, desta forma, mesmo que o usurio tenha acesso, ele ser mapeado para o usurio guest. Voc sabia ? Que uma boa medida de segurana usar o usurio nobody pois a maioria das distribuies de Linux seguras adotam-o como padro como usurio que no dono de quaisquer arquivos/diretrios no sistema, no possui login, senha ou sequer um diretrio home, o apache por exemplo um caso desses. Veja um exemplo disponibilizando o compartilhamento [download] para acesso pblico com acesso a gravao:
[global] guest account = nobody ... ... [download]

211

Treinamento Linux Administrao, Redes e Servios

path = /downloads comment = Jaz aqui os downloads de Usurios. Oh Festa. guest ok = yes (aqui poder ser tambm "public = yes"). writable = yes follow symlinks = false

O parmetro guest account tambm poder ser especificado no compartilhamento, isto til quando no quiser que o usurio que acesse o compartilhamento no seja o mesmo usado na diretiva [global].

DICA: O compartilhamento funciona de modo recursivo, ou seja, todos os arquivos e subdiretrios dentro do diretrio que compartilhou sero disponibilizados, portanto tenha certeza da importncia dos dados que existem no diretrio, verifique se existem links simblicos que apontam para ele, etc.

Pontos de montagem com Samba


Supondo-se que temos uma mquina Windows com IP 10.6.12.150, para isso use o comando smbclient -L 10.6.12.150 para saber o que est compartilhado nessa mquina. Agora que ns j obtivemos aquelas informaes com o comando smbclient poderemos perfeitamente montar a estao Windows na estao Linux depois acess-la normalmente, como se fosse um diretrio qualquer. Vamos montar o notebook (Windows) no micro gabriel, que o micro 02 (Linux) onde o micro 01 que o notebook tem o seu disco C compartilhado:
[root@gabriel MP3]# mount -t smbfs //notebook/c /mnt/notebook/ INFO: Debug class all level = 1 (pid 2545 from pid 2545) Password:

O comando smbmount serve para montar o notebook no micro gabriel. No preciso passar o parmetro -t smbfs como faramos, se estivssemos usando o comando mount, ou seja, seria assim mount t smbfs //notebook/c /mnt/notebook/. Ser solicitada a senha que deve ser uma senha vlida na mquina Windows. Depois para ver se foi montado certinho use o comando df. E voc ver que a notebook pronto para ser acessado, tando pelo modo texto quanto pelo modo grfico. Depois que voc tiver o acesso ao notebook que o nosso caso, todas as operaes de gerenciamento de arquivos, como renomear, copiar, duplicar, copiar, colar, apagar, mover, mtodos de visualizao, preview etc. so vlidas aqui; basta que voc conhea o gerenciador que est usando no sistema Linux.

DICA: Depois que estiver tudo montado voc poder por exemplo, copiar qualquer arquivo/pasta de qualquer lugar para os ponto de montagens controlados pelo servidor samba, no caso da figura anterior. A sua nica limitao se voc tiver essa permisso ser o espao em disco.

Windows imprimindo em Linux Se voc que configurar o Linux como um servidor de impresso Windows, simples, ser necessrio ter o pacote samba instalado e adicionar as seguintes linhas no seu arquivo /etc/samba/smb.conf:
[IMPRESSORA] path = /tmp printer name = Minha Impressora printable = yes print command = lpr -r -h -P %p %s valid users = adilson gabriel sulamita create mode = 0700

O compartilhamento acima tornar disponvel a impressora local, conhecida como lp para mquinas Windows com o nome Minha Impressora. Caso voc esteja configurando esse arquivo na mo,

212

Global Sul Informtica

coloque aqui o nome de sua impressora, exemplo HP 656 Seria c. Tambm uma impressora alternativa pode ser especificada modificando a opo P da linha de comando do comando lpr. No noss caso somente os usurios adilson gabriel sulamita podero usar esta impressora, pois est muito caro o cartucho novo de tinta. Os arquivos de spool (para gerenciar a fila de impresso) sero gravador em /tmp e o compartilhamento [IMPRESSORA] ser mostrado como uma impressora, printable = yes. Mas no s isso voc precisar instalar o driver sua impressora no Windows e escolher impressora instalada via rede e seguir os demais passos de configurao que todos ns j sabemos. Para imprimir em uma mquina Linux muito fcil. Voc apenas precisa certificar queo servio de impresso est no ar, hoje o mais usado o CUPS Commom Unix Printing System, que uma idia muito boa de impresso local e remota, pois com o cups possvel imprimir pela Internet, claro, deixe-o configurado e a impressora ligada. Linux imprimindo em Windows Para imprimir em uma mquina Windows estado em uma estao Linux voc faz a mesma coisa. Instale sua impressora no Linux e depois na hora de imprimir s apontar para o IP da mquina Windows correspondente. Existem vrios utilitrios de impresso, desde o velho printtool, mas eu recomendo que voc use o CUPS, pois a grande maioria das distribuies esto o adotando como configurador oficial. O CUPS alm de ser moderno permite uma srie de configuraes que somente ele tem para oferecer. Como o CUPS um servidor voc dever levatar e/ou derrubar seus servios lembre-se disso. Caso voc precise de um driver de impressora que no tiver no CUPS, tente verificar em www.linuxprint.org ou www.cups.org,l com certeza voc vai achar pois tem mais de 2000 (doi mil) drivers, para tudo quanto tipo de impressora. Voc j aprendeu com configurar sua impressora no Linux, porm vamos relembrar bem rapidinho. Use o comando cupsdconf para carregar o configurador do servidor de impresso. Lembre-se: uma coisa configurar o servidor e outra coisa configurar a impressora, essa voc poder configura pelo centro de controle do KDE, comando kcontrol ou pelo centro de controle da Conectiva, comando kclcontrol. Algumas distribuies apresentam o kprint, kprinwizard que um assistente bem legal de configurao de impressora no sistema. Caso voc ussae o gnome, saiba tambm que ele apresenta alguns utilitrios para configurao de impressoras. Eu lhe aconselho que configure sua impressora com calma, pois o configurado oferce inmeras possibilidade de impresso, dentre elas a impresso em postscript muito usado em impressoras laser e impresso diretamente em formato PDF da adobe, muito til para a criao de documento para leitura online. Depois que voc configurar su impressora, a partir de qualquer programa voc poder imprimir, pode ser para uma impressora lccal ou para um impressora remota como o nosso caso. Para quem usa o LPRng+SMB H usurios que usa o formato de impresso LPRng, ao invs do tradicional lpr e do CUPS. Ento voc vai precisar fazer umas mudanas em seu arquivo de configurao. Alm de alterar a varivel printing no /etc/samba/smb.conf (altere de bsd para lprng), so necessrias algumas outras alteraes. Vamos supor que a sua impressora est sendo compartilhada via samba seja MinhaImpressora, voc dever mudar o dono e as permisses do diretrio de spool dela que /var/spool/lpd/MinhaImpressora:
chown root.root /var/spool/lpd/MinhaImpressora chmod 1777 /var/spool/lpd/MinhaImpressora

Agora voc dever colocar na seo [printers] do seu /etc/samba/smb.conf os seguintes comandos para a impresso e depois s testar:
print command = lpq command = lprm command = lppause command = lpresume command = queuepause command = queueresume command = /usr/bin/lpr /usr/bin/lpq /usr/bin/lprm /usr/sbin/lpc /usr/sbin/lpc /usr/sbin/lpc /usr/sbin/lpc -U%U@%M -U%U@%M -U%U@%M -U%U@%M -U%U@%M -U%U@%M -U%U@%M -P%p -r %s -P%p -P%p %j hold %p %j release %p %j -P%p stop -P%p start

Outra coisa que voc deve saber que o spool de impresso vai ficando cheio, pois o samba vai deixando todos os arquivos impressos no diretrio de spool, e com o tempo diretrio vai ficar lotado e di no

213

Treinamento Linux Administrao, Redes e Servios

tem como voc e os outros usurios imprimirem. Mas isso simples de ser resolvido com o comando seguinte:
find /var/spool/lpd/MinhaImpressora -type f -mtime 1 -exec rm -f {} \;

Esse comando apago o lixo que tenha pelo menos um dia. Agora para no ter digitar esse comando todo dia voc pode coloc-lo nos arquivos de incializao para que quando voc entre no sistema ele j faa uma limpeza ou no diretrio /etc/cron.daily.

Configurando o samba atravs do Swat no Linux


O SWAT uma ferramenta Web de Administrao do Samba onde ns poderemos usar um navegador para que as configuraes necessrias do servidor Samba sejam feitas, pode ser qualquer navegador, Netscape, Mozilla, Galeon, Konqueror etc. Ele disponibilizado em conjunto com o pacote Samba e est presente em praticamente todas as distribuies Linux. Para usarmos o SWAT deveremos editar o arquivo /etc/services, adicionando-se a seguinte linha ou descomentando-a caso esteja comentada:
swat 901/tcp

A escolha do nmero da porta no importante, porm no deve ser menor que 1024 e no pode estar em uso no momento. Depois deveremos editar o arquivo /etc/inetd.conf e adicione o descomentar seguinte linha:
swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat

Pronto. A seguir pare e reinicie o inetd para que as mudanas tenham efeito. Isso poder ser feito por um dos seguintes comandos:
/etc/rc.d/init.d/inet stop; /etc/rc.d/init.d/inet start;

ou
# killall -HUP inetd

Para acessar o swat, carregue o navegador de sua preferncia. Geralmente usamos o Netscape e digite na linha de endereo http://localhost:901/. Ento vai aparecer uma caixa onde voc dever entrar como usurio root e sua devida senha. Depois de entrar com a senha correta, o navegador carregar o SWAT e agora pelo modo visual e intuitivo voc poder fazer as configuraes do servidor Samba. Bom, o restante da configurao permanece igual, a nica diferena que agora estamos dentro do Netscape e o SWAT que ir gerar o arquivo /etc/smb.conf somente com as opes configuradas. O arquivo final fica bem enxuto e compreensvel e desse jeito muito mais fcil ler e interpretar as configuraes.

Anotaes: 214

Global Sul Informtica

215

Treinamento Linux Administrao, Redes e Servios

Captulo 12

Conexes remotas
Vamos aprender neste captulo, o bsico sobre conexes remotas1 em ambiente Linux. Essas conexes podem ser testadas em seu prprio micro e em outros micros, claro. As conexes remotas mais utilizadas so conexes do tipo Telnet que no oferece criptografia, SSH que tem uma boa criptografica, conexes ftp para fazer download e upload de arquivos, conexes do tipo rLogin etc. No sistema Linux Linux, isso j est implementado nativamente bastando que voc apenas tenha os pacotes/programas instalados e levantes os servios necessrios. Nada de ficar comprando programas e pagando licenas, certo?

Usando o Telnet
Acho que voc j ouviu falar em servio telnet, esse tipo de servio oferece login remoto em outro computador ou no seu, e permite que voc trabalha conectado como se estivesse em frente ao seu micro. O problema que ele um pouco lento e no oferece criptografia, e se voc estiver sem sorte uma pessoa mais esperta com um bom sniffer poder varrer os seus pacotes pela rede e capturar informaes que podero revelar seu nome de login e sua senha de acesso e da para fazer um estrago e apenas questo de tempo. Ele substitui o rlogin e possui muitas melhorias em relao a ele, como o controle de acesso, personalizao de seo e controle de terminal. O telnet nada mais do que uma conexo entre duas mquinas com o objetivo de se fazer alguma coisa nelas, que pode ser uma manuteno, execuo de programas etc. Ento para que usar telnet? Eu diria apenas para aprender um pouco sobre conexes remotas , pegar o jeitinho e depois partir para algo mais seguro, como um SSH por exemplo. As principais caractersticas do telnet que voc deve saber que sua conexo rpida porque no utiliza transmisso de dados criptografada, recomendado para ambientes seguros, nesse sentido. O telnet poder ter suporte a criptografia se for via via SSL e ele possui controle de acesso tcpd feito pelo uso do /etc/hosts.allow e /etc/hosts.deny os quais permitem ou impedem certos tipos de acessos. O telnet popular, pois maioria dos sistemas operacionais trazem este utilitrio por padro como sistema de acesso remoto e tambm oferece suporte a terminais ANSI, tais como cores e cdigos de escape especiais para o console e uma grande variedade de outros terminais. Ele muito simples, basta digitar telnet IP Porta, onde IP o IP da mquina, exemplo 10.6.12.150 e Porta a porta 23 mas poder ser uma outra que esteja livre e aceita conexes por ela.

Habilitando telnet entre mquinas


Para usar o telnet, primeiro sua rede dever estar configurada e estar no ar e o outro micro para onde voc est fazendo telnet dever permitir sua conexo, seno no adianta falar que o telnet no est funcionando. Feito isso procure a linha: # telnet 23/tcp no arquivo /etc/services e retire o comentrio # para que seja possvel habilitar o servio. Os arquivos inetd preciso estar no ar; para isso use o comando:
/etc/rc.d/init.d/network restart /etc/rc.d/init.d/inet restart

Outro fato importante que os tcpwrappers precisam liberar uma entrada ou sada de telnet, ou seja, no micro destino (onde vai conectar) o arquivo /etc/host.deny no poder negar um conexo de telnet, seno essa no ocorrer. Depois para conectar ao servidor use o comando telnet [endereo] [porta] para realizar conexes com uma mquina rodando o servidor telnet.

216

Global Sul Informtica

:: Telnet de Windows para uma mquina Linux.

Voc tambm poder usar alguns parmetros como:


-l [usuario]: Envia o nome de usurio ao computador remoto. Muito til se voc estiver usando com o telnet-ssl. -E: Desativa o caracter de escape -a: Tenta fazer o login automtico usando o nome de usurio local. Se o login falhar, ser solicitado o nome de usurio. Esta opo usada por padro com o cliente telnetssl.

Voc pode efetuar um teste em voc mesmo com o comando telnet localhost, automaticamente ser usada a porta 23. Para conectar em outro micro veja esse exemplo telnet -l fabiano 192.168.150 24000. Aqui est sendo feita uma conexo no servidor telnet com o nome de usurio fabiano e a porta usada ser a 24000. Depois que estiver tudo OK, execute o comando telnet <mquina> <porta>. Onde <mquina> o IP ou nome da mquina que voc que acessar e <porta> a porta de conexo que geralmente a 23. Veja aqui o usurio adilson se conectando no diagramacao de uma intranet. Para que o usurio adilson possa entrar na mquina, ele precisar informar o seu login de acesso e sua senha, caso contrrio ele no ter acesso ao micro05.
[adilson@micro05 adilson]$ telnet diagramacao Trying 10.6.12.250... Connected to diagramacao.hackers.net. Escape character is '^]'. Conectiva Linux 9.0 kernel24-2.4.21-28872cl login: adilson Password: Last login: Mon Sep 17 10:12:28 from 10.6.12.150 [adilson@diagramacao adilson]$

Agora, a partir desse ponto j possvel executar qualquer comando no servidor.

217

Treinamento Linux Administrao, Redes e Servios

Usando o SSH
Vamos aprender aqui a usar o SSH Secure Shell, como o prprio nome diz, um shell seguro para usar e trabalhar, pois oferece mtodos de criptografia que o simples telnet no faz. Um administrador poder utilizar o SSH para acessos remotos substituindo servios que apresentam problemas graves de segurana como FTP, Telnet, POP3, X11 e outros. Vale lembrar que esses servios no possuem nenhum mecanismo de encriptao, facilitando a captura de dados por sniffers. O SSH muito parecido com o Telnet, mas possui suporte a criptografia de dados tornando a tcnica de sniffer ineficiente, evitando que logins, senhas, cartes de crditos e outros dados sejam grampeados por hackers/crackers com ms intenses. O SSH possui atualmente vrias implementaes cliente e servidor, entre elas podemos destacar ssh, openssh, ossh, sftp (Secure FTP) e outras. Os clientes so distribudos para quase todas as plataformas existentes e possuem interface grfica ou trabalham em modo texto. A grande vantagem do SSH o grande suporte que possui em listas de discusso, profissionais, documentaes, news group e diversas implementaes. O SSH uma fantstica ferramenta de administrao remota, e vamos ver atravs de exemplos prticos como ele pode substituir no s outras ferramentas de administrao remota como telnet, rlogin, rsh etc. como tambm servios como, por exemplo, o FTP. Tudo isso com a certeza de que quem est conectando na outra ponta est seguro, pois tem criptografia dos dados. O que SSH? Esta ferramenta foi originalmente desenvolvida pela empresa finlandesa de mesmo nome www.ssh.fi e surgiu como uma maneira de suprir as deficincias no s do telnet que no oferece criptografia, mas como tambm do rlogin (Remote Login) e do rsh (Remote Shell). Com o tempo acabou transformandose na ferramenta padro para a administrao de sistemas no mundo Unix/Linux, substituindo totalmente o telnet, tanto que o nome SSH usado hoje no s para designar o programa e a empresa que o criou como tambm suas variantes e clones (como era de se esperar). A grande vantagem do SSH est em encriptar os dados que so transmitidos durante a sesso e provavelmente ningum gosta da idia de ter suas informaes transitando pela rede totalmente abertas, principalmente senhas. Alm disso, possvel que o SSH agregue outros servios como, por exemplo, o SCP (Secure Copy) que substitui com tranqilidade e at com mais praticidade o bom e velho FTP.

Clientes SSH para Windows e Linux


Existem diversos clientes disponveis, desde o original da SSH, que um produto comercial com verses para vrias plataformas e sistemas operacionais, at verses gratuitas. Aqui vamos utilizar do OpenSSH em www.openssh.org, que originrio do projeto OpenBSD www.openbsd.org, que uma verso adaptada do SSH de livre distribuio desenvolvido por Tatu Ylonen, mas com a incluso de novos recursos e outros algoritmos de encriptao que so o RSA e DES, como o Blowfish. Caso voc possua um outro cliente SSH, saiba que os comandos e a utilizao so praticamente idnticos, portanto, se voc j possui uma outra verso no fique preocupado. Em virtude da poltica de exportao de software de criptografia nos Estados Unidos, as verses internacionais, distribuies originrias de l, no podem conter o SSH, ficando com o usurio a tarefa de instal-lo. Caso voc queira utilizar um cliente SSH a partir de uma estao Windows, para administrar suas estaes, saiba que existem clientes SSH para Windows, como o PuTTY, o TeraTERM ou o SecureTTY, basta uma leve pesquisa no google www.google.com.br e voc encontrar inmeros utilitrios para esse fim. O utilitrio PuTTY o mais usado para fazer conexes telnet e SSH, pois ele extremamente leve e rpido e permite uma srie de configuraes alm de ser muito simples de ser usado. O PuTTY tem verses para Windows 95, 98, ME, NT, 2000 e XP e Linux e por isso vou falar um pouco sobre ele. Voc poder obter o Putty em http://www.chiark.greenend.org.uk/~sgtatham/putty/. Os principais arquivos do PuTTY so:
a) PuTTY: O prprio utilitrio para telnet e SSH. b) PSCP: Um pequeno cliente SCP de linha de comando para cpia segura de arquivos. c) PSFTP: Outro pequeno cliente de linha de comando para tranferncias de arquivos tipo FTP. d) PuTTYtel: Um cliente apenas para telnet. e) Plink: Interface para linha de comando para o Putty. f) Pageant: Um agente SSH autenticador para PuTTY, PSCP e Plink. g) PuTTYgen: Utilitrio para gerao de chaves RSA.

218

Global Sul Informtica

Para usar o PuTTY muito simples, execute-o e em Host Name or IP Adress digite o nome do servidor ou IP, escolha a porta (23 ou 23), escolha o protocolo Raw, Telnet, Rlogin ou SSH. Quando a conexo for efetua ser solicitado uma nome de usurio e sua senha. Lembre-se que no servidor os servios (daemons) para o protocolo escolhido dever estar no ar. Lembra da idia de executar remotamente aplicativos grficos? Ento, com o SSH tambm possvel e no precisa fazer nenhum malabarismo. A vantagem que como ns j sabemos a conexo est criptografada. :: Utilitrio Putty para conexes Telnet e SSH.

Preparando o servidor
O pacote do SSH traz tanto o cliente como o servidor, o SSHD (ou SSH Daemon). No caso de uma instalao a partir de pacotes RPM ou DEB, um script estilo System V (ou seja, funciona com os parmetros start, stop, restart etc.) ser criado no respectivo diretrio /etc/rd.d/init.d. Na maioria das distribuies o arquivo de configurao SSH est no /etc:
###### $OpenBSD: ssh_config,v 1.10 2001/04/03 21:19:38 todd Exp $ ... # Host * # ForwardAgent no # ForwardX11 no # RhostsAuthentication no # RhostsRSAAuthentication no # RSAAuthentication yes # PasswordAuthentication yes # HostbasedAuthentication no # BatchMode no # CheckHostIP yes # StrictHostKeyChecking ask # IdentityFile ~/.ssh/identity # IdentityFile ~/.ssh/id_rsa # IdentityFile ~/.ssh/id_dsa # Port 22 # Protocol 2,1 # Cipher 3des # Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc # EscapeChar ~

Os parmetros desse arquivo sero explicados mais adiante. Aps instalar o SSH, vamos utilizlo. Para quem est usando o SSH pela primeira vez, interessante criar o par de chaves pblicas e privadas para a sua estao. Isso feito pelo comando ssh-keygen, basta execut-lo do seguinte modo ssh-keygen -b

219

Treinamento Linux Administrao, Redes e Servios

512 -t rsa dentro do $HOME do usurio para que a chave criada seja para esse usurio, nesse caso a chave ser por padro de 512 bits e usar criptografia RSA:
[gabriel@gabriel gabriel]$ ssh-keygen -b 512 -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/gabriel/.ssh/id_rsa): Created directory /home/gabriel/.ssh. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/gabriel/.ssh/id_rsa. Your public key has been saved in /home/gabriel/.ssh/id_rsa.pub. The key fingerprint is: 53:19:3f:3a:ce:5d:76:e7:a9:ef:16:ec:39:3a:4b:af gabriel@gabriel.hackers.net [gabriel@gabriel gabriel]$

Nesse exemplo, o usurio gabriel que tem direito de usar o ssh acabou de gerar uma chave pblica e poder efetuar suas conexes agora a partir de qualquer mquina que operar com ssh tanto em ambiente Windows, Linux, Unix, QNX, OpenBSD, FreeBSD etc. Ele poder efetuar conexo a partir de uma mquina Windows ou Linux. Para efetuar conexes de uma mquina Linux ele dever usar o comando SSH <nome_ou_IP>. Na linha que informa Enter file in which to save the key (/home/gabriel/.ssh/id_rsa):, o usurio gabriel poderia informar um arquivo para conter as informaes do SSH ou simplesmente pressionar [ENTER], para que os arquivos de configurao sejam criados automaticamente no diretrio .ssh. Depois sugerido uma frase de identificao que poder auxili-lo mais tarde quando da perda da senha. Resumindo, ser criado o par de chaves RSA que sero gravadas, por padro, em seu diretrio HOME. Esse procedimento no obrigatrio, mas pode facilitar bastante a sua vida. Para testar se tanto o cliente quanto o servidor esto funcionando corretamente, tente conectar-se em sua prpria estao usando ssh localhost. Usar o SSH bastante simples, bastando incluir o nome (ou endereo IP) da mquina que se deseja usar. Aqui poderemos verificar como uma chave pblica que est fortemente criptografada e muito difcil de ser quebrada at mesmo por programas hackers consagrados.
[gabriel@gabriel gabriel]$ cat .ssh/id _rsa BEGIN RSA PRIVATE KEYProc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,E3687E79E75B5657 M/B9KIw/nxHU4PG8PRTmfQwonguWLoblQnfC5FYPA/6zoyZTi4ju1c9BjNgTF8JX qMEzsWH+0TswcmnIGYO7r8aNlCV2N/SMUUni7PfcTZs+axAUaWDEtcLWbzpDHx0S 3+S0G53xws0sIaZoYCDKTxFUGzGcQgaxQ1TecoUimwZP9sPGNUNpu90hFBkZltc0 qxtATdtY+OFrMYLy/lg3WEGCjQ2QPh+MnExHzhF83+XDHyDFJIJzZx4B0qPfQ/vr VHqh6Rv/IGAwsaD8jQmFgezu7/OGYqag3OzYr4GGuQ2xISN1oeJDT3g+D5n/p/E7 YCXxFCkHwU9wxT8yert3OdvY5dZk8cziT0Rsy5BdzaO2Ep1xh8ufYVC6eJEQu2aK 2t8D7iR1fwcrNzjiJczBK8z5dycV36oP2O7avKFb9JE= END RSA PRIVATE KEY[gabriel@gabriel gabriel]$

O utilitrio ssh-agent serve para guardar a autenticao da chave pblica (RSA, DSA). A idia que o ssh-agent iniciado em uma seo X (modo grfico) ou em uma seo de login modo texto e em todas as outras janelas e programas que so iniciadas como cliente do programa ssh-agent. Depois que a conexo ocorreu com sucesso voc estar pronto para brincar com o SSH. Quando da primeira conexo em uma determinada estao, ele perguntar se deseja adicion-la sua lista de hosts conhecidos (.ssh/know_hosts). E geralmente o SSH ir tentar se conectar na estao remota usando a mesma conta que voc est usando no servidor local. Para contornar esse problema, use o parmetro -l ou ento usurio@host para especificar quem voc deseja usar na conexo remota.

Execuo de comandos no servidor


Depois de conectado a um servidor SSH ns temos algusn comandos que poderemos usar para trabalharmos com arquivos. a) Secure Copy: Pelo que foi mostrado at agora bastante fcil substituir o telnet pelo SSH na tarefa de administrao de suas estaes. Porm, o SSH permite que voc utilize outros servios usando a conexo segura. O exemplo mais conhecido o scp (Secure Copy) que permite a transferncia de arquivos entre estaes.

220

Global Sul Informtica

Supondo que voc queira enviar um arquivo local para o seu servidor scp [arq_local] [usuario@servidor_remoto]:[arq_servidor] ou supondo que voc queira na sua mquina um arquivo que est no servidor use o comando scp usuario@servidor_remoto:arq usuario@sua_maquina:arq. Flagramos aqui uma tentativa de conexo sem sucesso; acompanhe:
[gabriel@micro05 gabriel]# ssh -l regina 10.6.12.5 regina@hackers.net ls | less The authenticity of host '10.6.12.5 (10.6.12.5)' can't be established. DSA key fingerprint is fc:aa:e7:5f:4c:d9:23:c6:a5:8f:60:83:91:96:af:1c. Are you sure you want to continue connecting (yes/no)? Warning: Permanently added '10.6.12.5' (DSA) to the list of known hosts. regina@10.6.12.5's password: Permission denied, please try again. regina@10.6.12.5's password: bash: regina@hackers.net: command not found

O usurio gabriel de alguma forma tentou executar um comando na mquina com IP 10.6.12.5; mas, como ele no tem posse de todas as informaes de que necessita, no conseguiu. NOTA: O comando scp, como padro de conexo, usa o rsh para fazer seu trabalho de cpias de arquivos. Voc tem, a seguir, uma descrio encontrada nas pginas de manual do rsh. O comando rsh um shell remoto que executa comandos na mquina que aceito sua conexo. O rsh copia sua entrada padro para o comando remoto, a sada padro do comando remoto para a sada padro, e a sada padro de erro do comando remoto para sua sada padro de erro. O rsh normalmente termina quando um comando remoto termina. As opes so as seguintes:
-K: Desliga a autenticao Kerberos. -k: Requisita ao rsh obter tickets para a mquina remota. -l: Por padro, o nome-de-usurio remoto o mesmo que o nome-de-usurio local. A opo -l permite ser especificado um nome de usurio para a mquina remota. -n: Redireciona a entrada de um dispositivo especial /dev/null. -x: Liga a criptografia DES para todos os dados trocados. Isso pode introduzir um atraso significante no tempo de resposta.

Alguns parmetros de configurao do SSH A seguir veremos alguns poucos parmetros interessantes para configurao do arquivo /etc/ssh/ssh_config. So eles: X11 Forward Outro servio interessante que pode ser usado junto com o SSH, o X11 Forwarding. Como todos sabem (ou deveriam saber), o X/Window bem mais do que uma interface grfica, um protocolo de comunicao cliente/servidor que se utiliza do TCP/IP. Graas a isso, o cliente (a aplicao que voc est usando) e o servidor (quem est colocando as janelas na tela) podem tranqilamente estar em computadores diferentes. Assim como no telnet, o uso do X11 Forwarding dentro de uma sesso SSH garante a encriptao daquilo que est indo de um lado ao outro da rede. Voc precisa antes habilitar o acesso da estao remota em seu X/Window local usando o comando # xhost +<nome ou IP da estao remota>. Depois de conectar-se e redirecionar a sada dos programas mudando a varivel do sistema DISPLAY para sua estao com o comando, # export DISPLAY=(nome ou IP da estao local):(n). Sendo n a sesso do X que voc pretende usar (geralmente este valor 0). Aumentando a segurana do SSH Algumas vezes s a encriptao no basta, pois pela rede poder estar trafegando informaes altamente confidenciais, logo vem aquele pergunta: Ser que eu estou seguro de verdade? Ento vamos aumentar um pouco a segurana: no arquivo sshd_config poderemos configurar alguns parmetros que podem nos deixar mais garantidos quanto a quem e de onde nossa mquina pode ser acessada. Os parmetros que podem realmente restringir o acesso so:
1. PermitRootLogin: Yes ou No para habilitar o login como root. 2. AllowHosts: A relao de estaes que podem se conectar, use o endereo IP ou ento o nome da mquina. 3. DenyHosts: A relao das estaes que no podem se conectar.

221

Treinamento Linux Administrao, Redes e Servios

4. AllowUsers: Aqueles que podem se logar na estao. 5. DenyUsers: Aqueles que, por motivos que no vamos discutir agora, no podem se logar. Aps essas alteraes voc vai precisar reinicializar o processo (daemon), isso pode ser feito usando o script que est no init.d com ssh restart ou, ento, com o comando killall -HUP sshd ou pelo comando /etc/rd.d/init.d/ssh restart.

Caso queira disponibilizar o SSH automaticamente na hora de inicializao da mquina, use o programa ntsysv e marque e opo sshd. Se voc quiser saber com que e/ou quem est fazendo uma conexo usando o SSH em sua mquina muito simples, use o comando netstat | grep ssh.

Usando o FTP
O FTP File Transfer Protocol, ou seja, protocolo de transferncia de arquivos a interface com o usurio para o padro ARPANET de protocolo de transferncia de arquivos envolvendo computadores conectados em rede. O programa permite a um usurio transmitir arquivos de/e para um ponto remoto na rede local (intranet) ou via Web (Internet). H vrias maneiras de voc usar um servio FTP em sua mquina e isso vai depender de sua distribuio, por exemplo, sua distribuio poder trabalhar com o FTP annimo, como WU-FTP ou o ProFTPD alm de outros, para isso certifique-se qual deles voc estar usando. Caso sua distribuio use o FTP annimo, o local /home/ftp/ onde voc encontrar os arquivos de configurao. Caso no seja isso voc precisar levantar servios (daemons) de FTP, no Conectiva 9 voc digitar proftpd start para que o servio de FTP estaja no ar, alm claro de habilit-lo nos arquivo que voc aprender daqui a pouco. Mas se voc realmente for montar servidores de FTP ter que escolher entre o WUFTP e o Pro-FTPD e dever aprender a configur-los, eu lhe aconselhoo Pro-FTPD. Na internet voc encontrar inmeros tutoriais sobre isso, veja em ww.linux.trix.net ou www.olinux.com.br. Aqui vamos aprender como que poderemos usar o servio de ftp que o sistema Linux j tem nativo. Usar esse tipo de servio muito simples, para isso sua rede dever estar no ar, operante e com os servios habilitados. Vale lembrar que devemos descomentar, tirar o # no arquivo /etc/inetd.conf, a seguinte linha:
# ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

Assim, ser possvel usar o servio de ftp. Lembre-se de ativar esse servio (/etc/inetd e /etc/network) automaticamente em processo de inicializao usando o ntsysv. Caso o servio no esteja no ar ser possvel ativ-lo com os comandos:
/etc/rc.d/init.d/network start ou restart etc/rc.d/init.d/inet start ou restart

Esses dois comandos so responsveis pelo levantamento da rede e pelo levantamento do servio que disponibiliza o ftp. A mquina destino com a qual o ftp ir se comunicar pode ser especificada na linha de comandos. Se isso for feito, o ftp ir tentar estabelecer uma conexo imediatamente para um servidor FTP nesse destino; de outro modo, o ftp ir entrar em seu modo interpretador de comandos e aguardar instrues do usurio. Enquanto o ftp estiver esperando por comandos, o prompt ftp> ser mostrado ao usurio. Se tudo der certo o usurio poder tentar um ftp nele mesmo da seguinte maneira:
ftp localhost Conectado na mquina localhost. 220 gabriel.hackers.net FTP server (Version wu-2.6.1(1) Sun Sep 24 18:36:35 BRT 2000) ready. Usurio (localhost:root): adilson 331 Password required for adilson. Senha: 530 Login incorrect. Falha no login. ftp> quit 221 Goodbye.

O caso anterior tpico de senha errada e no que o servio no esteja no ar. Aqui o usurio adilson (propositalmente) informou a senha errada e o ftp no continuou a conexo. Quando isso acontece de

222

Global Sul Informtica

maneira correta, o diretrio HOME padro de um servio ftp liberado e nesse diretrio (padro) encontramos os seguintes subdiretrios:
# ls -laF /home/ftp/ total 24 drwxr-xr-x 6 root drwxr-xr-x 37 root dxxx 2 dxxx 2 drwxr-xr-x 2 root drwxr-sr-x 2 root

root root root root root ftp

4096 4096 root root 4096 4096

Jul Jul 4096 4096 Jul Oct

3 20 Jul Jul 3 17

14:24 12:51 3 3 14:24 2000

./ ../ 14:24 bin/ 14:24 etc/ lib/ pub/

Vale lembrar de que os diretrios /bin/ e /etc/ so usados somente para execuo de scripts e programas se assim forem configurados, enquanto o /lib/ e /pub/ podero ser configurados com outros tipos de permisses. Por exemplo: quando fazemos um ftp para atualizar nossas pginas em um provedor qualquer, nosso diretrio HOME l est configurado para rwx depois que informamos nosso login e senha.

Comandos bsicos para ftp


Os seguintes comandos so reconhecidos pelo ftp: append arquivo-local [arquivo-remoto]: Adiciona um arquivo local a um arquivo na mquina remota. Se o arquivo remoto no for especificado, o arquivo local usado para dar nome ao arquivo remoto aps ser alterado por qualquer configurao de ntrans ou nmap. Transferncias de arquivos usam os ajustes de tipo, formato, modo e estrutura atuais. ascii: Ajusta o tipo de transferncia de arquivo para ASCII na rede e binary. Ajusta o tipo de transferncia de arquivos para suportar imagens de arquivos binrios. bell: Aps cada comando de transferncia completado faz um beep. bye: Termina a sesso ftp com o servidor remoto e sai do ftp. Um fim de arquivo tambm ir encerrar a sesso e sair. cd: Lista o diretrio-remoto; lcd: Lista o diretrio-local e cdup: Muda o diretrio de trabalho na mquina remota para o diretrio imediatamente superior ao atual. chmod modo nome-do-arquivo: Muda as permisses do arquivo nome-do-arquivo no sistema remoto para modo. Mas somente se o usurio que est conectado tiver as permisses para isso. close: Termina a sesso ftp com o servidor remoto e retorna ao interpretador de comandos. Quaisquer macros definidas so apagadas. disconnect: Um sinnimo para close. delete arquivo-remoto: Apaga o arquivo arquivo-remoto na mquina remota. dir [diretrio-remoto]: Mostra a listagem do diretrio diretrio-remoto. get arquivo-remoto [arquivo-local]: Recupera o arquivo-remoto e o armazena na mquina local. Se o nome do arquivo local no for especificado, ele ter o mesmo nome que na mquina remota, sujeito s alteraes impostas pelas configuraes case, ntrans e nmap. As atuais configuraes para type, form, mode e structure sero usadas en quanto o arquivo estiver sendo transferido. help [comando]: Mostra uma mensagem informativa sobre o significado do comando. Se nenhum parmetro for especificado, o ftp mostrar uma lista de todos os comandos vlidos. lcd [diretrio]: Muda o diretrio de trabalho na mquina local. Se nenhum diretrio for especificado, o homedir do usurio ser usado e ls [diretrio-remoto]: Mostra uma listagem do contedo de um diretrio da mquina remota. mdelete [arquivos-remotos]: Apaga os arquivos-remotos na mquina remota. mdir arquivos-remotos arquivo-local: Como o dir, exceto que mltiplos arquivos podem ser especificados. Se o prompt interativo estiver habilitado, o ftp ir questionar o usurio para confirmar que o ltimo parmetro realmente um nome de arquivo na mquina local para receber a sada do comando mdir; mkdir nome-do-diretrio: Cria um diretrio na mquina remota. mget arquivos-remotos: Expande os arquivos-remotos na mquina remota e faz um get para cada nome de arquivo obtido (download). mput arquivos-locais: Expande coringas na lista de arquivos passada e faz um put para cada arquivo resultante da lista. Os nomes resultantes sero ento processados de acordo com as configuraes ntrans e nmap; put arquivo-local [arquivo-remoto]: Armazena um arquivo local na mquina remota (upload). nlist [diretrio-remoto] [arquivo-local]: Mostra uma lista dos arquivos de um diretrio da mquina remota. Se o diretrio-remoto no for especificado, o diretrio atual ser usado.

223

Treinamento Linux Administrao, Redes e Servios

open mquina [porta]: Estabelece uma conexo para o servidor ftp da mquina especificada. Um nmero de porta opcional pode ser especificado, fazendo com que o ftp tente contatar um servidor ftp nesta porta. prompt: Habilita/desabilita o prompt interativo. O questionamento interativo acontece durante a transferncia de mltiplos arquivos para permitir ao usurio seletivamente recuperar ou armazenar arquivos. Se o prompt interativo for desativado (o padro estar ativado), qualquer mget ou mput transferir todos os arquivos, e qualquer mdelete deletar todos os arquivos. pwd: Mostra o nome do diretrio atual na mquina remota; quit: Um sinnimo para bye; rename [de] [para]: Renomeia o arquivo na mquina remota. rmdir nome-do-diretrio: Deleta um diretrio na mquina remota. send arquivo-local [arquivo-remoto]: Um sinnimo para put. trace: Habilita/desabilita o rastreamento de pacotes.
DICA: Para abortar uma transferncia de arquivos, use a tecla de interrupo do terminal (normalmente CONTROL+ C). Transferncias de envio sero automaticamente suspensas. Transferncias de recepo sero suspensas enviando um comando ABOR para o servidor remoto e descartando quaisquer dados novos que sejam recebidos. A velocidade com que isso ser completado depende do suporte da mquina para o processamento do comando ABOR.

login nome: Identifica um usurio na mquina remota. Se esse item estiver presente, o processo de auto-login ser iniciado usando o nome especificado. password senha: Fornece uma senha. Se este item estiver presente, o processo de auto-login fornecer a senha especificada se o servidor remoto exigir uma senha como parte do processo de entrada. Perceba que se esse item estiver presente no arquivo .netrc para qualquer outro usurio que no seja o anonymous, o ftp ir abortar o processo de auto-login se o arquivo .netrc for legvel para qualquer usurio exceto o prprio usurio.

Fazendo ftp via modo texto


Para fazer um ftp via modo texto, basta digitar o comando ftp seguido do IP ou nome da mquina que desejamos acessar ou somente ftp e depois que a conexo for efetuada digita-se o comando open seguido do IP ou nome da mquina a ser acessada. Em muitos casos quando estamos baixando arquivos de HOW-TOs em modo texto possvel visualiz-los assim que terminar o download; para isso, depois de conectado use o comando ftp> get index.txt | more. Um exemplo mais interessante ainda quando voc tem um arquivo postscript e quer baix-lo e visualiz-lo com o ghostscript aps o download, tudo isso porque voc fominha e no pode esperar. Depois de conectado use o comando ftp> get hacking_passwd.ps.gz | gzip -dc | gs -. Legal, agora o fato de que voc tem direito de gravao remota via ftp e quer fazer transferncias de arquivos e/ou diretrios. Use o comando ftp> put | tar cvf - . arquivo.tar. Assim, ser criado um arquivo chamado arquivo.tar e depois ele ser enviado para a mquina remota. Quer melhorar esse comando? Mande-o compactado com o comando compress assim ftp> put | tar cvf - . | compress -c arquivo.tar.Z.

Fazendo ftp via modo grfico


Para fazermos ftp em modo grfico, o sistema Linux nos oferece vrios utilitrios desde os mais simples at os mais avanados e com inmeras opes e entre eles um dos melhores o gftp do ambiente Gnome, al de outro utilitrios como o Kget, WebDownloader, IglooFTP, wget, WsFTP etc. Se voc j usou utilitrio para Windows semelhante, voc no vai encontrar dificuldade. O Linux tambm tem o WS_FTP o qual muito bom e igualzinho o do Windows, e tambm tem o Cute FTP que apresenta a mesma cara e muitos semelhantes. Havendo erro na verificao, ser necessrio repetir o download, tomara que isso no seja necessrio pois o download demoraaaaaado. :-)

224

Global Sul Informtica

Arquivo de configurao do servidor ftp


Exemplo de arquivo configurao do ProFTPd. A seguir ns temos um exemplo de configurao do ProFTPd:
## Configurao do ProFTPD# # # Configurao personalizada # ServerName ::Servidor ProFTPD Editora Futura:: ServerType standalone # Tambm pode ser usado o inetd. DefaultServer on ScoreboardFile /var/run/proftpd/scoreboard DeferWelcome on ServerAdmin gabriel@hackers.net SyslogFacility AUTH # Permite baixar arquivos aos poucos. AllowRetrieveRestart on # Para standalone usamos a porta 21 Port 21 # impede gravao de novos diretrios e arquivos. Umask 022 # Nmero mximo de instncias. MaxInstances 30 # Mximo de clientes conectados ao mesmo tempo. MaxClients 10 # Modo de transferncia de arquivos. DefaultTransferMode binary # Permite listagem colorida. LsDefaultOptions "-al --color=auto" # Usurio root no pode fazer conexes. RootLogin off # Desconecta aps 5 minutos se nada acontecer. TimeoutIdle 500 # Mostra links simblicos para listagens. ShowSymlinks On # Usurio apenas acessa seu diretrio $HOME dele. DefaultRoot ~ # Usurio e grupo para o servidor User nobody Group nobody <Directory /*> AllowOverwrite no </Directory> # Configurao bsica de ftp annimo, sem diretrio # para recepo de arquivos. <Anonymous ~ftp> User ftp Group ftp DirFakeUser on DirFakeGroup on RequireValidShell off # ftp = anonymous UserAlias anonymous ftp # nmero mximo de logins annimos MaxClients 10 "Nmero mximo de clientes, tente mais tarde." # No mximo duas conexes por cliente MaxClientsPerHost 2 "Voc j est com muitas conexes abertas." # O Welcome.msg mostrado na conexo e .message mostrado para cada # diretrio acessado. DisplayLogin welcome.msg DisplayFirstChdir .message AccessGrantMsg "Acesso annimo aceito para %u."

225

Treinamento Linux Administrao, Redes e Servios

# Limite gravao no chroot annimo <Limit WRITE> DenyAll </Limit> </Anonymous>

Conforme voc pode perceber aqui a configurao do servidor Pro-FTPD no to complicada assim. Basta apenas uma observao no arquivo e j podemos descobrir como que ele funciona. Tambm podemos percebemos no exemplo a existncia de vrias diretivas at se iniciar o contexto <Directory>. Estas diretivas fazem parte do contexto principal. Em outras palavras: as diretivas que no estiverem dentro de algum contexto do tipo <Contexto> ser considerado do contexto principal e por uma questo de organizao, devero ser declaradas no incio do arquivo. Logo aps o contexto principal, temos o contexto <Directory> determinando como o ProFTPd se comportar ao acessar o diretrio /*, ou seja, todos os diretrios. O prximo contexto o <Anonymous>, que neste caso utilizar o diretrio ~ftp (diretrio raiz do usurio ftp) para servir arquivos a serem acessados pelo login anonymous. Perceba que neste exemplo temos o contexto <Limit> com a ao WRITE determinando como o ProFTPd se comportar quando um usurio anonymous tentar fazer um upload de um arquivo.

226

Global Sul Informtica

Anotaes:

227

You might also like