Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Instituio Credenciada pelo MEC Portaria 4.385/05 Centro Universitrio do Sul de Minas - UNIS Unidade de Gesto da Educao a Distncia GEaD Mantida pela Fundao de Ensino e Pesquisa do Sul de Minas - FEPESMIG
Varginha/MG
2
SILVA, Rodrigo Gomes da. Guia de Estudo Tpicos em Sistemas de Informao. Rodrigo Gomes da Silva - Varginha: GEaD-UNIS, 2010. 148p.
Todos os direitos desta edio reservados ao Sistema Aberto de Educao SABE. proibida a duplicao ou reproduo deste volume, ou parte do mesmo, sob qualquer meio, sem autorizao expressa do SABE.
REITOR Prof. Ms. Stefano Barra Gazzola GESTOR Prof. Ms. Wanderson Gomes de Souza Supervisora Tcnica Prof. Ms. Simone de Paula Teodoro Moreira Design Instrucional Prof. Celso Augusto dos Santos Gomes Jacqueline Aparecida Silva Coord. do Ncleo de Comunicao Renato de Brito Coord. do Ncleo de Recursos Tecnolgicos Lcio Henrique de Oliveira Coordenadora do Ncleo Pedaggico Terezinha Nunes Gomes Garcia Maria Carolina Silva Castro Oliveira Equipe de Tecnologia Educacional Danbia Pinheiro Teixeira Reviso ortogrfica / gramatical Gisele Silva Ferreira
Autor Rodrigo Gomes da Silva Especializando em Informtica com nfase em anlise de sistemas pela UFMG, Especialista em docncia do ensino superior pela FINOM, bacharel em sistemas de informao pela UEMG e Tcnico em processamento de dados pelo CETEV.
CONES
REALIZE. Determina a existncia de atividade a ser realizada. Este cone indica que h um exerccio, uma tarefa ou uma prtica para ser realizada. Fique atento a ele.
PESQUISE. Indica a exigncia de pesquisa a ser realizada na busca por mais informao.
PENSE. Indica que voc deve refletir sobre o assunto abordado para responder a um questionamento.
CONCLUSO. Todas as concluses sejam de ideias, partes ou unidades do curso viro precedidas desse cone.
IMPORTANTE. Aponta uma observao significativa. Pode ser encarado como um sinal de alerta que o orienta para prestar ateno informao indicada.
HIPERLINK. Indica um link (ligao), seja ele para outra pgina do mdulo impresso ou endereo de Internet.
EXEMPLO. Esse cone ser usado sempre que houver necessidade de exemplificar um caso, uma situao ou conceito que est sendo descrito ou estudado.
SUGESTO DE LEITURA. Indica textos de referncia utilizados no curso e tambm faz sugestes para leitura complementar.
APLICAO PROFISSIONAL. Indica uma aplicao prtica de uso profissional ligada ao que est sendo estudado. CHECKLIST ou PROCEDIMENTO. Indica um conjunto de aes para fins de verificao de uma rotina ou um procedimento (passo a passo) para a realizao de uma tarefa. SAIBA MAIS. Apresenta informaes adicionais sobre o tema abordado de forma a possibilitar a obteno de novas informaes ao que j foi referenciado.
INDCE
UNIDADE I - CONCEITOS INICIAIS ................................................................................................................................ 9 1.1 INTRODUO AO SOFTWARE LIVRE ........................................................................................................................ 11 1.2 VANTAGENS DO SOFTWARE LIVRE .......................................................................................................................... 13 1.3 POR QUE NO USAR SOFTWARE PROPRIETRIO ..................................................................................................... 14 1.4 O GNU ..................................................................................................................................................................... 15 1.5 ORIGEM DO LINUX .................................................................................................................................................. 15 1.6 DISTRIBUIES DO LINUX........................................................................................................................................ 16 1.7 UBUNTU .................................................................................................................................................................. 18 1.8 COMO OBTER O UBUNTU ........................................................................................................................................ 19 1.9 EXPERIMENTANDO ANTES DE INSTALAR ................................................................................................................. 19 1.10 CONHECENDO O AMBIENTE .................................................................................................................................. 22 UNIDADE II - UTILIZANDO O GNU/LINUX UBUNTU 9.10 ............................................................................................ 27 2.1 INSTALANDO O UBUNTU NO HD ............................................................................................................................. 29 2.2 SISTEMA DE ARQUIVOS E DIRETRIOS .................................................................................................................... 39 2.3 TERMINAL E CONSOLE ............................................................................................................................................. 40 2.4 COMANDOS BSICOS DO GNU/LINUX..................................................................................................................... 41 2.5 USURIO ROOT........................................................................................................................................................ 43 2.6 USURIOS E GRUPOS...............................................................................................................................................44 2.7 GERENCIADOR DE ATUALIZAES ....................................................................................................................................44 2.8 GERENCIAMENTO DE PACOTES ............................................................................................................................... 46 2.9 GERENCIANDO PACOTES COM O SYNAPTIC ............................................................................................................. 48 2.10 INFORMAES DO SISTEMA ................................................................................................................................. 50 2.11 PERMISSES EM LINUX ......................................................................................................................................... 56 2.12 CONFIGURAES DE REDE ....................................................................................................................................61 2.13 CONFIGURANDO REDE SEM FIO ............................................................................................................................ 62 2.14 WINE RODANDO APLICAES PARA WINDOWS NO LINUX ................................................................................ 64 2.15 INSTALANDO O JAVA NO UBUNTU......................................................................................................................... 65 2.16 CONEXO PPPOE ................................................................................................................................................... 66 UNIDADE III - SERVIDORES E OUTROS RECURSOS ...................................................................................................... 71 3.1 SERVIDOR DE ARQUIVOS COM O SAMBA ........................................................................................................................... 73 3.2 LAMP LINUX + APACHE + MYSQL + PHP ..................................................................................................................... 76 3.3 MENSAGENS INSTANTNEAS NO UBUNTU ......................................................................................................................... 80 3.4 ANALISADOR DE UTILIZAO DO DISCO ............................................................................................................................ 82 3.5 INSTALANDO IMPRESSORAS ............................................................................................................................................ 83 3.6 MAIS COMANDOS ........................................................................................................................................................ 85 3.7 PANDA ANTIVRUS NO LINUX .......................................................................................................................................... 87 3.8 COMPACTANDO E DESCOMPACTANDO ARQUIVOS ................................................................................................................ 89 3.9 CONFIGURANDO UM SERVIDOR PROXY COM SQUID ............................................................................................................ 91 3.10 CACHE DO SQUID ....................................................................................................................................................... 98 3.11 RESTRINGINDO O ACESSO POR DOMNIO ....................................................................................................................... 102 3.12 RESTRINGINDO O ACESSO POR IP .................................................................................................................................105 3.13 RESTRINGINDO O ACESSO POR PALAVRAS NA URL ........................................................................................................... 107
3.14 BLOQUEANDO O ACESSO POR HORRIO ........................................................................................................................109 3.15 MONITORAMENTO DE ACESSO COM SARG ....................................................................................................................109 3.16 CONFIGURANDO UM SERVIDOR DHCP .........................................................................................................................111 3.17 CONFIGURANDO UM SERVIDOR DE FTP ........................................................................................................................113 3.18 CONFIGURANDO XMAIL.............................................................................................................................................118 3.19 PHPXMAIL COMO FRONT-END DO XMAIL ....................................................................................................................122 3.20 SITES PARA LEITURAS SOBRE LINUX ..............................................................................................................................129 ANEXO .................................................................................................................................................................... 133
EMENTA
Introduo ao software livre, origem do software livre, vantagens do software livre, origem do sistema Gnu/Linux, distribuies do Linux, sistema de arquivos e instalao do Linux, Kernel, Shell, arquivos, diretrios, bash, comandos bsicos, usurios, grupos, permisses de acesso, interfaces grficas, instalao e remoo de pacotes, configuraes do sistema, configuraes de rede, servidor de arquivos samba, servidor web apache e xmail.
META
A unidade 1 deste guia de estudos tem como meta apresentar os conceitos bsicos do software livre por meio de uma introduo ao estudo e apresentao da histria do surgimento do software livre, Conhecer as vantagens do software livre e apresentar o projeto GNU, compreender a histrico do sistema operacional GNU/Linux e apresentar algumas distribuies disponveis no mercado.
OBJETIVOS
Esperamos que, aps o estudo desta unidade voc seja capaz de: 1. Definir os conceitos bsicos de software livre; 2. Apresentar a histria do surgimento do software livre; 3. Identificar os quatro pilares que sustentam o software livre; 4. Demonstrar as vantagens do software livre frente aos softwares proprietrios; 5. Definir o que o projeto GNU; 6. Relatar a histria do surgimento do sistema operacional GNU/Linux; 7. Explicar o sistema de distribuio do GNU/Linux.
9
PR-REQUISITOS
Para o perfeito aproveitamento do aluno nesta unidade necessrio que o mesmo conhea os conceitos bsicos de hardware, software, as definies e categorias de software tais como sistema operacional. desejvel ainda que o mesmo conhea os conceitos bsicos da instalao de sistemas operacionais e a configurao do Seup de um computador de forma que seja possvel configur-lo para iniciar pela unidade de CD/DVD.
10
A filosofia do software livre baseia-se na troca de conhecimentos e experincias, proporcionando uma democratizao do saber. A evoluo dos softwares livres acontece de forma to rpida, justamente pelo envolvimento de diversas pessoas, de vrias partes do mundo em um mesmo projeto. Os quatro pilares do software livre, citados cima, demonstram a preocupao das comunidades de desenvolvedores na quebra de barreiras econmicas para a distribuio e acesso s novas tecnologias. A liberdade de executar o software para qualquer uso permite que os usurios utilizem tais sistemas da maneira seja necessrio, independente da autorizao do seu criador. A liberdade de distribuir o software democratiza a utilizao da tecnologia por grupos de usurios que poderiam no ter acesso ao software por questes de custo e direitos autorais. A liberdade de estudar o software democratiza o conhecimento, do ponto de vista que alunos e profissionais da rea de desenvolvimento tm acesso ao cdigo fonte e passa a compartilhar as experincias de vrios desenvolvedores. A liberdade de melhorar o software proporciona um grande aumento de qualidade dos softwares livres, pois novas verses so criadas por desenvolvedores do mundo todo e so redistribudas para a comunidade de usurios. A filosofia do software livre no surge apenas pela questo do custo do software, mas visa a democratizao do acesso tecnologia e o conhecimento. Lembre-se dos quatro pilares do software livre: a liberdade de executar o software para qualquer finalidade, a liberdade de distribuir o software, a liberdade de estudar o software e a liberdade de melhorar o software.
12
mundo possuem acesso ao cdigo, o que nos proporciona uma maior agilidade na percepo de fragilidades que podem ocasionar em perdas irreparveis, principalmente se pensarmos no mundo coorporativo. Mais pessoas conhecem o software, mais pessoas conhecem o fonte, mais pessoas procuram falhas de segurana e mais pessoas trabalham na melhoria de tais falhas. Desta forma fcil concluir as vantagens dos softwares livres sobre os softwares proprietrios. Mais pessoas conhecem o cdigo-fonte do software, isto implica que mais pessoas esto apontando falhas de segurana e estudando melhorias, enquanto que no software proprietrio, apenas os desenvolvedores da empresa proprietria tm acesso a este cdigo.
14
Leia o artigo Por que usar software Livre? Disponvel no endereo: http://www.dicas-l.com.br/dicas-l/20000116.php
1.4 O GNU
Em 1983, Richard Stallman deu incio ao Projeto GNU, com o objetivo de desenvolver uma nova verso do Unix, acompanhada de aplicativos e ferramentas compatveis, tais como editores de textos, o projeto definia a necessidade de todos os pacotes de software serem livres. Em 1985 ele publicou o manifesto GNU, intitulado General Public License. A GPL no somente concede as quatro liberdades do software livre mas tambm as protege. Hoje a GPL a licena mais utilizada por softwares livres.
O Linux possui a licena GPL, o que permite que qualquer pessoa tem a permisso de utilizar seus programas com o objetivo de no tornar os programas fechados e nem comercializados. Depois da distribuio da primeira verso do Linux, o seu desenvolvimento no parou mais. Vrias comunidades de desenvolvedores espalhadas pelo mundo continuam desenvolvendo novas verses, cada comunidade trabalha em uma distribuio especfica, com suas particularidades, mas mantendo os princpios bsicos do sistema operacional original. Nos dias atuais, devido ao grande esforo de desenvolvedores do mundo todo, as verses do Linux so capazes de rodar em qualquer tipo de plataforma tecnolgica. A ideologia do software livre tem motivado desenvolvedores de todo mundo a reunirem-se em comunidades de desenvolvimento com objetivos comuns.
Quando voc for escolher qual distribuio dever utilizar, leve em considerao alguns pontos, tais como: - recursos necessrios; - forma de utilizao (desktop ou servidor); - interfaces grficas disponveis; - a distribuio compatvel com o hardware disponvel; - a distribuio possui pacotes de softwares necessrios; - o processo de instalao e configurao est de acordo com as minhas aptides; - h uma comunidade de usurios da qual eu possa participar. De forma geral, impossvel responder qual a melhor distribuio. Cada caso um caso, desta forma preciso analisar e avaliar as vantagens e desvantagens das distribuies disponveis antes de optar por uma. Leve em considerao a seguinte regra: opte sempre pela distribuio mais atualizada possvel; lembre-se que quanto mais atualizada for a distribuio, maior sero as facilidades de configurao e compatibilidade com hardware e recursos de comunicao. Dentre as distribuies mais utilizadas no Brasil esto: - Conectiva - Kurumin - Debian BR - Debian - Fedora - Gentoo
17
- Knoppix - Mandriva - Red Hat - Slackware - SUSE - Ubuntu - Yellow Dog Linux (para Mac) Faa a leitura do primeiro captulo do livro: Linux O Guia essencial, disponvel no endereo:
http://books.google.com.br/books?id=V4zSF3sjREIC&pg=PA22&dq=Gnu&lr=la ng_pt&as_brr=0&cd=9#v=onepage&q=Gnu&f=false
1.7 UBUNTU
O Ubuntu um sistema operacional de fonte aberta, baseado no Kernel do Linux. Desenvolvido com a filosofia do software livre, ele livre de custos, inclui tradues e recursos de acessibilidade de qualidade e possui distribuies constantes de novas verses e atualizaes. Baseado no Debian, uma das mais utilizadas distribuies do Linux, o Ubuntu uma distribuio coerente para a utilizao em desktops e servidores. O Ubuntu proporciona um ambiente de trabalho seguro e eficiente, tanto para usurios domsticos como comerciais. A numerao da verso do Ubuntu definida pelo ano e ms de lanamento. A primeira verso lanada em outubro de 2004 denominava-se 4.10. A verso atual do Ubuntu, que a verso que iremos utilizar em nosso curso a verso 9.10.
18
Aps baixar o Ubuntu grave-o em um DVD para que possamos experimentar este maravilhoso sistema operacional.
19
Siga os passos abaixo para que voc possa experimentar o Ubuntu 9.10 sem a necessidade de instalar o sistema operacional em seu computador. Mesmo que voc j tenha algum outro sistema operacional instalado, veja como fcil testar o Ubuntu em seu computador. Para isso, o primeiro passo certificarmos de configurar a BIOS(Setup) para dar o Boot pelo drive de CD/DVD. Feito isto, insira o DVD do Ubuntu no drive e inicie o computador. Com a devida configurao do Boot pelo CD/DVD a tela a seguir ser apresentada, onde sero necessrias algumas alteraes de idioma e possivelmente mapa de teclados (keymaps), conforme demonstrado na figura abaixo:
20
Aps definir as opes de configurao do idioma e outras que se fizerem necessrias, basta escolher a opo Iniciar Ubuntu para carregar o mesmo. Desta forma o Ubuntu ser iniciado em seu computador sem que seja instalado no HD. Assim voc poder conhecer e experimentar o Ubuntu antes de instal-lo.
At este momento no escolha ainda a opo de instalao do sistema operacional no disco, antes de instal-lo vamos experimentar! Posteriormente iremos trabalhar com o sistema operacional instalado.
21
Trs menus principais so disponibilizados no canto superior direito da tela, sendo eles: Aplicativos, Locais e Sistema. No menu Aplicativos so disponibilizados os menus Acessrios, Escritrio, Grficos, Internet, Jogos, Multimdia e Central de Programas do Ubuntu. Teste alguns destes recursos e veja como fcil trabalhar com o Ubuntu. Navegue pelos menus e sub-menus testando os aplicativos disponveis. No menu Locais, como o prprio nome j diz, disponibilizam os locais de armazenamento e acesso do Ubuntu, tais como unidades de disco, pastas do usurio, locais de rede, etc.
22
Faa o mesmo, navegue pelos menus e sub-menus e se familiarize com o ambiente. No menu Sistema, o Ubuntu disponibiliza ferramentas para anlise e monitoramento de Hardware e configuraes de forma geral. Navegue pelos menus e sub-menus e conhea tais recursos. No canto superior direito da tela, o Ubuntu disponibiliza alguns recursos importantes que podem nos ajudar no dia a dia, tais como informaes de data e hora, volume de som, e conexes de rede. No perca tempo, explore agora mesmo tais recursos! Alm disso, no canto superior direito da tela, o Ubuntu disponibiliza o boto Desligar, por onde podemos facilmente desligar o computador, reiniciar, trocar de usurios alm de outras opes. Experimente agora! No menu Aplicativos/Escritrio, podemos explorar os recursos do pacote de escritrio OpenOffice, um pacote bastante similar ao Microsoft Office, com recursos de editorao de textos, planilhas eletrnicas e apresentaes de slides. No menu Aplicativos / Grficos temos a opo de trabalhar com imagens de forma profissional, utilizando o software Gimp, disponvel no Ubuntu, alm de podermos gerenciar foto e trabalhar com digitalizao de imagens. No menu Aplicativos / Internet localizaremos o navegador padro do Ubuntu, o Mozila Fire Fox, um excelente navegador de Internet. Alm do Fire Fox, podemos contar com um Cliente de Mensagens Instantneas, que nos permite conectar com vrias redes de mensagens, tais como MSN, Yahoo e outras, alm de cliente de email e outros recursos. Os recursos aqui citados so apenas alguns recursos disponveis no Ubuntu, navegue por todos os menus e sub-menus e conhea melhor o ambiente.
23
Nossa prxima etapa ser realizar a instalao do Ubuntu no HD, para que possamos ganhar em desempenho e possamos explorar de fato os recursos deste sistema operacional incrvel.
Reveja os conceitos estudados nesta unidade. Faa um resumo geral dos tpicos apresentados.
Aps rever todos os conceitos estudados nesta unidade, responda as questes abaixo: 1. Quando e como surgiu o conceito de software livre? 2. O que a OSF e qual o seu objetivo? 3. Qual o objetivo da filosofia do software livre? 4. Apresente as vantagens da utilizao do software livre. 5. Quais os pilares que sustentam o desenvolvimento do software livre? 6. O que o projeto GNU? 7. Explique a origem do sistema operacional GNU/Linux. 8. O que so as distribuies GNU/Linux? 9. O que o Ubuntu? 10. O que significa dizer que uma distribuio GNU/Linux pode ser utilizada em Live/CD?
24
CONCLUSO
Ao final desta unidade podemos concluir a importncia do surgimento do software livre, tendo em vista os diversos benefcios que o mesmo proporcionar democratizao do acesso tecnologia como ao conhecimento, por meio de seus pilares que proporcionam a capacidade de utilizao do software frente a qualquer tipo de necessidade, a possibilidade de estudo do software, alterao e distribuio do mesmo. O software livre deixou de ser uma tendncia e h tempos se tornou realidade, no s no Brasil, mas tambm no mundo. Os profissionais de Sistemas de Informao e reas afins devem estar atentos a esta realidade de mercado que pode proporcionar enormes oportunidades de crescimento profissionais e realizao pessoal. O estudo do software livre, no nosso caso em especfico, o GNU/Linux se faz de extrema importncia para a acesso profissional dos alunos deste curso. O profissional de tecnologia pode atingir seus objetivos financeiros atuando com softwares livres mesmo que este no seja comercializado, mas atravs de implantao de sistemas, manuteno e treinamentos.
RESUMO DA UNIDADE
Na unidade 1 deste guia de estudo, procuramos apresentar os conceitos iniciais e histrico do surgimento do software livre. Demonstramos as vantagens da utilizao do software livre, o surgimento do projeto GNU, que busca regulamentar a utilizao de software livre no mundo. Em especial, focamos o sistema operacional GNU/Linux, objeto de estudo desta disciplina, atravs do primeiro contato com a distribuio Ubunto 9.10.
25
Procuramos apresentar ainda um pouco do histrico do surgimento do sistema operacional GNU/Linux e suas principais distribuies.
Demonstramos como obter uma cpia gratuda do sistema operacional em estudo e como experimentar o sistema sem a necessidade de instalao do mesmo do computador.
NA PRXIMA UNIDADE
Na prxima unidade sero apresentados os processos de instalao do Ubuntu 9.10 em disco, dando nfase aos processos de particionamento de
discos, sistemas de arquivos e estrutura de diretrios do Linux. Veremos
tambm a utilizao de comandos pelo Terminal, o registro de usurios e super-usurios, assim como o controle e administrao de grupos. Ainda na prxima unidade, sero apresentados os recursos para a utilizao do sistema de gerenciamento de pacotes, a aquisio de pacotes por meio do APT e pelo Synaptic, as ferramentas para a obteno de informaes do sistema, os conceitos de permisses de acesso, configuraes de redes cabeadas e redes sem fio, a utilizao de aplicativos Windows no ambiente Linux, a instalao de pacotes Java e a configurao de conexes PPPoE.
26
META
A unidade 2 deste guia de estudos tem como meta apresentar os conceitos necessrios utilizao do sistema operacional GNU/Linux, desta vez j instalado no computador e permitir que o usurio tenha acesso aos recursos bsicos necessrios do sistema, recursos de segurana, rede e Internet.
OBJETIVOS
Esperamos que, aps o estudo desta unidade voc seja capaz de: 1. Realizar a instalao do sistema operacional GNU/Linux; 2. Compreender o sistema de arquivos e estrutura de diretrios do sistema em estudo; 3. Utilizar os comandos bsicos do Linux por meio do Terminal; 4. Explorar o sistema de usurios do Linux, conhecendo todo processo relacionado ao usurio root, insero, alterao e excluso de novos usurios; 5. Utilizar o gerenciamento de atualizaes e pacotes do Linux; 6. Consultar as informaes do sistema;
27
7. Montar regras de permisses de acesso a aquivos e diretrios; 8. Configurar uma rede local cabeada em Linux; 9. Configurar uma rede sem fio em Linux; 10. Utilizar recursos que permitam rodas aplicaes Windows no Linux; 11. Instalar pacotes para aplicaes Java; 12. Configurar conexes PPPoE.
PR-REQUISITOS
Como pr-requisitos para o perfeito acompanhamento desta unidade, espera-se que o aluno tenha noes bsicas de instalao de sistemas operacionais e configurao do Setup, entenda os conceitos de arquivos e pastas em um sistema operacional, compreenda mesmo que a nvel bsico, os conceitos de rede e do protocolo TCP/IP e particionamento de HDs.
28
mquina?
Observe com cuidado os tpicos acima antes de iniciar o processo de instalao do GNU/Linux Ubuntu em seu computador!
Analise bem estes itens, pois podemos definir diversas opes para a instalao do Ubuntu. A primeira coisa a fazer verificar a compatibilidade do meu hardware com o sistema operacional que queremos instalar: Vamos imaginar agora que voc j possui um sistema operacional instalado em sua mquina, um Windows por exemplo. Suponhamos que voc possua um HD de 150 Gb e que este HD possui uma nica partio. Neste caso, para mantermos os dois sistemas operacionais na mquina voc precisar de um software capaz de redimensionar a sua partio, sem perder os dados. Alguns softwares disponveis podem fazer isso. Um dos mais utilizados o Partition Magic. Tome cuidado, pois aes erradas com este tipo de software podem acarretar em perdas irreparveis de dados.
29
O melhor mesmo voc fazer um backup de todos os seus arquivos antes de pensar em redimensionar o HD. Agora vamos imaginar o seguinte, voc j redimensionou a sua partio e seu HD ficou estruturado da seguinte forma: 100 Gb a sua partio primria onde o Windows se manteve instalado assim como todos os seus programas, e voc agora possui um espao livre, no particionado de 50 GB. justamente a que iremos instalar o Linux, para isto precisamos definir as parties necessrias para a instalao.
Atente-se aos passos abaixo, eles demonstraro como instalar o sistema operacional GNU/Linux Ubuntu 9.10 no seu computador.
Antes de iniciar a instalao do GNU/Linux Ubuntu no seu computador, leia todo o processo de instalao apresentado nesta unidade.
A criao das parties destinadas ao Linux poder ser criada durante o processo de instalao, ento mos a obra, vamos agora iniciar o Linux pelo Live-CD, da forma que fizemos anteriormente durante o tpico: Conhecendo o Ambiente. Insira o CD/DVD no drive e reinicie o computador. Escolha o idioma e realize os processos definidos no tpico anterior, como j fizemos anteriormente.
30
Para iniciar a instalao do Ubuntu no HD, clique sobre o cone Instalar o sistema no computador, conforme a imagem acima. A partir da, deveremos seguir os passos sugeridos pelo assistente de instalao do Ubuntu, observando os questionamentos realizados pelo mesmo. Voc ser questionando sobre qual idioma deseja instalar o Ubuntu, conforme a tela abaixo:
31
E finalmente deveremos particionar o disco para receber a instalao do Ubuntu. Este sem dvidas o ponto mais crtico do processo de instalao do Ubuntu. Fique atento, o particionamento correto do HD de fundamental importncia para o perfeito funcionamento do sistema operacional e, no caso de Hds com mais de um sistema operacional, o particionamento errado pode acarretar em perdas de dados e at mesmo do prprio sistema.
32
Se por acaso voc for instalar o sistema operacional em um computador que no possui nenhum sistema, e se esse for utilizar todo o disco, basta escolher a opo Assistido Usar disco Inteiro, isto far com que o assistente de instalao do Ubuntu prepare todo o disco para ser utilizado pelo Linux, atente-se para o fato de que esta opo ir apagar todo contedo do disco, e o Linux passar a utilizar o HD em sua totalidade.
33
Mas como exemplificamos anteriormente, vamos imaginar que temos aqui uma partio de 100 GB onde rodamos o sistema operacional Windows, e um espao de 50 GB ainda no particionado, onde desejamos instalar o Linux, desta forma escolha a opo Particionamento Manual, o que nos permitir definir o tamanho das parties utilizadas pelo Linux.
Sugiro que seja criadas 3 parties para a instalao do Linux, uma ser utilizada para a estrutura de diretrios raz, outra para rea de troca (swap) e a outra para o diretrio pessoal dos usurios (/home). As duas primeiras Rais (/) e a home(/home) utilize o tipo Ext3, um tipo de sistema de arquivos nativo do Linux, na terceira partio utilize o tipo Swap, que ser utilizada como rea de troca em disco.
34
Observe tambm a necessidade da rea de Swap ser a ltima rea definida, desta forma teremos a estrutura definida abaixo. Em relao ao tamanho das parties, claro que isto vai depender da quantidade de espao livre no seu HD que voc deseja utilizar, mas observe o seguinte: Sugere-se que a rea de Swap tenha no mnimo o dobra da capacidade da sua memria RAM.
O prximo passo a possibilidade de importamos contas de outros sistemas operacionais instalados para o Ubuntu. Selecione as opes desejadas e clique em Avanar.
35
Posteriormente deveremos definir o usurio do sistema, onde voc dever informar os dados do usurio tais como: nome para acesso, senha, etc. Feito isto, clique em Avanar.
36
Aps a concluso destes passos, uma tela mostrando um resumo do processo de instalao exibida, voc poder conferir todas as opes escolhidas e clicar em Install para de fato realizar a instalao do sistema.
Finalizado o processo de instalao, clique no boto Reiniciar agora, lembre-se de remover o CD/DVD de instalao do drive, desta forma voc poder utilizar o Ubuntu j instalado no seu computador. Faa o login no sistema utilizando o nome de usurio e senha criados durante o processo de instalao.
37
Revendo todo processo de instalao do GNU/Linux: 1. Configure a Bios do seu computador para iniciar o Boot pelo drive de CD/DVD. 2. Inicie o computador pelo CD/DVD e escolha o idioma. 3. Aps acessar o Ubuntu pelo Live/CD clique no cone Instalar o sistema no computador. 4. Escolha novamente o idioma. 5. Escolha o fuso-horrio que ir utilizar. 6. Escolha o layout do teclado. 7. Prepare as parties. 8. Informe os dados de sua conta (usurio, senha, etc...) 9. Cheque todas as opes. 10. Inicie o processo de instalao.
38
/boot arquivos necessrios ao processo de inicializao /dev /etc arquivos de dispositivos arquivos de configurao
/media arquivos removveis montados (cds, pendrives, etc.) /root /sys /tmp /usr /var diretrio home do usurio root informaes do sistema arquivos temporrios arquivos que podem ser disponveis a todos os usurios arquivos variveis, tais como logs e outros
39
Na tela do Terminal, poderemos visualizar o nome do usurio e o nome do computador. No exemplo acima, identificamos o usurio rodrigo, utilizando o computador informatica. Tambm podemos identificar o nvel de usurio como usurio comum pelo identificador cifro ($), a partir da podemos utilizar alguns comandos bsicos que veremos adiante.
40
q abandona o comando top Comando free exibe informaes da memria do seu computador Comando chmod altera as permisses de arquivos e diretrios, veremos conceitos de permisses mais adiante. Comando fdisk gerencia as parties do disco Comando passwd altera senha de usurios Comando ifconfig exibe informaes da interface de rede
Pratique um pouco, crie diretrios, copie algum arquivo para os diretrios criados, apague os arquivos copiados, apague diretrios, etc...
Alm de podermos trabalhar com o modo Termial, podemos utilizar as linhas de comando no modo Console, para alterar a utilizao do Linux para o modo Console, pressione as teclas CTRL + ALT + F1 Existem disponveis 6 console, cada console acessado pelas teclas CTRL + ALT + F1 at CTRL + ALT + F6 Para retornar para o modo grfico, utilize CTRL + ALT +F7.
42
43
possvel a partir da, visualizar e editar as propriedades dos usurios, adicionar novos usurios, excluir usurios e gerenciar os grupos de usurios. Em Gerenciar grupos voc pode, por exemplo, definir que um usurio qualquer faa parte do grupo root dando a ele poderes de um super usurio.
Aps Verificar a existncia de atualizaes disponveis, voc poder escolher a opo Instalar atualizaes para realizar todas as atualizaes possveis, conforme a figura abaixo:
Manter o sistema operacional atualizado nos trar diversos benefcios, dentre eles podemos citar um melhor desempenho e segurana.
45
apt-get install nome_do_pacote - instala um novo pacote no sistema apt-get remove nome_do_pacote - remove um pacote instalado (no exclui os arquivos de configurao) apt-get purge remove nome_do_pacote - remove um pacote instalado excluindo tambm os arquivos de configurao apt-get upgrade - atualiza todos os pacotes instalados apt-get dist-upgrade - atualiza o sistema com uma nova verso apt-cache search termo - procura por termo na lista de pacotes disponveis
46
dpkg -l nome_pacote - lista os pacotes instalados que casam com nome_pacote, utilize *nome_pacote* se voc no souber o nome completo do pacote. apt-cache showpkg - pacotes mostra informaes sobre os pacotes apt-cache dumpaival - mostra uma lista de pacotes disponveis apt-cache pkgnames - rpida listagem dos pacotes instalados no sistema
Inicie o Terminal e teste os comandos abaixo: Supomos que voc gostaria de procurar por um jogo de corrida, para isto iremos utilizar o comando apt-cache search, conforme abaixo: sudo apt-cache search racing game isto ir listar pacotes que contenham o termo racing game; Veja o resultado abaixo:
47
Suponhamos
agora
que
desejamos
instalar
pacote
extremetuxracer, listado na imagem, para isto utilizaremos o apt-install, da seguinte forma: sudo apt-get install extremetuxracer Voc pode acompanhar a progresso da instalao atravs da tela do Terminal. Possivelmente, pode existir defeitos em algum pacote instalado, isto pode fazer com que o apt fique travado, sem concluir a instalao de algum pacote, isto far com que o apt no aceite a instalao de algum outro pacote.
Algumas artimanhas podem resolver este tipo de problema, tais como: apt-get update desta forma voc poder ter certeza de que a lista de pacotes apt se encontra atualizada. apt-get -f install utiliza o sistema de resoluo de problemas dpkg -i force -all fora a instalao de pacotes com problemas dpkg -r nome_do_pacote desiste da instalao de algum pacote dpkg configure -a verifica a existncia de pendncias de na configurao de pacotes
48
A janela divide-se em trs partes bsicas, o navegador de pacotes esquerda, a relao de pacotes direita e os detalhes dos pacotes direita abaixo. O Synaptic mantm uma lista de pacotes no seu sistema, esta lista tem o objetivo de informar ao usurio sobre novos pacotes disponveis. O sistema verifica a existncia de novos pacotes cada vez que iniciado.
49
A navegao pelos pacotes pode ser realizada por meio de categorias, sees, status do pacote, filtros personalizados ou resultados da busca.
50
Se preferir, voc pode gerar um relatrio em formato HTML, para isto utilize o comando abaixo: sudo lshw -html >nome_do_arquivo.html
51
Ou ainda voc poder gerar um relatrio no formato XML. Veja o exemplo abaixo: sudo lshw -xml >relatorio.xml
52
Alguns parmetros podem ser adicionados ao lshw para que possamos especificar determinadas informaes, tais parmetros podem ser teis no momento em que precisamos de informaes de um dispositivo especfico, facilitando assim a leitura e compreenso dos dados. Os parmetros podem ser indicaes de leitura de informaes dos discos, interfaces de rede, componentes de vdeo e outros. Obter informaes de forma compacta: sudo lshw -short
53
55
O sistema de permisses visualizado por e letras, rwx, onde: r - read a permisso para ler o arquivo; w - write a permisso para escrever no arquivo; x - execute a permisso para executar o arquivo;
56
Quando criado um arquivo ou diretrio, o usurio que criou tal item denominado dono do arquivo, ao utilizarmos o comando ls -l, podemos identificar a primeira sequncia de letrar rwx como a permisso definida para o dono do arquivo, ou seja, o usurio que o criou. A primeira letra da permisso indicar se um arquivo ou diretrio, observe a descrio retirada da figura acima: drwxr-xr-x 2 rodrigo rodrigo rea de trabalho
Observe que o esquema de descrio comea por d, ou seja, rea de trabalho um diretrio. Vejamos o prximo item: -rw-r-- 1 rodrigo rodrigo examples.desktop
Como o esquema de permisses deste item comea com o carcter - (hifen), podemos identific-lo como um arquivo. Observe ainda que tanto o diretrio como o arquivo utilizado no exemplo, apresentam os nome rodrigo rodrigo. O primeiro
nome identifica o dono do arquivo, ou seja, o usurio que o criou. O segundo nome identifica o grupo de usurio que podem utilizar este arquivo, claro que respeitando as permisses configuradas. Vamos analisar mais um exemplo: -rwxrwxrwx rodrigo funcionarios carta.txt Lembremos que o primeiro carter identifica arquivo - ou diretrio d, neste caso podemos afirmar que carta.txt um arquivo. Os trs prximos caracteres identificam a permisso para o dono do arquivo, ou seja: neste caso, o usurio rodrigo o dono do arquivo e tem permsso para rwx no arquivo, ou seja, pode ler, escrever e executar o arquivo.
57
Os trs prximos caracteres identificam a permisso para o grupo de usurios, ou seja: neste caso, o grupo funcionrios tem permisso para rwx no arquivo, ou seja, pode ler, escrever e executar o arquivo. E por fim, os trs ltimos caracteres identificam a permisso para os demais usurios, ou seja, usurios que no sejam nem o dono do arquivo, nem faam parte de um grupo definido de usurios autorizados a acessar o arquivo. Neste caso, podemos afirmar que os demais usurios tm permisso para rwx no arquivo, ou seja, pode ler, escrever e executar o arquivo. Vamos agora trabalhar com exemplos mais elaborados, para que possamos exercitar nossos conhecimentos em permisses no Linux. -rwxr-x--rodrigo funcionarios carta.txt
O primeiro item da permisso - identifica um arquivo; Os trs prximos itens rwx identificam que o dono do arquivo, neste caso rodrigo, pode ler, escrever e executar o arquivo. Os trs prximos itens r-x identificam que o grupo de usurios funcionrios, pode ler e executar o arquivo, no entanto, no pode escrever no arquivo pois a permisso w foi substituda pelo caracter -, isso gera o efeito de anulao da permisso. E os trs prximos itens --- identificam que os demais usurios no possuem nenhum tipo de acesso ao arquivo, ou seja, no podem ler, nem escrever nem executar o arquivo. Podemos definir as permisses por meio de um sistema simples de numerao, onde: r igual a 4; w igual a 2 x igual a 1
58
a definio das permisses gerada pelo comando chmod, por exemplo: Se quisermos definir que um usurio tenha permisso para apenas ler o arquivo, utilizamos apenas o nmero 4. Se quisermos definir que um usurio tenha permisso para ler e escrever o arquivo, utilizamos 4 +2, ou seja, utilizamos 6. Se quisermos definir que um usurio tenha permisso para ler, escrever e executar um arquivo utilizamos 4+2+1, ou seja, utilizamos 7. Para que possamos praticar um pouco estes conceitos, utilize um editor de texto para criar o arquivo teste.txt dentro do seu diretrio de trabalho, em seguida utilize o comando ls -l para visualizar suas permisses no terminal.
Podemos tambm definir permisses utilizando a interface grfica, desta forma devemos visualizar o item atravs do menu Locais / Pasta Pessoal, conforme a figura abaixo:
59
Clique com o boto direito do mouse sobre o arquivo, escolha Propriedades / Permisses, assim ser possvel definirmos as permisses utilizando apenas alguns cliques com o mouse:
60
61
Observe que no exemplo, existe uma interface de rede (placa de rede) ativa chamada de eth0, o IP da placa de rede 192.168.254.5, o Broadcast da rede 192.168.254.255 e a mscara de sub-rede 255.255.255.0. Alm disso, podemos observar tambm a interface para Loopback definida pelo IP 127.0.0.1 e mscarade sub-rede 255.0.0.0. Para alterar as configuraes da sua rede clique no menu Sistema/Preferncias/Conexes de Rede
Aqui voc poder visualizar e/ou editar as configuraes de sua rede, tais como utilizar DHCP ou definir manualmente o seu IP.
62
O Network Manager procura automaticamente as redes sem fio disponveis, para acess-lo clique com o boto direito do mouse no cone do programa, localizado no canto superior direito da tela, ao lado do relgio. Certifique-se que a opo Habilitar rede sem fio est selecionada.
Para a configurao de senhas e chave de criptografia abra o menu Aplicativos / Acessrios / Senhas e chave de criptografia. Clique no menu Arquivo / Novo... Na janela Criar nova... escolha Senha do Chaveiro e clique em Continuar. D um nome para o novo chaveiro e clique em Adicionar. Deixe os campos Senha e Confirmar Senha em branco e clique no boto Criar. Na caixa Armazenar senhas sem criptografia?, clique em Usar armazenamento no seguro.
Voc deve deixar o campo senha em branco para que no seja necessrio digitar uma senha toda vez que a rede sem fio for habilitada.
63
Aps realizar a instalao do Wine possvel instalarmos e utilizarmos sistemas Windows no nosso ambiente.
65
O JRE necessrio para rodarmos aplicaes Java no Ubuntu, o plugin Java necessrio para rodarmos aplicaes Java pelo navegador de Internet e o JDK kit de desenvolvimento necessrio para os programadores em Java.
66
Voc dever realizar as seguintes configuraes: 1. confirmar a deteco da placa de rede; 2. informar o nome de usurio fornecido pelo provedor; 3. informar a senha fornecida pelo provedor; 4. se j possuir uma conexo PPPoE configurada o aplicativa perguntar se deseja alter-la; 5. se no tiver certeza das configuraes a serem escolhidas, responda o padro para todas as perguntas, para isto baste pressionar enter; 6. limited MSS modem problem choose YES 7. voc ser questionado se deseja ativar a conexo durante o boot, responda que sim; 8. e por fim, perguntar se deseja iniciar a conexo imediatamente.
67
Reveja os conceitos estudados nesta unidade. Faa um resumo geral dos tpicos apresentados.
Aps rever todos os conceitos estudados nesta unidade, responda as questes abaixo: 1. Quais as parties necessrias para a instalao do Linux? 2. Em qual diretrio localizam-se os dados dos usurios do Linux? 3. Pratique os comandos do Terminal vistos nesta unidade. 4. Por que necessrio definirmos uma senha para root depois da instalao do Ubuntu? 5. O que o Synaptic? 6. O que o APT? 7. Como funciona o sistema de permisses do Linux? 8. O que o Wine?
68
CONCLUSO
Ao final desta unidade, podemos observar as facilidades de instalao e utilizao do sistema operacional Linux, principalmente em relao distribuio aqui apresentada, Ubuntu 9.10. Ressaltamos a importncia do gerenciamento de usurios e pacotes de instalaes e atualizaes do sistema.
RESUMO
Na unidade 2 deste guia de estudo, apresentamos o processo de instalao do sistema operacional GNU/Linux, apresentamos a estrutura de diretrios e sistema de arquivos, a utilizao de comandos bsicos por meio do Terminal, a gesto de usurios e grupos de usurios no Ubuntu, o gerenciamento de atualizaes e pacotes de instalao. Apresentamos ainda o processo de obteno de informaes do sistema, o sistema de permisses de acesso a diretrios e arquivos, o processo de configurao de redes locais cabeadas, redes locais sem fio e conexes PPPoE. Demonstramos ainda a possibilidade de utilizao de aplicaes Windows no ambiente Linux e a instalao de pacotes Java para aplicaes desktop, web e para ambientes de desenvolvimento.
NA PRXIMA UNIDADE
Na prxima unidade apresentaremos os recursos de servidores Linux e conceitos mais avanados. Sero demonstradas as configuraes dos servidores Samba e LAMP (Linux+Apache+Mysql+PHP), a utilizao de
69
sistemas de mensagens instantneas e analisadores de discos, a instalao de dispositivos externos e comandos do Terminal a nvel mais avanados. Veremos ainda a instalao e utilizao de sistemas de antivrus, o processo de compactao e descompactao de arquivos. Focaremos os servidores de rede, demonstrado os conceitos para instalao e configurao de um servidor proxy com Squid, a configurao do cache rpido e cache lento do Squid, a restrio de acessos por domnio, palavras, IPs e horrios e o monitoramento de acessos por meio da ferramenta Sarg. Tambm sero apresentados os conceitos para a instalao e configurao de servidores DHCP, FTP e E-mail.
70
META
A unidade 3 deste guia de estudos tem como meta apresentar os conceitos intermedirios do sistema operacional GNU/Linux. Sero abordados temas relativos preparao do sistema para trabalhar com vrios tipos de servios aplicados s redes coorporativas.
OBJETIVOS
Esperamos que, aps o estudo desta unidade voc seja capaz de: 1. Configurar um servidor SAMBA; 2. Configurar um servidor LAMP (Linux + Apache + MySql + PHP); 3. Utilizar o sistema de mensagens instantneas do Ubuntu; 4. Utilizar ferramentas de anlise de utilizao de disco; 5. Instalar dispositivos de sada como impressoras; 6. Instalar e utilizar sistemas de antivrus no Linux; 7. Compactar e descompactar arquivos e diretrios; 8. Configurar um servidor proxy com Squid;
71
9. Criar regras de restrio no servidor proxy Squid; 10. Monitorar o servidor proxy atravs do Sarg; 11. Configurar um servidor DHCP; 12. Configurar um servidor FTP; 13. Configurar um servidor de email.
PR-REQUISITOS
Para o perfeito acompanhamento desta unidade, o aluno dever ter assimilado os conceitos apresentados nas unidades 1 e 2, conhecer os conceitos bsicos de servios de rede, conhecer os conceitos bsicos de instalao e atualizao de drivers, compreender o funcionamento de sistemas de antivrus, entender os conceitos de servidor web, servidor de banco de dados, proxy, cache, domnio, protocolo TCP/IP, servio de DHCP, FTP e email.
72
A primeira coisa a ser feita verificar a minha rede, para isto, pint em algum computador da sua rede, isto pode ser feito por meio do Terminal, utilizando o comando ping e o nmero do IP que voc deseja pingar. Verifique tambm o seu acesso a Internet, pois possivelmente iremos precisar da rede para baixar atualizaes. Aps verificar os requisitos de rede acima, acesse o seu Linux com usurio root. Em seguida abra o Terminal e digite o comando para instalao do Samba: apt get install samba4
73
Se o Samba no estiver instalado no seu sistema operacional sero realizados os downloads necessrios instalao e a instalao acontecer de forma automtica. Aps a instalao do Samba, o sistema ir criar o arquivo smb.conf dentro da pasta /etc/samba/. Este arquivo responsvel pela configurao de todo o servio. Abra o arquivo smb.conf localizado na pasta indicada acima e registre nele as configuraes abaixo:
Em [global] #nome do grupo de trabalho workgroup = escritorio #Como a mquina Linux ir aparecer na rede Windows netbios name = servidor (est linha pode ser adicionada a baixo do workgroup)
####### Authentication ####### #Modo de acesso aos arquivos do Linux security = "share" ou "user" (caso exista, remova o # que est no incio desta linha) #share = para NO exigir autenticao #user = para exigir autenticao ex: security = user
Agora adicione estas linhas no final do arquivo: #nome do compartilhamento [arquivos] # descrio do compartilhamento
74
# caminho da pasta, no Linux, que ser compartilhada path = /home/voce #(Informe o caminho da pasta que voc quer compartilhar, pode ser /home/voce) #se todos os compartilhamentos podero ser acessados por todos os usurios public = yes # se o compartilhamento ser visivel ou oculto na rede (yes para visvel) browseable = yes # se permitir escrita writable = yes
# define a mascara em que os arquivos sero criados create mask = 0700 #(tero a permisso rwx somente para o root)
Salve o arquivo de configurao, e execute este comando para reiniciar o samba $ sudo /etc/inti.d/samba restart
Caso tenha colocado security = user, no momento que for acessar por uma mquina Windows ser exibido uma tela de login e senha. Para cadastrar esta senha no Linux execute os seguintes comandos.
75
este comando adiciona usurio teste na lista de usurios do Linux $ sudo adduser teste este comando adiciona o usurio na lista de usurios do Samba $ sudo smbpasswd -a teste
76
O Apache se responsabiliza pelo acesso as pginas, o MySQL se responsabiliza pelos bancos de dados do seu sistema e o PHP interpreta e executa os scripts PHPs de suas pginas. Para iniciarmos a instalao do LAMP log no sistema com usuario root, informando a sua devida senha. Faremos a instalao dos pacotes em separado para que voc possa entender melhor todo o processo de instalao.
Abra o Terminal e digite o comando abaixo: sudo apt-get install apache2 Isto ir baixar os pacotes e instalar o apache no seu Linux. Em seguida iremos instalar o PHP utilizando o comando abaixo: sudo apt-get install php5 libapache2-mod-php5 Em seguida iremos startar o apache com o comando sudo /etc/init.d/apache2 restart A partir deste ponto j podemos realizar alguns testes com hospedagens locais de pginas web estticas (html) e pginas dinmicas (php). Teste a disponibilidade do seu servidor, para isto abra o seu navegador de internet (Fire Fox) ou outro de sua preferncia e digite nele o endereo de localhost (http://127.0.0.1)
77
A tela a seguir dever ser exibida, indicando que o servidor apache est rodando:
Vamos testar agora a hospedagem de pginas estticas (html). Clique no menu Aplicativos / Acessrios / Editor de textos gedit No gedit crie uma pgina html simples com o cdigo abaixo:
<html> <title>Teste de Servidores Web</title> <body> Meu primeiro teste com Apache no Linux
78
</body> </html> Salve o arquivo com o nome teste.html na pasta: /var/www Aps salvar o arquivo no diretrio correto, abra novamente o seu navegador web e digite o endereo: http://127.0.0.1/teste.html O resultado abaixo dever ser apresentado:
Faamos agora um teste com pginas dinmicas (php), abra novamente o editor de texto e crie um novo arquivo com o cdigo abaixo: <html> <title>Teste de Servidores Web com PHP</title> <body> <?php $myString = "Hello Word!"; echo $myString;
79
echo " Meu teste com PHP funcionou perfeitamente!"; ?> </body> </html> Em seguida salve o arquivo no mesmo diretrio com o nome de teste2.php. Abra novamente o seu navegador de internet e acesse o endereo:
http://127.0.0.1/teste2.php
80
Ao acessar o aplicativo pela primeira vez voc dever informar a conta de usurio e senha ou escolher uma das opes disponveis, conforme a imagem abaixo:
O aplicativo Empathy nos permite acessar sistemas de mensagens instantneas como MSN, Google Talk, AIM e outros. Se voc j possui uma conta em um destes servios, escolha a primeira opo Sim, eu digitarei os detalhes da minha conta agora e clique em Avanar. Na opo Qual tipo de conta de bate-papo voc possui? escolha em qual servio voc deseja se conectar, informe em seguida a sua ID de usurio e senha. Feito isto clique no boto Aplicar.
81
A sua lista de contatos ser automaticamente capturada e voc poder iniciar sua conversa.
83
84
Listar processos ps -aux Matar processo kill -9 <nmero do processo> Compactar arquivo zip <nome do arqivo> Descompactar arquivo unzip <nome do arquivo> Descompactar arquivo .tar.gz tar -xzvf <arquivo>.tar.gz Testar conexo de rede ping <ip_do_PC> Configurar IP ifconfig eth0<IP_host>netmask<mscara_da_rede>up Visualizar dispositivos PCIs lspci Limpar a tela clear Visualizar calendrio cal Ver data atual e hora date
86
Copie para a pasta root o arquivo pavcl_Linux_i386.tgz, para isto utilize o comando: sudo mv pavcl_Linux_i386.tgz / Faa a descompactao do arquivo utilizando o comando: tar xvfz pavcl_Linux_i386.tgz A descompactao ir criar a estrutura de diretrios necessrios para o funcionamento do antivrus. A sintaxe de utilizao do antivrus :
pavcl [caminho] -parmetro1 -parmetro2 ... -parmetroN
87
As tabelas abaixo identificam alguns parmetros que podem ser utilizados com o Panda:
88
89
90
Um servidor proxy um software que realiza o compartilhamento de Internet com outras estaes de trabalho de sua rede. Alm de realizar o compartilhamento do acesso ele nos permite gerar controles de acesso e cache de pginas acessadas. Com o controle de acesso podemos definir o que os nossos usurios podero acessar na Internet, gerando filtros de pacotes que autorizam ou negam o acesso a determinadas pginas. Com o cache de pginas podemos armazenar as pginas visitadas pelos usurios, desta forma, toda vez que um usurio tenta acessar uma pgina j visitada, o sistema no busca a pgina na Internet e sim no servidor de proxy, com isto ganhamos em desempenho da rede. O primeiro passo instalar os pacotes do Squid, para isto, abra o Terminal e utilize o comando abaixo: sudo aptitude install squid squid-common Posteriormente faa uma checagem para verificar se o pacote foi istalado corretamente: sudo dpkg -l | grep squid Aqui voc visualizar informaes do seu pacote Squid. Acesse agora o diretrio de configuraes bsicas do Squid, ele se encontra em /etc/squid/
91
O arquivo de configurao do squid squid.conf, faa uma cpia de segurana deste arquivo, pois no caso de alguma configurao errada, voc poder restaur-la e voltar as configuraes iniciais do sistema. Aps ter feito a cpia de segurana, d um clique duplo sobre o arquivo para que voc possa editar neles as configuraes do seu servidor proxy. O Gedit ir abrir o arquivo e exibir o contedo conforme a figura abaixo:
Limpe todo o contedo do arquivo squid.conf, pois iremos comear a configurao do mesmo a partir do zero. Alguns aplicativos para configurao de proxy podem ser baixados da Internet, dentre eles o mais utilizado o Webmin, no entanto vamos estudar os conceitos da configurao manual, sem a ajuda de nenhum aplicativo especfico. Posteriormente, quando voc j conhecer os conceitos bsicos da configurao de um servidor proxy, voc ter mais facilidade em trabalhar com este tipo de aplicativo. Abra o arquico squid.conf, nele vamos adicionar as linhas abaixo: http_port 3128 visible_hostname servidor
92
acl all src 0.0.0.0 / 0.0.0.0 http_access allow all Estas configuraes so suficientes para o inicio do funcionamento do Squid, vejamos agora o que significa cada linha.
http_port 3128 define a porta onde o squid ir funcionar visible_hostname servidor define o nome do computador onde o servidor proxy est sendo configurado. No caso de dvida entre no Terminal e digite o comando hostname, voc dever utilizar o nome retornado pelo comando. acl all src 0.0.0.0 / 0.0.0.0 e http_access allow all Estas duas linhas criam uma acl (acl uma poltica de acesso) chamada all todos, incluindo todos os endereos Ips possveis, ou seja, esta poltica de segurana permite que qualquer IP acesse o servidor proxy. Para que voc possa testar as configuraes do Squid preciso reiniciar o servio, para isto utilize o comando: /etc/init.d/squid restart
Aps reiniciar o servio, voc ver uma tela como apresentada na figura abaixo:
93
Para saber se o servidor proxy est funcionando, vamos configurar no navegador de Internet, no meu caso o Fire Fox para buscar pginas em um servidor proxy. Como vou realizar os testes na mquina em que eu estou configurando o proxy, o endereo do proxy que vou utilizar ser 127.0.0.1 porta 3128. Para iniciar esta configurao abra o Fire Fox clique em Editar / Preferncias / Avanado, clique no boto configurar conexo, marque a opo Configurao manual de proxy, no campo HTTP preencha 127.0.0.1 Porta 3128. Marque a opo Usar este proxy para todos os protocolos, conforme demonstrado na figura abaixo:
94
Aps configurar o proxy no navegaro de Internet faa o seguinte teste: tente acessar qualquer pgina e veja o que acontece:
95
Veja o que est acontecendo. No foi possvel abrir a pgina que solicitamos. Isto bom ou ruim? Na verdade isto timo! sinal que nosso servidor proxy est funcionando corretamente. O que acontece que no definimos ainda quais pginas podero ser acessadas, desta forma o servio bloqueia todas as pginas. Uma configurao de proxy to simples pode gerar problemas de segurana, neste caso, por exemplo, qualquer micro poder acessar o seu proxy. Passamos ento a melhorar um pouco mais nossas configuraes. Edite novamente o arquivo squid.conf com o contedo abaixo:
96
http_port 3128 visible_hostname servidor acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535 acl purge method PURGE acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports acl redelocal src 192.168.0.0/24 http_access allow localhost http_access allow redelocal http_access deny all
Vamos entender nossas configuraes agora: As acl's SSL_ports e Safe_ports indicam quais as portas podem ser acessadas pelo proxy. A acl localhost tem o endereo 127.0.0.1 que libera o acesso para a sua mquina local, ou seja utilizando recursos do localhost. A acl redelocal identifica os micros da rede que tero acesso ao servidor proxy.
97
As trs ltimas linhas identificam que libera o acesso (http_access allow) para micros pertencentes ao grupo localhost e redelocal e nega o acesso (http_access deny all) para os demais micros que tentem acessar o servio. Depois de aplicar estas alteraes, reinicie o servio para que todas as configuraes sejam ativadas. Para reiniciar o servio v para o Terminal e digite o comando: /etc/init.d/squid restart Teste as novas configuraes, acesse o navegador e tente abrir alguma pgina na Internet.
Reveja os conceitos estudados at aqui. Para assimilar tudo da melhor forma, faa e refaa vrias vezes.
98
O cache da RAM um cache menor, tendo em vista que a memria RAM deve ser ocupada por outros dispositivos e recursos, j o cache do HD pode ser maior, tendo em vista a alta capacidade de armazenamento dos discos rgidos. Por consequncia, o cache da RAM conhecido como cache rpido e o cache do HD conhecido por cache lento, a deduo para isto evidente, o acesso as informaes da memria RAM vrias vezes mais veloz do que o acesso as informaes do disco rgido. A definio da quantidade de memria RAM a ser utilizada pelo cache rpido gerada pelo comando cache_men. Por exemplo, se voc quiser reservar 64 Mb da memria RAM para o cache rpido, insira o comando abaixo no arquivo squid.conf cache_mem 64 MB Basicamente voc poder reservar 64 MB em um servidor que atende apenas as mquinas de uma pequena rede e no caso de um servidor dedicado reserve um tero da memria total da mquina. Depois de definirmos a quantidade de memria RAM reservada para o cache rpido devemos identificar o tamanho mximo dos arquivos que sero armazenados neste cache. Como a memria RAM limitada, devemos limitar tambm o tamanho dos arquivos que iro para este cache. Se voc quiser que o cache rpido armazene arquivos de no mximo 64 Kb, insira a linha abaixo: maximum_object_size in_memory 64 KB Posteriormente, devemos indicar o tamanho mximo dos arquivos que sero armazenados no cache lento, ou seja, no cache do HD. Se voc quiser que o tamanho mximo destes arquivos sejam por exemplo, 512 MB, insira as linhas abaixos: maximum_object_size 512 MB
99
minimum_object_size 0 Mb possvel ainda configurar um limite de utilizao do cach. Desta forma, sempre que o cache atingir o limite previamente configurado ele comea a descartar os arquivos mais antigos, liberando assim espao. Por exemplo, imagine que voc queira que toda vez que o cache em disco atingir 95% de sua capacidade ele elimine os arquivos mais antigos at atingir um limite de 90%. Para isto insira as linhas abaixo: cache_swap_low 90 cache_swap_high 95 Posteriormente deveremos configurar o diretrio de destino do cache em disco, assim como a sua capacidade de armazenamento. Para isto insira no arquivo a linha; cache_dir ufs /var/spool/squid/ 2048 16 256 A linha acima indica que o cache em disco ser armazenado na pasta /var/spool/squi/, o tamanho mximo de armazenamento de 2048 MB. A capacidade de armazenamento pode ser alterada de acordo com a sua disponibilidade e necessidade. Lembre-se que quanto maior o espao destina ao cache, mais tempos os arquivos ficaro armazenados. Os valores 16 e 256 indicam respectivamente a quantidade de subpastas que sero criadas dentro do diretrio de cache. O prximo passo definir o local de armazenamento do arquivo de logs de acesso. Para isto insira a linha abaixo: cache_access-log /var/log/squid/access.log Posteriormente, voc dever configurar o tempo em que o servidor proxy ir chegar os arquivos armazenados para verificar se houve ou no alteraes. O primeiro valor (15) indica que depois de 15 minutos sempre que
100
for acessado o arquivo ser checado, o terceiro valor (2280 equivalente a 2 dias) indica que este arquivo sempre ser checado. Insira estas configuraes atravs das linhas abaixo: refresh_pattern ^fpt: 15 20% 2280 refresh_pattern ^gopher: 15 20% 2280 refresh_pattern . 15 20% 2280 Depois de adicionadas todas as configuraes, verifique o contedo do arquivo de configurao: http_port 3128 visible_hostname servidor cache_mem 64 MB maximum_object_size_in_memory 64 KB maximum_object_size 512 MB minimum_object_size 0 KB cache_swap_low 90 cache_swap_high 95 cache_dir ufs /var/spool/squid 2048 16 256 cache_access_log /var/log/squid/access.log refresh_pattern ^ftp: 15 20% 2280 refresh_pattern ^gopher: 15 0% 2280 refresh_pattern . 15 20% 2280 acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 102565535
101
acl purge method PURGE acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports acl redelocal src 192.168.0.0/24 http_access allow localhost http_access allow redelocal http_access deny all
Lembre-se as configuraes apresentadas nesta unidade necessitam do acesso como super-usurio. Log no Linux como root.
endereos e em seguida utiliza o parmetro http_access para bloquear o liberar os endereos especificados na regra. acl bloqueados dstdomain orkut.com http_access deny bloqueados No exemplo acima, bloqueados o nome da regra criada e orkut.com o endereo referenciado pela regra. Em seguida o parmetro http_access deny indica que o site referenciado pela regra bloqueados no poder ser executado. Basicamente podemos criar quantas regras acl's forem necessrias desde que cada uma delas tenha um nome especfico. A partir do domnio definido na regra, o Squid bloqueia todos os subdomnios, por exemplo se bloquessemos o o endereo subdomnio
www.computador.com.br,
automaticamente
www.notebook.computador.com.br estaria bloqueado. Uma importante observao sobre o bloqueio por domnios que se bloquearmos o domnio orkut.com o endereo provavelmente ainda poderia ser acessado pelo endereo www.orkut.com, desta forma devemos nos atentar para este detalhe. Em uma regra de bloqueio por domnio, podemos definir quantos domnios forem necessrios, veja o exemplo abaixo: acl bloqeuado dstdomains orkut.com www.orkut.com
www.facebook.com http_access deny bloqueados A relao dos domnios a serem bloqueados devem ser escritas em uma mesma linha.
103
No caso de desejarmos inserir uma relao extensa de domnios para o bloqueio, podemos inserir os endereos em um arquivo externo, isto com certeza ir facilitar nosso controle. Crie um arquivo texto com a relao dos endereos a serem bloqueados, neste caso cada endereo em uma linha, conforme abaixo: orkut.com
www.orkut.com
facebook.com
www.facebook.com www.globo.com www.terra.com.br
terra.com.br Na construo da regra da acl voc ir referenciar o arquivo que contm os endereos a serem bloqueados, conforme as linhas abaixo: acl bloqueados url_regex -i /etc/squid/bloqueados http_access deny bloqueados Neste caso, etc/squid/bloqueados o arquivo que contm os endereos a serem bloqueados. Poderamos realizar o efeito contrrio com esta regra, ou seja, invs de bloquearmos determinados site, podemos liberar apenas alguns sites e bloquear todos os demais. Crie agora um arquivo onde iremos definir alguns sites que tero acesso permitido, tais como:
www.unis.edu.br 104
www.sabe.br
Salve o arquivo com o nome de permitidos no endereo /etc/squid/permitidos Desta vez, a regra seria o contrrio, vamos liberar os endereos definidos no arquivo e em seguida bloquear os demais: acl permitidos url_reg -i /etc/squid/peritidos http_access allow permitidos http_access deny all Ou seja, aqui estamos liberando (allow) os enderos listados no arquivos permitidos e estamos bloqueando todos os outros (deny all).
105
Montando o bloqueio por IP nossa regra ficaria assim: acl ips_bloqueados dst 200.234.21.23 http_access deny ips_bloqueados Observando novamente o nosso cdigo por completo teremos: http_port 3128 visible_hostname servidor error_directory /usr/share/squid/errors/Portuguese/ cache_mem 64 MB maximum_object_size_in_memory 64 KB maximum_object_size 512 MB minimum_object_size 0 KB cache_swap_low 90 cache_swap_high 95 cache_dir ufs /var/spool/squid 2048 16 256 cache_access_log /var/log/squid/access.log refresh_pattern ^ftp: 15 20% 2280
106
refresh_pattern ^gopher: 15 0% 2280 refresh_pattern . 15 20% 2280 acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 102565535 acl purge method PURGE acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports acl bloqueados url_regex -i "/etc/squid/bloqueados" http_access deny bloqueados acl redelocal src 192.168.0.0/24 http_access allow localhost http_access allow redelocal http_access deny all
orkut globo sexo playboy Posteriormente adicione a regra abaixo referenciando o arquivo criado: alc palavrasproibidas dstdom_regex /etc/squid/palavrasproibidas http_access deny palavrasproibidas Cuidado com a utilizao deste tipo de regra, pois ela pode acabar bloqueando sites que no eram pra ser bloqueados, bastando apenas que o endereo do site apresente as palavras listadas no arquivo de restries.
Por padro as mensagens de erro aparecem em ingls, mas podem ser configuradas com o parmetro: "error_directory /usr/share/squid/errors/Portuguese/" possvel ainda personalizar as pginas de erro, configurando-as na pasta "/usr/share/squid/errors/Portuguese" ou "/usr/share/squid/errors/English"
108
Com ele voc poder acompanhar as pginas que esto sendo acessadas. Veja um exemplo de relatrio do Sarg:
Para instalar o Sarg digite no Terminal o comando: apt-get install sarg Depois que o Sarg estiver devidamente instalado, chame o comando no Terminal toda vez que quiser atualizar o relatrio, para isto utilize o comando: sarg As configuraes do Sarg podem ser configuradas no arquivo etc/squid/sarg.conf Por padro, as sadas de relatrios do Sarg so armazenadas na pasta /var/www/squid-reports, desta forma tendo o apache rodando
normalmente, podemos acessar os relatrios pelo navegador de Internet, acessando o endereo: http://localhost/squid-reports
110
Que indica o destino dos relatrios do Sarg e access_log /var/log/squid/access.log Que indica a localizao do arquivo de log do Squid. Veja abaixo algumas telas do Sarg:
111
Antes de iniciarmos a configurao do servidor de DHCP precisamos observar os tpicos abaixo: 1. Sua mquina precisa de um IP configurado na mesma faixa de
Ips especificada na configurao do servidor. 2. 3. 4. 5. O IP do gateway precisa existir preciso que haja um IP de DNS vlido O endereo de broadcast deve ser vlido O endereo de netmask deve ser vlido Crie um arquivo de configurao vazio utilizando o comando abaixo: sudo gedit /etc/dhcp3/dhcpd.conf O contedo do arquivo dever ser o contedo abaixo: ddns-update-style none; #para ele funcionar corretamente authoritative; ##A sua Subrede subnet 192.168.254.0 netmask 255.255.255.0 { ##faixa de ips que ele vai distribuir de 1 at 200 range 192.168.254.1 192.168.254.200; ##servidor de DNS option domain-name-servers 200.165.132.155; ##Gateway option routers 192.168.254.254; ##Endereo de broadcast option broadcast-address 192.168.254.255; default-lease-time 600; max-lease-time 7200; }
112
Aps editar o arquivo de configurao salve-o e start o DHCP com o comando abaixo: sudo /etc/init.d/dhcp3-server restart
113
Para testar se o servio est ok voc tem duas opes, a primeira seria utilizar um cliente FTP, como o FileZila, ou acesse o navegador e digite o endereo: ftp://servidor (lembrando que servidor o nome do computador) ou ftp://localhost ou ftp://127.0.0.1 Aps acessar o endereo ser solicitado a autenticao de usurio e senha, conforme a tela abaixo:
Aps logar corretamente, voc poder visualizar pelo navegador o contedo da pasta local do usurio logado, conforme apresentado abaixo:
114
configurao
do
Proftpd
pode
ser
feita
no
arquivo
/etc/proftpd/proftpd.conf. Lembre-se de que a cada alterao na configurao do servidor de FTP, voc dever reiniciar o servio para ativas as novas configuraes, para isto, no Terminal digite o comando: sudo /etc/init.d/proftp restart Vejamos algumas das principais configuraes do servidor de FTP: Uma importante configurao a definio da porta em que o servidor ir atuar no arquivo de configurao procure por: Port 21
A porta 21 a porta padro para servidores ftp, no caso de precisar voc poder alter-la para por exemplo: Port 2121
115
Se voc alterar a porta do FTP de 21 para 2121, o cliente dever informar a porta quando tentar se conectar ao servio. Podemos tambm configurar a opo Maxclients, que limita o nmero de clientes simultneos conectados ao servidor FTP, por padro est opo vem configura com 30, ou seja, possvel que at 30 clientes se conectem simultaneamente ao servidor. Para limitar o acesso dos clientes em seu diretrio home insira no final do arquivo o comando: DefaultRoot ~ O caracter ~ funciona como um curinga que identifica o diretrio home do usurio logado. Para definir um limite de banda para os usurios utilize o comando: TransferRate RETR: 8:10 Onde 8 pode ser substitudo pela taxa de transferncia desejada em KB/s por usurio. Num primeiro momento apenas os usurios cadastrados podero acessar o ftp, no entanto possvel autorizarmos o acesso de usurio annimos, para isto acrescente as linhas abaixo no arquivo de configurao: <Anonymous ~ftp> User ftp Group nogroup UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off MaxClients 20 DisplayLogin welcome.msg DisplayFirstChdir .message
116
<Directory *> <Limit WRITE> DenyAll </Limit> </Directory> <Directory incoming> Umask 022 022 <Limit READ WRITE> DenyAll </Limit> <Limit STOR> AllowAll </Limit> </Directory> </Anonymous> O comando MaxClients define o nmero mximo de clientes annimos que podero acessar o servio simultaneamente, esta definio separada do nmero de clientes com login vlidos. Com isto possvel definir um nmero de clientes vlidos e um nmero diferente de clientes annimos. DisplayLogin welcome.msg define a mensagem de boas vindas emitida pelo servidor quando o usurio logar, o contedo exibido ser o contedo do arquivo home/ftp/welcome.msg. Por padro os usurios annimos tm acesso apenas ao contedo da pasta /home/ftp que identificado pelo software cliente de ftp como o raz, impossibilitando assim que os usurios alterem outros arquivos do sistema. Directory Incoming cria a pasta de upload dos usurios annimos em /home/ftp/incoming.
117
Para acessar o sevio de ftp como usurio annimo, o usurio dever informar login anonymous ou ftp e a senha dever ser um endereo de email qualquer. Faa alguns testes: Crie outros usurios no sistema e tente acessar o ftp via browser log com os usurios cadastrados e ver que cada login direciona voc para a pasta home especfica de cada usurio.
apt-get instal xmail Durante a instalao, algumas perguntas sero feitas aceite as respostas padres para prosseguir.
119
120
Aps as definies iniciais, voc precisa startar o servidor, para isto, pelo Terminal digitem o comando abaixo: /etc/init.d/xmail start Devemos agora realizar as configuraes do xmail. Vamos l! Os arquivos de configurao do xmail ficam localizados na pasta /etc/xmail/ Localize o arquivo /etc/xmail/ctrlaccounts.tab Este arquivo contm o login e senha do administrador do servidor, por exemplo: admin <tab> enc-passwd
O arquivo domains.tab armazena os domnios virtuais do servidor, por exemplo: localhost seu.servidor.com.br O arquivo mailusers.tab contem o registro dos usurios cadastrados no servidor, por exemplo: host<tab>usuario<tab>enc-passwrd<tab>id conta<tab>diretorio da conta<tab>tipo de conta<newline> At aqui o servidor Xmail est instalado e configurado, no entanto, podemos utilizar um aplicativo chamado PHPXMAIL como front-end de acesso as configuraes do Xmail. da
121
Pressione <CTRL>+C para sair do telnet. Depois teste a porta 25 com o comando abaixo: telnet localhost 25 A mensagem abaixo dever aparecer:
122
Se os resultados forem diferentes dos resultados apresentados nas 2 telas anteriores refaa o processo de instalao do xmail. Vamos agora baixar a instalao do PHPXMAIL, para isto acesse o endereo abaixo:
https://sourceforge.net/project/downloading.php? group_id=32103&use_mirror=ufpr&filename=phpxmail1.4.zip&7951383
Salve o arquivo na pasta /var/www, o diretrio Web do Ubuntu. Depois de copiar o cdigo descompacte o arquivo. Para descompactar o arquivo pelo Terminal digite o comando: unzip phpxmail1.4.zip -d /var/www Se tudo der certo, a pasta phpxmail ser criada dentro da pasta /var/www. Antes de iniciar as configuraes voc precisa mudar as permisses de acesso desta pasta e de seus arquivos, d permisses de escrita. Agora acesse o navegador web e digite o endereo:
http://localhost/phpxmail
Caso tudo esteja funcionando bem, voc ver a tela inicial do phpxmail, conforme a imagem abaixo:
123
Preencha os dados solicitados como abaixo: Server hostname: localhost Server ip address: 127.0.0.1 Server port: 6017 CTRL account: admin CTRL password: admin Se tudo der certo voc ver a mensagem abaixo: Server localhost was added successfully Agora precisamos configurar o Xmail para atender ao PHPXMAIL, para fazer isto, diremos ao Xmail quem o seu administrador e qual a sua senha. Os dados esto no arquivo /var/www/phpxmail/servers.php L encontraremos a seguinte linha: localhost 127.0.0.1 6017 admin 0401080c0b 0
124
O que nos impor aqui so a quarta e quinta colunas (admin 0401080c0b) Devemos ento inserir esta informao no arquivo
Obs: o espao entre admin e 0401080c0b um <tab> Volte agora para o navegaro, no endereo http://localhost/phpxmail clique em login informe usuario: admin, senha: admin. Se der tudo certo a mensagem abaixo aparecer:
125
Agora que voc j est logado no PHPXMAIL, clique no menu Server domains para criar um novo domnio, em seguida, clique em new domain, para dar a possibilidade de criar um domnio virtual:
126
Preencha os campos da seguinte forma: Domain Name: exemplo.com.br Postmaster password: admin Depois de clicar em submit o domnio exemplo ser criado, a confirmao aparecer como a tela abaixo:
127
Para adicionar usurios ao domnio, clique no menu servers domain e clique sobre o dominio criado, no nosso caso exemplo.com.br Clique em new user para adicionar um novo usurio ao domnio.
Desta forma, nosso servidor de email XMAIL est rodando e devidamente configurado no Linux, alm dele temos tambm o front-end PHPEXMAIL funcionando corretamente.
128
129
Reveja os conceitos estudados nesta unidade. Faa um resumo geral dos tpicos apresentados.
Aps rever todos os conceitos estudados nesta unidade, responda as questes abaixo: 1. Explique o que o Samba. 2. Explique o que o LAMP. 3. O que faz o comando shutdown -r now? 4. Explique o que o Squid. 5. No Squid, o que fazem os comandos http_access aloow e http_access deny? 6. No Squid, explique o que o cache rpido e o que o cache lento? 7. Explique o que faz a configurao abaixo: acl liberados url_regex -i /etc/squid/liberados http_access deny liberados 8. Monte uma acl para liberar o acesso do site (www.bbb.globo.com) apenas de 120:00hs 13:00hs. 9. O que o Sarg? 10. Na configurao de um servidor DHCP, explique o que faz a linha abaixo: range 192.168.254.1 192.168.254.100; 11. O que faz o Maxclients na configurao de um FTP? 12. Explique e diferencie o XMAIL do PHPXMAIL.
130
CONCLUSO
Com o estudo desta unidade, podemos concluir as vantagens da utilizao do sistema operacional GNU/Linux. Ele apresenta uma srie de recursos relacionados servios de rede, tais como servidores de arquivos e impresso, proxy, DHCP, email, entre outros. Procuramos demonstrar os recursos e servios mais utilizados, especialmente aos recursos destinados aos servios de rede. Procuramos demonstrar com exemplos prticos, o funcionamento de cada recurso abordado assim como procuramos demonstrar por meio de imagens os processos de instalao e configurao de tais servios.
RESUMO
Na unidade trs deste guia de estudos, demonstramos os principais servios destinados a servidores Linux. Apresentamos a instalao e configurao do servidor Samba, capaz de interagir e compartilhar arquivos e impressoras em redes constitudas de diferentes sistemas operacionais. Apresentamos o conceito do LAMP, instalando e configurando o servidor web Apache, o servidor de banco de dados MySql e o interpretador PHP, preparando assim nosso servidor para operar em um ambiente web, permitindo que o mesmo disponibilize pginas web estticas e pginas web dinmicas com acesso a banco de dados. Demonstramos a utilizao de alguns recursos do Ubuntu, como a ferramenta de mensagens instantneas capaz de se conectar a diversos servios como msn e outros similares; a ferramenta de anlise de utilizao de discos, que demonstra de forma grfica o nvel de utilizao dos discos, pastas e arquivos. Demonstramos alguns comandos mais avanados que podem ser utilizado pelo Terminal. Apresentamos a instalao e configurao
131
do antivrus Panda, como forma de proteger os dados armazenados no servido de ataques indesejados de cdigos maliciosos. Demonstramos o processo de compactao e descompactao de arquivos e diretrios, assim como o processo de instalao de impressoras. Apresentamos a configurao do servidor proxy Squid, demonstrando os controle de acesso por domnio, palavras, IPs e horrio. Apresentamos a ferramenta Sarg, capaz de gerar relatrios para monitoramento de acessos do servidor proxy. Por fim, apresentamos a configurao dos servidores de DHCP, FTP e E-mail. Para a configurao do servidor de E-mail, utilizamos o XMAIL e o front-end PHPXMAIL.
REFERNCIAS BIBLIOGRFICAS
KUROSE, JAMES F. REDES DE COMPUTADORES E A INTERNET: UMA ABORDAGEM TOP-DOWN. 3. ED. SAO PAULO. MORIMOTO, CARLOS E. LINUX, GUIA PRTICO. SO PAULO: GDH PRESS, 2009. MORIMOTO, CARLOS E. KURUMIN 7, GUIA PRTICO. SO PAULO: GDH PRESS, 2007. MORIMOTO, CARLOS E. LINUX FERRAMENTAS TCNICAS, GUIA PRTICO. SO PAULO: GDH PRESS, 2006. MORIMOTO, CARLOS E. LINUX ENTENDENDO O SISTEMA, GUIA PRTICO. SO PAULO: GDH PRESS, 2006. MORIMOTO, CARLOS E. LINUX REDES PAULO: GDH PRESS, 2006. PALMA, LUCIANO. TCP/IP: GUIA DE CONSULTA RAPIDA. NOVATEC, PEARSON ADDISON WESLEY, 2006. SOARES, LUIZ FERNANDO GOMES. REDES DE COMPUTADORES. 2. ED. RJ: CAMPUS, 1995. TANENBAUM, ANDREW S. REDES DE COMPUTADORES. 3. ED. RJ: CAMPUS, 1997.
132
E
ANEXO
Manifesto GNU (Fonte: http://www.Gnu.org/Gnu/manifesto.pt-br.html) Copyright (C) 1985, 1993 Free Software Foundation, Inc. A cpia fiel e a distribuio deste artigo completo permitida em qualquer meio, desde que esta nota seja preservada e o distribuidor garanta aos recipientes permisso para nova redistribuio como permitido por esta nota. No podem ser feitas verses modificadas. O Manifesto GNU (que segue abaixo) foi escrito por Richard Stallman no incio do Projeto GNU, para pedir por participao e ajuda. Durante os primeiros anos ele sofreu pequenas atualizaes para registrar desenvolvimentos, mas agora achamos melhor mant-lo inalterado, j que a maioria das pessoas j viu o manifesto antes.
Desde aquele tempo, ns aprendemos sobre certos mal-entendidos frequentes que uma escolha diferente de palavras poderia ter ajudado a evitar. Notas de rodap adicionadas em 1993 ajudam a clarear esses pontos.
Para informaes atualizadas sobre o software GNU disponvel, por favor veja a informao disponvel no nosso servidor web, em especial nossa lista de software. O Que o GNU? Gnu No Unix! Tradues do Manifesto GNU Manifesto esto disponveis em Alemo, Coreano (1, 2), Francs, Italiano, Japons, Russo, and Sueco. GNU, que significa Gnu No Unix, o nome para um sistema de software completo e compatvel com o Unix, que eu estou escrevendo para que possa
133
fornec-lo gratuitamente para todos os que possam utiliz-lo. (1) Vrios outros voluntrios esto me ajudando. Contribuies de tempo, dinheiro, programas e equipamentos so bastante necessrias. At o momento, ns temos um editor de textos Emacs com Lisp para a escrita de comandos do editor, um depurador de cdigo-fonte, um gerador de compiladores compatvel com o yacc, um linkeditor e em torno de 35 utilitrios. Um Shell (interpretador de comandos) est quase completo. Um novo compilador C otimizador portvel j compilou a si mesmo e dever ser liberado este ano. Um Kernel inicial existe mas muitos recursos ainda so necessrios para emular o Unix. Quando o Kernel e o compilador estiverem finalizados, ser possvel distribuir um sistema GNU adequado para o desenvolvimento de novos programas. Ns usaremos o TeX como nosso formatador de textos, mas estamos trabalhando em um nroff. Ns tambm usaremos o X Window System, que livre e portvel. Depois disso, adicionaremos um Common Lisp portvel, um jogo do Imprio, uma planilha eletrnica, e centenas de outras coisas, alm de documentao on-line. Ns esperamos fornecer, eventualmente, tudo de til que normalmente vem com um sistema Unix, e ainda mais. GNU ser capaz de rodar programas do Unix, mas no ser idntico ao Unix. Faremos todos os aperfeioamentos que forem convenientes baseados em nossa experincia com outros sistemas operacionais. Em particular, planejamos adicionar nomes de arquivos longos, nmeros de verso de arquivos, um sistema de arquivos prova de falhas, auto-gerao de nomes de arquivos, talvez, suporte de vdeo independente do terminal, e talvez um sistema de janelas baseado no Lisp atravz do qual vrios programas Lisp e programas Unix comuns possam compartilhar uma tela. Tanto C quanto Lisp estaro disponveis como linguagens de programao de sistemas. Ns tentaremos suportar UUCP, MIT Chaosnet, e protocolos da Internet para comunicao. GNU inicialmente orientado para mquinas do classe 68000/16000 com memria virtual, porque essas so as mquinas mais fceis de suportar. O
134
esforo extra par faz-lo rodar em mquinas menores ser deixado para algum que deseje utiliz-lo nelas. Para evitar uma confuso horrvel, por favor, pronuncie a letra "G" na palavra "GNU" quando ela for o nome deste projeto.
Eu acredito que a regra de ouro exige que, se eu gosto de um programa, eu devo compartilh-lo com outras pessoas que gostam dele. Vendedores de Software querem dividir os usurios e conquist-los, fazendo com que cada usurio concorde em no compartilhar com os outros. Eu me recuso a quebrar a solidariedade com os outros usurios deste modo. Eu no posso, com a conscincia limpa, assinar um termo de compromisso de nodivulgao de informaes ou um contrato de licena de software. Por anos eu trabalhei no Laboratrio de Inteligncia Artificial do MIT para resistir a estas tendncias e outras animosidades, mas eventualmente elas foram longe demais: eu no podia permanecer em uma instituio onde tais coisas eram feitas a mim contra a minha vontade. Portanto, de modo que eu possa continuar a usar computadores sem desonra, eu decidi juntar uma quantidade de software suficiente para que eu possa continuar sem nenhum software que no seja livre. Eu me demiti do Laboratrio de IA para impedir que o MIT tenha qualquer desculpa legal para me impedir de fornecer o GNU livremente.
Unix no o meu sistema ideal, mas ele no to ruim. Os recursos essenciais do Unix parecem ser bons recursos, e eu penso que eu posso fornecer o que falta no Unix sem compromet-lo. E um sistema compatvel com o Unix seria conveniente para muitas pessoas adotarem.
GNU no est no domnio pblico. Qualquer um ter permisso para modificar e redistribuir o GNU, mas nenhum distribuidor ter permisso para restringir a sua nova redistribuio. Ou seja, no ser permitida nenhuma modificao proprietria (18k characters). Eu quero ter certeza de que todas as verses do GNU permanecero livres.
Eu encontrei muitos outros programadores que esto excitados quanto ao GNU e querem ajudar. Muitos programadores esto descontentes quanto comercializao de software de sistema. Ela pode traz-los dinheiro, mas ela requer que eles se considerem em conflito com outros programadores de maneira geral em vez de consider-los como camaradas. O ato fundamental da amizade entre programadores o compartilhamento de programas; acordos comerciais usados hoje em dia tipicamente probem programadores de se tratarem uns aos outros como amigos. O comprador de software tem que escolher entre a amizade ou obedecer lei. Naturalmente, muitos decidem que a amizade mais importante. Mas aqueles que acreditam na lei frequentemente no se sentem vontade com nenhuma das escolhas. Eles se tornam cnicos e passam a considerar que a programao apenas uma maneira de ganhar dinheiro. Trabalhando com e usando o GNU em vez de programas proprietrios, ns podemos ser hospitaleiros para todos e obedecer a lei. Alm disso, GNU serve como um exemplo para inspirar e um chamariz para trazer outros para se juntarem a ns e compartilhar programas. Isto pode nos dar um sentimento de harmonia que impossvel se ns usarmos software que no seja livre. Para aproximadamente metade dos programadores com quem eu falo, esta uma importante alegria que dinheiro no pode substituir.
136
Eu estou pedindo aos fabricantes de computadores por doaes de mquinas e dinheiro. Eu estou pedindo s pessoas por doaes de programas e de trabalho. Uma consequncia que voc pode esperar se voc doar mquinas que o GNU ir rodar nelas mais cedo. As mquinas devem ser sistemas completos, prontos para uso, e aprovadas para utilizao em reas residenciais, e no devem necessitar de sistemas sofisticados de refrigerao ou energia. Eu encontrei muitos programadores dispostos a contribuir em tempo parcial com o GNU. Para a maioria dos projetos, este trabalho distribudo em tempo parcial seria bem difcil de coordenar; as partes escritas independentes uma das outras no funcionariam juntas. Mas para a tarefa em particular de substituir o Unix, este problema no existe. Um sistema Unix completo contm centenas de programas utilitrios, cada um documentado
separadamente. A maioria das especificaes de interface garantidas pela compatibilidade com o Unix. Se cada contribuidor puder escrever um substituto compatvel para um nico utilitrio do Unix, e conseguir que ele trabalhe corretamente no lugar do original em um sistema Unix, ento estes utilitrios iro funcionar corretamente quando colocados juntos. Mesmo contanto que a Lei de Murphy crie alguns problemas inesperados, juntar estes componentes ser um trabalho vivel. (O Kernel ir necessitar comunicao mais prxima e ser trabalhado por um grupo pequeno e coeso.) Se eu receber doaes de dinheiro, eu poderei contratar algumas pessoas em tempo integral ou parcial. O salrio no ser alto para os padres da indstria, mas eu estou procurando por pessoas para as quais construir um esprito de comunidade seja to importante quanto ganhar dinheiro. Eu vejo esta como uma maneira de habilitar pessoas dedicadas a focar as suas energias totalmente no trabalho no GNU, sem que elas necessitem de uma outra maneira de ganhar a vida.
137
Uma vez que o GNU esteja pronto, todos podero obter um bom software de sistema gratuitamente, assim como o ar. (2) Isto significa muito mais do que simplesmente que todos economizaro o valor de uma licena do Unix. Isto significa que muita duplicao de programao de sistemas ser evitada. Este esforo poder ser utilizado em avanar o estado-da-arte. O cdigo-fonte completo do sistema estar disponvel para todos. Como resultado, um usurio que necessite de modificaes no sistema ser sempre livre para realiz-las ele mesmo, ou para contratar qualquer programador disponvel ou empresa para realiz-las. Os usurios no estaro mais merc do programador ou empresa que dono das fontes e o nico que pode realizar mudanas. Escolas podero fornecer um ambiente educacional muito mais produtivo encorajando todos os estudantes a estudar e aperfeioar o cdigo do sistema. O Laboratrio de Computadores de Harvard tinha como poltica no instalar nenhum programa se as suas fontes no estivessem disponveis ao pblico, e esta posio foi sustentada quando o laboratrio se recusou a instalar certos programas. Eu fui bastante inspirado por eles. Finalmente, o overhead de localizar o dono do software de sistema e o que se pode ou no se pode fazer com ele ser aliviado. Contratos que fazem as pessoas pagar pelo uso de um programa, incluindo o licenciamento de cpias, sempre traz um custo tremendo para a sociedade devido aos mecanismos obscuros necessrios para se determinar quanto (ou seja, por quais programas) uma pessoa tem que pagar. E somente a polcia do estado tem poder para fazer com que todos obedeam a esses mecanismos. Imagine uma estao espacial onde o ar tem que ser fabricado a um custo muito alto: cobrar cada "respirador" por cada inspirao pode ser justo, mas usar a mscara de gs com o medidor todo dia e toda noite seria intolervel, mesmo para os que pudessem pagar a taxa do ar. E presena de cmeras de TV por todo lado para verificar se algum tirar a mscara ultrajante.
138
melhor manter a fbrica de ar com uma taxa por pessoa e eliminar as mscaras. Copiar todo ou parte de um programa to natural para um programador quanto respirar, e to produtivo quanto. Isto tem que ser livre.
Algumas Objees Facilmente Refutadas aos Objetivos do GNU "Ningum vai utiliz-lo se for gratuito, porque isto significa que no se pode contar com nenhum suporte." "Voc tem que cobrar pelo programa para pagar pelo suporte." Se as pessoas puderem em vez disso pagar pelo GNU mais pelos servios em vez de obter o GNU sem o servio, uma empresa cujo objetivo seja somente fornecer servios para as pessoas que obtiveram o GNU gratuitamente ser rentvel. (3) Ns temos que diferenciar entre o suporte na forma de verdadeiro trabalho de programao e simples ajuda. O primeiro algo que ningum pode realmente contar em receber do vendedor de software. Se o seu problema no o mesmo de muitas outras pessoas, o vendedor ir ignor-lo. Se o seu negcio necessita contar com suporte, a nica garantia ter todas as fontes e ferramentas necessrias. Ento voc pode contratar qualquer pessoa disponvel para resolver o seu problema; voc no depende de nenhum indivduo. Com o Unix, o preo das fontes coloca isto fora de questo para a maioria das empresas. Com GNU seria fcil. Ainda possvel que no haja uma pessoa competente em disponibilidade, mas este problema no ser causado por contratos de distribuio. GNU no elimina todos os problemas do mundo, somente alguns deles. Enquanto isso, o usurio que no sabe nada sobre computadores, necessita de ajuda: fazer coisas para eles que eles poderiam facilmente fazer eles mesmos, mas eles no sabem como. Este tipo de servio poderia ser fornecido por empresas que vendem somente servios de ajuda e reparos. Se for verdade que os usurios preferem gastar
139
dinheiro e obter o produto com servio, eles tambm estaro dispostos comprar o servio tendo obtido o produto de graa. As empresas de servios iro competir em preo e qualidade, enquanto que os usurios no estaro amarrados a nenhuma delas em particular. Enquanto isso, os usurios que no necessitam do servio podero usar o programa sem ter que pagar pelo servio. "Voc no pode atingir muitas pessoas sem propaganda, e voc tem que cobrar pelo programa para pagar por isso". "No tem sentido anunciar um programa que as pessoas podem pegar de graa". Existem vrias formas de publicidade gratuita ou muito baratas que podem ser usadas para informar os usurios de computadores sobre algo como o GNU. Mas pode ser verdade que ns atingiramos mais usurios de computadores com propaganda. Se isto for verdade, uma empresa que anuncia o servio de copiar e enviar GNU por uma taxa ser bem-sucedido o suficiente para pagar pelos seus anncios e mais. Desta forma, somente os usurios que se beneficiam dos anncios pagam por eles. Pelo outro lado, se muitas pessoas copiarem o GNU dos seus amigos, e tais empresas no tiverem sucesso, isto mostra que a propaganda no era realmente necessria para popularizar o GNU. Porque os advogados do mercado livre no deixam o mercado decidir quanto a isso? (4) "Minha empresa necessita de um sistema operacional proprietrio para obter uma vantagem competitiva." O GNU ir remover o sistema operacional do escopo da competio. Voc no ser capaz de obter uma vantagem nesta rea, mas nenhum dos seus competidores ser capaz. Voc e eles tero que competir em outras reas, e se beneficiaro mutuamente nesta rea. Se o seu negcio vender um sistema operacional, voc no ir gostar do GNU, mas isto problema seu. Se o seu negcio outro, GNU pode poup-lo de ser forado para o negcio caro de vender sistemas operacionais.
140
Eu gostaria de ver o desenvolvimento do GNU suportado por doaes de vrias empresas e usurios, reduzindo o custo para todos. (5) "Os programadores no merecem uma recompensa pela sua
criatividade?" Se alguma coisa realmente merece uma recompensa, a sua contribuio social. Criatividade pode ser uma contribuio social, mas somente na medida em que a sociedade livre para usufruir dos resultados. Se os programadores merecem ser recompensados por criarem programas inovadores, da mesma forma eles merecem ser punidos se eles restringem o uso destes programas. "Um programador no deveria pedir por uma recompensa pela sua criatividade?" No h nada errado em querer pagamento pelo trabalho, ou em procurar maximizar a renda de uma pessoa, desde que no sejam utilizados meios destrutivos. Mas os meios comuns hoje no campo de software so baseados em destruio. Extrair dinheiro dos usurios de um programa restringindo o seu uso destrutivo porque as restries reduzem a quantidade de vezes e de modos em que o programa pode ser utilizado. Isto reduz a quantidade de bem-estar que a humanidade deriva do programa. Quando h uma escolha deliberada em restringir, as consequncias prejudiciais so destruio deliberada. O motivo pelo qual um bom cidado no utiliza tais meios destrutivos para se tornar mais rico porque, se todos fizessem assim, todos ns nos tornaramos mais pobres pela explorao mtua. Isto tica Kantiana, ou a Regra de Ouro. J que eu no gosto das consequncias que resultam se todos restringirem a informao, eu tenho que considerar errado para algum fazer isso. Especificamente, o desejo de ser recompensado pela minha criatividade no justifica privar o mundo em geral de tudo ou parte da minha criatividade. "Os programadores no iro morrer de fome?"
141
Eu poderia responder que ningum forado a ser um programador. A maioria de ns no conseguiria nenhum dinheiro pedindo na rua ou fazendo caretas. Mas ns no estamos como resultado, condenados a passar nossas vidas pedindo na rua, fazendo caretas e passando fome. Ns fazemos outra coisa. Mas esta a resposta errada porque ela aceita a afirmao implcita na questo: que sem a propriedade do software, os programadores no tm como receber um centavo. Supe-se que seja tudo ou nada. O motivo pelo qual os programadores no iro morrer de fome que ainda ser possvel para eles serem pagos para programar; somente no to bem pagos como o so hoje. Restringir a cpia no a nica base para negcios com software. Ela a mais comum porque a que traz mais dinheiro. Se ela fosse proibida, ou rejeitada pelos consumidores, as empresas de software iriam mover suas bases para outras formas de organizao que hoje so utilizadas menos frequentemente. Existem vrias formas de se organizar qualquer tipo de negcios. Provavelmente a programao no ser to lucrativa nas novas bases como ela agora. Mas este no um argumento contra a mudana. No considerada uma injustia que caixas de lojas tenham os salrios que eles tm hoje. Se com os programadores acontecer o mesmo, tambm no ser uma injustia. (Na prtica eles ainda ganhariam consideravelmente mais do que os caixas.)
"As pessoas no tem o direito de controlar como a sua criatividade utilizada?" "Controle sobre o uso das ideias" na verdade, controle sobre as vidas das pessoas; e isto em geral torna as vidas das pessoas mais difceis. As pessoas que estudaram a questo da propriedade intelectual
intrnseco sobre a propriedade intelectual. Os tipos de suposta propriedade intelectual que o governo reconhece foram criados por atos especficos de legislao para propsitos especficos. Por exemplo, o sistema de patentes foi criado para encorajar inventores a divulgarem os detalhes de suas invenes. Seu propsito foi de ajudar sociedade e no os inventores. Naquela poca, o tempo de vida de 17 anos de uma patente era curto, comparado com a taxa de avanos no estado-da-arte. Como patentes so um problema somente entre fabricantes, para os quais o custo e o esforo de um contrato de licena so pequenos se comparados com o custo de se montar uma fbrica, a patente no causou muito prejuzo. Elas no obstruram a maioria das pessoas que utilizavam produtos patenteados. A ideia de copyright no existia nos tempos antigos, quando os autores frequentemente copiavam outros autores extensamente em trabalhos de nofico. Esta prtica era til, e era a nica maneira pela qual o trabalho de muitos autores poderia ter sobrevivido pelo menos em parte. O sistema de copyright foi criado expressamente com o propsito de encorajar a autoria. No domnio para a qual ele foi inventado - livros que s podiam ser copiados economicamente apenas pela prensa de uma grfica - ele causou poucos danos, e no obstruiu a maioria das pessoas que liam os livros. Todos os direitos de propriedade intelectual so apenas licenas concedidas pela sociedade porque se pensava, corretamente ou no, que a sociedade como um todo se beneficiaria da concesso. Mas, em qualquer situao em particular, temos que perguntar: ns estamos realmente melhor concedendo esta licena? Que tipo de atos ns estamos autorizando uma pessoa a cometer? A situao dos programas hoje bastante diferente daquela dos livros um sculo atrs. O fato de que o modo mais fcil de copiar um programa de um vizinho para o outro, o fato de que um programa tem tanto cdigo fonte quanto cdigo objeto que so distintos, e o fato de que um programa utilizado em vez de lido e apreciado, se combinam para criar uma situao em que uma pessoa que faz valer um copyright, est prejudicando a
143
sociedade como um todo, tanto material quanto espiritualmente; esta pessoa no deveria fazer isso apesar ou mesmo que a lei permita que ela faa. "Competio faz com que as coisas sejam feitas melhor." O paradigma da competio uma corrida: recompensando o vencedor, ns encorajamos todos a correr mais rpido. Quando o capitalismo realmente funciona deste modo, ele faz um bom trabalho; mas os defensores esto errados em assumir que as coisas sempre funcionam desta forma. Se os corredores se esquecem do porque a recompensa ser oferecida e buscarem vencer, no importa como, eles podem encontrar outras estratgias - como, por exemplo, atacar os outros corredores. Se os corredores se envolverem em uma luta corpo-a-corpo, todos eles chegaro mais tarde. Software proprietrio e secreto o equivalente moral aos corredores em uma luta corpo-a-corpo. triste dizer, mas o nico juiz que ns conseguimos no parece se opor s lutas; ele somente as regula ("para cada 10 metros, voc pode disparar um tiro"). Ele na verdade deveria encerrar com as lutas, e penalizar os corredores que tentarem lutar. "No iro todos parar de programar sem um incentivo monetrio?" Na verdade, muitas pessoas iro programar sem absolutamente nenhum incentivo monetrio. A programao exerce uma fascinao incrvel para algumas pessoas, geralmente as pessoas que so melhores nisso. No h falta de msicos profissionais que se mantm na carreira mesmo quando no h esperana de se ganhar a vida desta forma. Mas na verdade, esta questo apesar de ser feita frequentemente, no adequada para a situao. No se deixar de pagar para os programadores, apenas se pagar menos. Ento a questo : algum ir programar com um incentivo monetrio reduzido? Minha experincia mostra que sim. Por mais de 10 anos, muitos dos melhores programadores do mundo trabalharam no Laboratrio de Inteligncia Artificial do MIT por menos dinheiro que eles poderiam receber em qualquer outro lugar. Eles receberam vrios tipos de recompensas no-financeiras: fama e reconhecimento, por
144
exemplo. E criatividade tambm um entretenimento, uma recompensa em si mesma. Ento a maioria deles saiu quando recebeu uma chance de fazer o mesmo trabalho interessante recebendo bastante dinheiro. Os fatos mostram que as pessoas iro programar por outros motivos alm de ficarem ricas; mas se for dada uma chance para alm disso ganharem muito dinheiro, elas iro aceitar e pedir por isso. Organizaes que pagam pouco se comparam fracamente com organizaes que pagam bem, mas elas no tm que realizar seu trabalho de maneira ruim se as organizaes que pagam bem forem banidas. "Ns necessitamos de programadores desesperadamente. Se eles exigem que ns paremos de ajudar nossos semelhantes, ns temos que obedecer." Voc nunca est to desesperado que voc tenha que atender a este tipo de exigncia. Lembre-se: milhes para a defesa, mas nenhum centavo como tributo! "Os programadores tem que ganhar a vida de algum jeito." Avaliando superficialmente, isto verdade. Entretanto, existem muitas maneiras pelas quais um programador pode ganhar a vida sem vender o direito de uso de um programa. Este modo comum hoje porque ele traz aos programadores e aos homens de negcios o mximo em dinheiro, no porque o nico modo de se ganhar a vida. fcil encontrar outros modos de ganhar a vida se voc deseja encontr-los. Eis alguns exemplos. Um fabricante lanando um novo computador ir pagar pelo porte do sistema operacional para o novo hardware. A venda de servios de treinamento ajuda, e manuteno tambm poderia empregar os programadores. Pessoas com novas ideias poderiam distribuir programas como freeware, pedindo por doaes de usurios satisfeitos, ou vendendo servios de ajuda
145
[no uso do software]. Eu encontrei pessoas que j trabalham desta forma com sucesso. Usurios com necessidades parecidas podem formar grupos de usurios, e pagar anuidades. O grupo poderia contratar empresas de programao para escrever programas que os membros do grupo desejariam usar. Todos os tipos de desenvolvimento podem ser financiados com um Imposto do Software: Suponha que todos os que compram um computador tenham que pagar X por cento do preo como um imposto do software. O governo daria este dinheiro a uma agncia como a NSF para gastar em desenvolvimento de software. Mas, se um comprador de computadores realizar uma doao para o desenvolvimento de software por conta prpria, ele pode abater esta doao do imposto. Ele pode doar para o projeto que ele escolher - frequentemente escolhido porque ele pretende utilizar os resultados no final. Ele pode ter um crdito por qualquer doao at o total do imposto que ele teria que pagar. O percentual do imposto poderia ser decidido por voto dos pagadores do imposto, proporcionalmente quantidade de dinheiro sobre a qual eles sero taxados.
desenvolvimento de software. Esta comunidade decidiria qual nvel de suporte necessrio. Usurios preocupados com quais projetos a sua parcela gasta poderiam escolher por eles mesmos. A longo prazo, tornar os programas livres, um passo adiante na direo do mundo ps-escassez, onde ningum ter que trabalhar duro somente para ganhar a vida. As pessoas sero livres para se dedicarem s atividades que so agradveis, como programao, depois de gastar as 10 horas semanais de trabalho obrigatrias em atividades que so necessrias, como legislao,
146
aconselhamento de famlias, reparo de robs e prospeco de asterides. Eles no tero necessidade de ganhar a vida programando. Ns j reduzimos bastante a quantidade de trabalho que a sociedade como um todo tem que realizar para a sua prpria produtividade, mas somente um pouco disso se transformou em lazer para os trabalhadores, porque muita atividade no-produtiva necessria para se acompanhar a atividade produtiva. As principais causas disso so: burocracia e medidas bitoladas contra a competio. O software livre ir reduzir estes desperdcios na rea de produo de software. Ns temos que fazer isso, para que os ganhos tcnicos em produtividade sejam transformados em menos trabalho para ns.
Notas de rodap (1) A escolha de palavras aqui foi descuidada. A inteno era de que ningum teria que pagar pela *permisso* para usar o sistema GNU. Mas as palavras no deixam isso claro, e as pessoas frequentemente interpretam que elas significam que as cpias do GNU tm sempre que serem distribudas gratuitamente ou por um valor simblico. Esta nunca foi a inteno; posteriormente, o manifesto menciona a possibilidade das empresas fornecerem o servio de distribuio objetivando o lucro. Subsequentemente eu aprendi a distinguir cuidadosamente entre "free" no sentido de liberdade e "free" no sentido de preo. O Software Livre (Free Software) o software que os usurios tm a liberdade distribuir e modificar. Alguns usurios podem obter cpias sem custo, enquanto que outros podem pagar para receber cpias - e se a receita ajuda a aperfeioar o software, melhor ainda. O mais
147
importante que qualquer um que tenha uma cpia tenha a liberdade de cooperar com outras pessoas utilizando o software. (2) Este outro lugar onde eu falhei em distinguir entre os dois significados de "free". A afirmao como est escrita no falsa -- voc pode obter cpias do GNU gratuitamente, dos seus amigos ou da Internet. Mas a afirmao sugere a ideia errada. (3) Vrias dessas empresas existem hoje. (4) A Fundao Para o Software Livre levanta a maior parte dos seus fundos do servio de distribuio, apesar dela ser uma instituio de caridade em vez de uma empresa. Se *ningum* escolher obter as cpias comprando da prpria FSF, ela ser incapaz de realizar o seu trabalho. Mas isto no significa que restries proprietrias so justificadas para forar cada usurio a pagar. Se uma pequena frao de todos os usurios fizerem o seu pedido para a FSF, isto ser suficiente para manter a FSF operacional. Por isso ns pedimos aos usurios para nos apoiarem desta forma. Voc fez a sua parte? (5) Um grupo de fabricantes de computadores recentemente ofereceu fundos para a manuteno do Compilador C do GNU.
148