SlideShare uma empresa Scribd logo
Tecnico em Redes de Computadores
Gustavo Henrique da Rocha Reis
Serviços de Redes
Centro de Educação Aberta e a Distância (CEAD)
Instituto Federal do Sudeste de Minas Gerais - Campus Rio Pomba
Av. Dr. José Sebastião Da Paixão s/nº - Bairro Lindo Vale
CEP: 36180-000 - Rio Pomba/MG
Telefone: (32)3571-5746
Http://cead.riopomba.ifsudestemg.edu.br/
Serviços de Redes
Gustavo Henrique da Rocha Reis
2013
Rio Pomba - MG
e-Tec Brasil33
Apresentação e-Tec Brasil
Prezado estudante,
Bem-vindo ao e-Tec Brasil!
Você faz parte de uma rede nacional pública de ensino, a Escola Técnica
Aberta do Brasil, instituída pelo Decreto nº 6.301, de 12 de dezembro 2007,
com o objetivo de democratizar o acesso ao ensino técnico público, na mo-
dalidade a distância. O programa é resultado de uma parceria entre o Minis-
tério da Educação, por meio das Secretarias de Educação a Distancia (SEED)
e de Educação Profissional e Tecnológica (SETEC), as universidades e escolas
técnicas estaduais e federais.
A educação a distância no nosso país, de dimensões continentais e grande
diversidade regional e cultural, longe de distanciar, aproxima as pessoas ao
garantir acesso à educação de qualidade, e promover o fortalecimento da
formação de jovens moradores de regiões distantes, geograficamente ou
economicamente, dos grandes centros.
O e-Tec Brasil leva os cursos técnicos a locais distantes das instituições de en-
sino e para a periferia das grandes cidades, incentivando os jovens a concluir
o ensino médio. Os cursos são ofertados pelas instituições públicas de ensino
e o atendimento ao estudante é realizado em escolas-polo integrantes das
redes públicas municipais e estaduais.
O Ministério da Educação, as instituições públicas de ensino técnico, seus
servidores técnicos e professores acreditam que uma educação profissional
qualificada – integradora do ensino médio e educação técnica, – é capaz de
promover o cidadão com capacidades para produzir, mas também com auto-
nomia diante das diferentes dimensões da realidade: cultural, social, familiar,
esportiva, política e ética.
Nós acreditamos em você!
Desejamos sucesso na sua formação profissional!
Ministério da Educação
Janeiro de 2013
Nosso contato
etecbrasil@mec.gov.br
e-Tec Brasil5
Indicação de ícones
Os ícones são elementos gráficos utilizados para ampliar as formas de
linguagem e facilitar a organização e a leitura hipertextual.
Atenção: indica pontos de maior relevância no texto.
Saiba mais: oferece novas informações que enriquecem o
assunto ou “curiosidades” e notícias recentes relacionadas ao
tema estudado.
Glossário: indica a definição de um termo, palavra ou expressão
utilizada no texto.
Mídias integradas: sempre que se desejar que os estudantes
desenvolvam atividades empregando diferentes mídias: vídeos,
filmes, jornais, ambiente AVEA e outras.
Atividades de aprendizagem: apresenta atividades em
diferentes níveis de aprendizagem para que o estudante possa
realizá-las e conferir o seu domínio do tema estudado.
Olá estudante!
Bem vindo ao conteúdo da disciplina Serviços de Rede!
Aproveite este momento para conhecer os principais programas que são
utilizados para prestar serviços na Internet como servidores de páginas,
resolução de domínios, transferência de arquivos, acesso remoto,
envio/recebimento de e-mails. Caso seja a primeira vez que você esta tendo
contato este conteúdo, não fique preocupado. Seja persistente e tenha
disciplina nos estudos. Explore ao Maximo o material que esta sendo
disponibilizado a você.
Bons estudos!
Professor Gustavo Henrique da Rocha Reis
Palavras do professor-autor
A disciplina Serviços de Rede ira abordar o funcionamento dos programas Bind
(para resolução de domínios), Apache (para hospedar sites), ProFTPD (para
transferência de arquivos), Postfix/Qpopper (programas para
envio/recebimento, respectivamente, de e-mails, OpenSSH (para acesso
remoto ao servidor).
Antes de começar a fazer as instalações/configurações destes serviços, será
abordado o conceito de virtualização e instalação do sistema operacional
GNU/Linux como base para estes serviços.
Bons estudos e sucesso!
Apresentação da disciplina
Aula 1. Sistema Operacional Linux.....................................................................7
1.1 Introdução.................................................................................................................7
1.2 Distribuição Debian GNU/Linux................................................................................8
1.3 Instalando o Debian..................................................................................................8
1.3.1 Virtualização...............................................................................................8
1.3.2 Configurando uma máquina virtual...........................................................13
1.3.3 Instalação do Debian na máquina virtual..................................................17
1.4 Exercícios ...............................................................................................................32
Aula 2. Shell.......................................................................................................33
2.1 Introdução...............................................................................................................33
2.2 Comandos para manipulação de diretório..............................................................34
2.2.1 Comando ls...............................................................................................35
2.2.2 Comando cd..............................................................................................36
2.2.3 Comando pwd...........................................................................................37
2.2.4 Comando mkdir.........................................................................................37
2.2.5 Comando rmdir.........................................................................................38
2.3 Comandos para manipulação de arquivo...............................................................38
2.3.1 Comando cat.............................................................................................38
2.3.2 Comando rm.............................................................................................39
2.3.3 Comando cp.............................................................................................39
2.3.3 Comando mv............................................................................................40
2.4 Manipulação de contas...........................................................................................41
2.4.1 Comando groupadd..................................................................................43
2.4.2 Comando useradd....................................................................................43
2.4.3 Comando passwd.....................................................................................44
2.4.4 Comando userdel.....................................................................................45
2.4.5 Comando groupdel...................................................................................45
2.5 Manipulação de permissões...................................................................................45
2.5.1 Comando chmod......................................................................................47
2.5.2 Comando chown......................................................................................49
2.5.3 Comando chgrp........................................................................................50
2.6 Instalação de Programas........................................................................................50
2.7 Exercícios................................................................................................................54
Aula 3. Serviço DNS..........................................................................................56
3.1 Introdução...............................................................................................................56
3.2 Tipos de consultas DNS..........................................................................................58
3.3 Instalando e configurando um servidor DNS...........................................................62
3.4 Exercícios................................................................................................................68
Aula 4. Serviço WEB..........................................................................................69
4.1 Introdução................................................................................................................69
4.2 Instalando e Configurando o Servidor Web.............................................................70
4.3 Preparando o servidor web para hospedar um site.................................................72
Sumário
4.4 Analisando o log de acesso.....................................................................................76
4.5 Exercícios................................................................................................................77
Aula 5. Serviço FTP...........................................................................................78
5.1 Introdução...............................................................................................................78
5.2 Instalando e Configurando o Servidor FTP.............................................................79
5.3 Criando usuário WebDesigner................................................................................81
5.4 Exercícios................................................................................................................83
Aula 6. Serviço E-Mail........................................................................................84
6.1 Introdução................................................................................................................84
6.2 Instalando e Configurando o Servidor E-mail..........................................................85
6.3 Enviando um E-mail................................................................................................87
6.4 Lendo um E-mail.....................................................................................................88
6.5 Exercícios................................................................................................................89
Aula 7. Acesso Remoto.....................................................................................90
7.1 Introdução...............................................................................................................90
7.2 Instalando e Configurando o OpenSSH..................................................................91
7.3 Fazendo login remoto no OpenSSH.......................................................................92
7.4 Exercícios................................................................................................................93
Palavras finais....................................................................................................94
Bibliografia básica..............................................................................................95
Currículo do professor-autor .............................................................................96
Aula 1. Sistema Operacional Linux
Objetivos
– Ter noções sobre a história do sistema operacional GNU/Linux
– Saber o que é uma distribuição
– Aprender sobre virtualização
– Instalar do GNU/Linux Debian
1.1 Introdução
Linux ou GNU/Linux é um sistema operacional que utiliza um kernel
(núcleo do sistema operacional) desenvolvido pelo finlandês Linus Torvalds. O
Linux pode ser usado como alternativa a outros sistemas operacionais como
MS Windows, Mac OS, MS-DOS, Solaris entre outros.
Quando Linus Torvalds era estudante da Universidade de Helsinki, ele
estava usando uma versão do sistema operacional UNIX chamado Minix. Linus
Torvalds e outros usuários enviaram pedidos de modificações e melhorias ao
criador do Minix, Andrew Tanenbaum, mas o mesmo disse que não havia
necessidade de alterações. Sendo assim, Linus Torvalds decidiu criar o próprio
sistema operacional que deveria ter sugestões e melhorias de outros usuários.
Esta filosofia de pedir sugestões, melhorias aos usuários e utilizá-los nos
programas de computadores não é novidade. Richard Stallman, que trabalhou
no Instituto de Tecnologia de Massachusetts, vem defendendo uma abordagem
para programas de computadores e seu uso deste 1970. Ele foi o pioneiro no
conceito do software livre1
, sempre dizendo que livre significa liberdade, não a
custo zero. Encontrando dificuldades para continuar a trabalhar em condições
que era contra o seu conceito de "software livre", Richard Stallman deixou o
MIT em 1984 e fundou o projeto GNU General Public License (GNU GPL). O
objetivo do GNU GPL era produzir um software que era livre para usar,
distribuir e modificar. Objetivo de Linus Torvalds, seis anos mais tarde, foi
basicamente o mesmo: produzir um sistema operacional que levou em conta o
feedback do usuário.
O ponto principal de um sistema operacional é o seu kernel. Ele faz a
comunicação entre os programas e os processamentos feitos em nível de
hardware. As responsabilidades do kernel incluem gerenciamento de
processos, gerenciamento de memória, gerenciamento de dispositivos e
chamadas de sistema.
1 Software Livre: http://www.debian.org/intro/free
7
1.2 Distribuição Debian GNU/Linux
O projeto Debian GNU/Linux é uma associação de pessoas que tem
uma causa comum que é criar um sistema operacional livre, desta forma
surgindo este projeto. É desenvolvido por mais de mil programadores
espalhados pelo mundo. Estes programadores são voluntários em seus tempos
livres, sendo que poucos se conhecem pessoalmente. Trocas de informações
são feitas através de e-mails e IRC (Internet Relay Chat). Mesmo a distribuição
sendo feita se certa forma à distância, existe uma estrutura organizacional2
bem definida.
O Debian utilizam o kernel do Linux ou do FreeBSD. Todavia, existem
esforços em prover outros kernels para o Debian como Hurd. Hurd é um
software livre produzido pelo projeto GNU.
1.3 Instalando o Debian
Antes de ser feita a instalação do Debian, é preciso entender que
existem alguns tipos de instalações como as citadas abaixo:
• Utilizando o disco rígido inteiro do computador, assim existirá
apenas o Debian em seu computador;
• Redimensionando a partição do disco rígido, ou seja, será
liberado um espaço no disco (utilizando ferramentas próprias)
para ser instalado o Debian nesta partição mantendo desta forma
o seu sistema operacional (ex. Windows) e o Debian instalados
juntos. Quando for ligado o computador aparecerá uma tela
perguntando em qual sistema será inicializado (Windows ou
Linux).
• Utilizando virtualização, desta forma será necessário instalar um
programa de virtualização em seu computador e dentro deste
programa será instalado qualquer sistema operacional. Desta
forma o sistema operacional que já existe em seu computador
não será alterado em nada.
1.3.1 Virtualização
A opção a ser adotada para instalar o Debian será fazendo o uso de
virtualização.
Mas por que utilizá-lo?
A criação de um ambiente virtual permite simular um ambiente real,
propiciando a utilização de diversos sistemas e aplicativos. A principal
vantagem é em termos econômicos pois assim podemos utilizar o máximo do
poder de processamento do hardware evitando desperdícios computacionais.
2 Estrutura Organizacional: http://www.debian.org/intro/organization
8
A virtualização consistem em executar vários sistemas operacionais no
mesmo computador de forma simultânea. Isto é possível com o uso de
programas específicos que geram máquinas virtuais: estas emulam os
componentes físicos do computador, possibilitando que um sistema
operacional diferente seja instalado em cada máquina virtual.
Há outras duas vantagens na adoção desta tecnologia: uma voltada a
usuários, outra a servidores.
No caso dos usuários consiste em eliminar a incompatibilidade entre
aplicativos e sistemas operacionais. Pense em um usuário cujo computador
tenha o Windows Vista instalado, mas que deseje executar um aplicativo que
só é compatível com o Windows XP. Isso é possível com a criação, neste
computador, de uma máquina virtual que execute o Windows XP, depois é só
instalar o aplicativo nesta máquina virtual e executá-lo normalmente (como se
fosse um computador dentro do outro).
Quanto aos servidores, sua virtualização permite que, ao invés de se ter
diversos servidores (que utilizam apenas uma porcentagem dos recursos), os
precessos sejam distribuídos de forma equilibrada entre um número menor de
computadores (assim chegam mais próximos do aproveitamento total de sua
capacidade). Isto reduz a quantidade de mão-de-obra técnicas, o espaço para
alocar os computadores e o gasto com eletricidade, permitindo assim
economia.
O programa a ser utilizado para fazer a virtualização é o VirtualBox3
que
é mantido pela Oracle4
. Este programa está disponível como um software de
código aberto sob os termos do GNU GPL versão 2. Pode ser instalado em
vários sistemas operacionais como plataformas Windows, Linux, Macintosh e
Solaris.
Para poder fazer o download do programa acesse o site do VirtualBox,
sessão downloads e escolha o pacote para o seu sistema operacional. Ex.:
caso o seu computador tenha instalado o sistema operacional Windows, clique
na opção x86/amd64 referente a VirtualBox 4.2 for Windows hosts.
Após fazer o download do programa, faça a instalação do mesmo
clicando duas vezes no arquivo do programa e seguindo os passos abaixo.
3 VirtualBox: https://www.virtualbox.org/
4 Oracle: http://www.oracle.com/index.html
9
Figura 1.1 – Tela inicial de instalação do VirtualBox
Figura 1.2 – Tela de customização da instalação do VirtualBox
Figura 1.3 – Permite criar o ícone do programa na área de trabalho
10
Passo 1:
Quando aparecer a
tela mostrada pela
figura 1.1 clique no
botão Next para
proceder com a
instalação.
Passo 2:
Esta tela exibe opções
para poder customizar
sua instalação. Não
altere nenhuma
informações e clique no
botão Next para
continuar com a
instalação.
Passo 3:
Esta tela permite criar o
ícone na Área de
Trabalho do seu
computador, não
desmarque nenhuma
opção e clique no botão
Next
Figura 1.4 – Tela de instalação das interfaces de rede
Figura 1.5 – Tela de instalação das interfaces de rede
Figura 1.6 – Tela de instalação das interfaces de rede
11
Passo 4:
Esta tela permite instalar
as interfaces de rede
virtuais para as máquinas
virtuais poderem ter
acesso a rede. Clique no
botão Yes para aceitar a
instalação.
Passo 5:
Esta tela permite instalar
as interfaces de rede
virtuais para as máquinas
virtuais poderem ter
acesso a rede. Clique no
botão Install para aceitar
a instalação.
Passo 6:
Logo após começará a
instalação do probrama
como mostrado na figura
1.6.
Figura 1.7 – Tela de instalação do módulo USB
Figura 1.8 – Tela de instalação do serviço de rede
Figura 1.9 – Tela de finalização da instalação
12
Passo 7:
Esta tela permite instalar
o módulo USB para as
máquinas virtuais
reconhecerem os
dispositivos USB que
forem conectados no
computador. Clique no
botão Instalar.
Passo 8:
Esta tela permite instalar
o módulo Serviço de
Rede como por exemplo
serviço DHCP para as
máquinas virtuais
receberem IP. Clique no
botão Instalar.
Passo 9:
Depois de terminar a
instalação será mostrada
a tela da figura 1.9. Clique
no botão Finish.
Figura 1.10 – Tela de finalização da instalação
1.3.2 Configurando uma máquina virtual
O processo de criar uma máquina virtual é como se estivess montando
um computador fisicamente, onde terá que ter memória principal (memória
RAM), disco rígido (HD), unidade de DVD-ROM dentre outros dispositivos
comuns de um computador. Sendo assim, siga os passos abaixo:
Figura 1.11 – Tela inicial de criação da máquina virtual
Figura 1.12 – Tela configuração do tamanho da memória RAM
13
Passo 10:
Depois da instalação
execute o programa. A
figura 1.10 mostra a tela
principal do VirtualBox.
Passo 1:
Após acessar o
programa clique no
botão Novo para poder
começar a criar a
máquina virtual. Como
mostrado na figura 1.11
coloque o nome da
máquina virtual e
escolha qual o sistema
operacional que será
mostrado. Faça igual ao
da figura. Depois clique
no botão Próximo(N).
Passo 2:
A próxima tela (figura
1.12) mostra a
configuração do tamanho
da memória principal que
a máquina virtual irá
usar.O próprio VitualBox
calcula o tamanho ideal
com relação à
configuração do seu
computador. Não altere o
valor. Clique no botão
Próximo (N).
Figura 1.13 – Tela de criação do disco rígido
Figura 1.14 – Tela de criação do disco rígido
Figura 1.15 – Tela tipo de armazenamento em disco rígido físico
14
Passo 3:
Esta tela permite criar o
disco rígido da máquina
virtual.Deixa a
configuração padrá e
clique no botão Criar.
Passo 4:
A próxima tela permite
escolher qual o tipo de
arquivo será criado
para o dísco rígido.
Toda máquina virtual
criada será
armazenada em um
diretório e o disco rígido
será representado por
um arquivo. Deixe a
configuração padrão e
clique no botão
Próximo(N).
Passo 5:
Esta tela permite
escolher qual tipo de
armazemanto será
criado. A opção
dinamicamente
alocado permite que o
arquivo criado cresça à
medida que seja
instalados programas
ou copiados arquivos
para dentro da máquina
virtual. Deixe a
configuração padrão e
clique no botão
Próximo(N).
Figura 1.16 – Tela de localização e tamanho do disco rígido
Figura 1.17 – Tela principal com a máquina virtual criada
Figura 1.18 – Tela de configuração da imagem ISO do Debian.
15
Passo 6:
Este passo permite
digitar um nome para o
disco rígido e onde ele
será armazenado.
Deixe a configuração
padrão e clique no
botão Criar.
Passo 7:
Depois de criar a
máquina virtual, será
mostrada a tela
principal do VirtualBox
com todas as máquinas
virtuais criadas, neste
caso somente a
máquina virtual Debian
Squeeze.
Passo 8: Para poder fazer a instalação de um sistema operacional,
utilizamos uma mídia DVD contendo o sistema e efetuamos a inicialização do
computador através deste DVD. Em nosso caso, como estamos fazendo uso
da virtualização temos a opção de fazer a instalação dos sistemas operacionais
nas máquinas virtuais através de imagens ISO5
. Sendo assim, selecione a
máquina virtual Debian Squeeze na tela principal do VirtualBox e logo em
seguida clique na opção Configurações como mostrado na figura 1.17 (na
marcação em verde). Depois disso será mostrada a tela representada pela
figura 1.18 onde deve ser selecionado a opção Armazenamento,
Controladora IDE/Vazio, e no símbolo que represenda uma mídia de CD/DVD
(seta vermelha). Após selecionar esta opção clique em Selecione um arquivo
de CD/DVD virtual, assim irá aparecer uma tela de diálogo pedindo para
selecionar a imagem ISO de instalação do Debian. Para adquirir uma imagem
ISO do Debian é só fazer o download na página oficial6
do projeto.
Figura 1.19 – Tela de configuração da imagem ISO do Debian.
5 Imagens ISO: é toda a informação de um CD/DVD contida em um único arquivo
com extensão ISO.
6 Página Oficial: http://cdimage.debian.org/debian-cd/6.0.6/amd64/iso-dvd/debian-
6.0.6-amd64-DVD-1.iso
16
Passo 9:
Após a seleção do
arquivo ISO a tela irá
ficar semelhante a da
figura 1.19. Sendo
assim, clique no botão
OK para voltar à tela
principal.
1.3.3 Instalação do Debian na máquina virtual
Depois da máquina virtual criada basta seguir os passos abaixo para
poder fazer a instalação da distribuição Debian.
Figura 1.20 – Tela principal
Figura 1.21 – Tela principal de instalação do Debian
Figura 1.22 – Aviso de captura do mouse e teclado
17
Passo 1:
Para iniciar a máquina
virtual, selecione
Debian Squeeze e
clique no botão Iniciar,
como indicado na
marcação verde.
Passo 2:
Depois de ser iniciada a
máquina virtual, será
mostrada a tela de
instalação do Debian
(figura 1.21). Clique
dentro da tela de
instalação do Debian
para começar a fazer a
instalação.
Passo 3:
Ao clicar dentro da tela
de instalação do
Debian, será mostrada
a tela da figura 1.22
dizendo que o mouse e
o teclado estarão
focados na máquina
virtual, clique no botão
Capturar. Para poder
liberar o mouse e o
teclado basta
pressionar a tecla Ctrl
do lado direito do
teclado.
Após a captura do mouse e teclado deixe selecionado a opção Install e
pressione a tecla Enter para começar a instalação do Debian.
Figura 1.23 – Escolha da linguagem
Figura 1.24 – Selecione sua localidade
Figura 1.25 – Escolha do layout do teclado
18
Passo 4:
Será mostrada a tela
para escolher a
linguagem desejada.
Com a seta do teclado
navegue para baixo até
encontrar a opção
Portuguese (Brazil) –
Português do Brasil.
Depois pressione a
tecla Enter.
Passo 5:
A próxima tela permite
selecionar a localidade.
Deixe marcada a opção
Brasil e pressione a
tecla Enter.
Passo 6:
Selecione o layout do
teclado sendo
Português Brasileiro
(layout ABNT2). Este
layout é para os
teclados que possuem
a tecla ç. Caso seu
teclado não possua a
tecla ç escolha a opção
Português. Pressione
a tecla Enter.
Figura 1.26 – Componentes adicionais para instalação
Figura 1.27 – Tela para informar o nome do computador
Figura 1.28 – Tela para informar o domínio do computador
Figura 1.29 – Tela para informar a senha do usuário root
Figura 1.30 – Tela para informar a senha do usuário root
19
Passo 7:
Carregando
componentes adicionais
para a instalação do
Debian.
Passo 8:
Tela para informar
o nome do
computador. Deixe
o nome Debian e
pressione Enter.
Passo 9:
Informe o domínio que o
computaor irá pertencer,
em nossa instalação
digite localhost. Isto
significa que o domínio é
o próprio computador e
depois pressione Enter.
Passo 10:
Informe a senha do
usuário root
(administrador do
Linux). A senha será
123456 e depois
pressione a tecla
Enter.
Passo 11:
Confirme a senha do
usuário root 123456
e depois pressione a
tecla Enter.
Figura 1.31 – Tela para informar o nome completo do usuário
Figura 1.32 – Tela para informar o nome da conta do usuário
Figura 1.33 – Tela para informar a senha do usuário
Figura 1.34 – Tela para confirmar a senha do usuário
20
Passo 12:
O próximo passo é
criar uma conta de
usuário comum (sem
muitos privilégios).
Digite o nome
completo da conta do
usuário chamado
usuario do curso de
redes e pressione a
tecla Enter.
Passo 13:
Esta tela permite
digitar o nome da
conta do usuário que
está sendo criado.
Digite usuario e
depois pressione a
tecla Enter.
Passo 14:
O próximo passo é
digitar uma senha
para a conta
usuario. Digite a
senha 123456 e
depois pressione a
tecla Enter.
Passo 15:
Confirme a senha
para a conta
usuario. Digite a
senha 123456 e
depois pressione a
tecla Enter.
Figura 1.35 – Tela para escolher o fuso horário
Figura 1.36 – Tela carregando componentes adicionais de discos
Figura 1.37 – Tela de particionamento de discos
Particionar um disco significa dividi-lo em partes lógicas, para o sistema
operacional é como se existissem vários discos rígidos. No Linux, de uma
forma padrão, existem duas partições que são criadas: a partição de troca7
(onde o sistema operacional faz troca de informações entre memória principal e
o disco rígido) e a partição onde será instalado o sistema operacional.
7 Partição de troca: conhecido também como partição de swap.
21
Passo 16:
Logo em seguida
escolha o fuso
horário. Deixe
marcada a opção
São Paulo e depois
pressione a tecla
Enter.
Passo 17:
Carregando os
componentes de
particionamento
de discos.
Passo 18:
Esta tela permite
escolher qual tipo
padrão de
particionamento
será feito. Escolha
a opção Manual e
pressione a tecla
Enter.
Figura 1.38 – Tela de particionamento de discos
Figura 1.39 – Tela de particionamento de discos
Figura 1.40 – Tela de particionamento de discos
Passo 21: A figura 1.40 mostra a tabela de partição criada. Agora basta
pressionar a tecla Enter para começar a criar as partições necessárias para a
instalação do Linux.
22
Passo 19:
Esta tela mostra o
disco que foi
criado na máquina
virtual. Selecione
este disco e
pressione a tecla
Enter para criar a
tabela de partição
do disco.
Passo 20:
Selecione a opção
Sim para aceitar a
criação da tabela
de partição no
disco e pressione
a tecla Enter.
Figura 1.41 – Tela de particionamento de discos
Figura 1.42 – Tela de particionamento de discos (tam. da partição)
A partição de troca (swap) permite estender o tamanho da memória
principal (RAM) utilizando a memória secundária (disco rígido).
Figura 1.43 – Tipo de partição
Figura 1.44 – Partição pode ser criada no Início ou Fim do disco
23
Passo 22:
Esta tela permite criar
uma nova partição
para o seu disco
rígido. Pressione a
tecla Enter para criar
a partição.
Passo 23:
Esta tela permite
definir o tamanha da
partição a ser criada.
Digite o tamanho de 1
GB, igual ao indicado
na figura 1.42, este
tamanho será para a
partição de Troca.
Depois pressione a
tecla Enter.
Passo 24:
Aqui você vai
escolher o tipo de
partição a ser criado.
Escolha Primária e
depois pressione a
tecla Enter.
Passo 25:
Este ponto permite
crair a partição no
início ou fim do disco
rígido. Escolha a
opção Início e depois
pressione a tecla
Enter.
Figura 1.45 – Configuração da partição
Passo 26: neste passo (figura 1.45) você poderá escolher qual o tipo de
sistemas de arquivos esta partição terá. Como estamos criando uma partição
de Troca, existe um sistema de arquivos específico para isto. Sendo assim,
selecione a opção Usar Como e pressione a tecla Enter para escolher o
sistema de arquivos correto.
Figura 1.46 – Escolha do tipo de partição
24
Passo 27:
Esta tela permite você
escolher o sistema de
arquivos correto para a
partição que está sendo
criada. Escolha o sistema de
arquivos área de troca
(swap) e depois pressione a
tecla Enter.
Figura 1.47 – Finaliza a configuração da partição
Figura 1.48 – Tela de particionamento de discos com partição de troca (swap) criada
Passo 29: neste passo você terá que criar outra partição. É nesta
partição que será feita a instalação do sistema operacional Linux. Sendo assim,
selecione a opção ESPAÇO LIVRE e pressione a tecla Enter.
Figura 1.49 – Tela de particionamento de discos
25
Passo 28:
Depois de escolhido
o sistema de
arquivos, será
mostrada esta tela
com as
configurações
corretas. Sendo
assim, selecione a
opção Finalizar a
configuração da
partição e depois
pressione a tecla
Enter.
Passo 30:
Esta tela permite criar uma nova
partição para o seu disco rígido.
Pressione a tecla Enter para
criar a partição.
Figura 1.50 – Tela de particionamento de discos (tam. da partição)
Figura 1.51 – Tipo de partição
Figura 1.52 – Configuração da partição
Passo 33: esta tela mostra a configuração padrão da partição onde será
instalado o Linux. A opção Usar como mostra o tipo de sistema de arquivos
que será utilizado pelo Linux Sistema de arquivos com “journaling” ext3. O
Ponto de montagem: / refere-se onde será instalado o Linux. Fazendo uma
analogia com o sistema operacional da Microsoft (Windows), é como se fosse a
letra C: significando que o Windows foi instalado a partir deste ponto. No Linux
o símbolo Barra (/) significa que o sistema operacional é instalado a partir
deste ponto. Deixte estas configurações padrões (como mostrado na figura
1.52), selecione a opção Finalizar a configuração da partição e depois
pressione a tecla Enter.
26
Passo 31:
Esta tela permite
definir o tamanho da
partição. Deixe o
tamanho total a ser
utilizado e depois
pressione a tecla
Enter.
Passo 32:
Aqui você vai
escolher o tipo de
partição a ser criado.
Escolha Primária e
depois pressione a
tecla Enter.
Figura 1.53 – Tela de particionamento de discos
Figura 1.54 – Tela para aceitar as configurações de partição feitas
Figura 1.55 – Tela de formatação das partições criadas
Passo 36: fazendo a formatação das partições criadas. A formatação
serve para preparar a partição para receber a estrutura de diretórios e arquivos
do sistema operacional. Assim, o sistema operacional é capaz de ler e gravar
informações no disco.
Figura 1.56 – Tela de instalação do sistema básico
Passo 37: neste passo está sendo instalado o sistema básico do Linux.
27
Passo 34:
Esta tela mostra
todas as partições
criadas. Sendo assim,
selecione a opção
Finalizar o
particionamento e
escrever as
mudanças no disco.
Depois pressione a
tecla Enter.
Passo 35:
Selecione a opção
Sim para aceitar as
modificações das
partições criadas e
depois pressione a
tecla Enter.
Figura 1.57 – Tela de configuração do gerenciador de pacotes
Passo 38: esta tela permite ser catalogado outros CD/DVD's. Toda vez
que for instalado um novo programa no Linux, utilizando o comando aptitude
(mostrado na Aula 2), será pesquisado neste catálogo e o mesmo irá pedir o
CD/DVD correto que possui o programa. A imagem ISO que está sendo usada
para instalar o Linux já foi catalogada sendo assim escolha a opção Não (para
não catalogar outra imagem/cd) e pressione a tecla Enter.
Figura 1.58 – Tela de configuração do gerenciador de pacotes
Passo 39: esta opção permite configurar um espelho de rede para poder
instalar novos programas ou atualizar programas já instalados através da
Internet. Em nosso laboratório de instalação vamos escolher a opção Não e
pressionar a tecla Enter. Pois que será utilizado nesta instalação já está na
imagem de instalação.
Figura 1.59 – Tela de instalação dos programas restantes do Linux básico
28
Passo 40: esta tela mostra o restante da instalação básica do Linux.
Figura 1.60 – Tela de configuração de estatísticas de uso de pacotes (programas)
Passo 41: neste passo é possível participar de um levantamento dos
programas mais utilizados no Debian para os desenvolvedores colocarem no
primeiro CD/DVD de instalação da distribuição. Mas em nossos exercícios
vamos escolher a opção Não e pressionar a tecla Enter.
Figura 1.61 – Tela de seleção de softwares
Passo 42: neste passo é possível escolher os serviços que queremos
executar no Debian. Mas deixe as configurações padrões e pressione a tecla
Enter. Os programas de serviços como WEB, DNS, arquivos serão vistos nas
aulas seguintes e instalados após a instalação do Debian. Será feito desta
forma para poder nos familiarizarmos melhor com a distribuição.
29
Figura 1.62 – Tela de seleção do GRUB
Passo 43: após ser instalado todos os programas selecionados, será
mostrada a tela acima (figura 1.62) pedindo para instalar o GRUB8
no disco
rígido. O GRUB é um gerenciador de boot de sistemas operacionais. Ex.: caso
o seu computador tenha dois sistemas operacionais (Windows e Linux), o
gerenciador de boot permite você escolher um dos dois sistemas operacionais
que queira utilizar quando ligar o computador. Sendo assim, escolha a opção
Sim e pressione a tecla Enter.
Figura 1.63 – Instalando o GRUB
Passo 44: este passo mostra a instalação do GRUB.
Figura 1.64 – Instalação finalizada
Passo 45: este passo mostra a finalização da instalação do Debian.
Pressione a tecla Enter para ser reinicializada a máquina virtual e ter acesso
ao novo sistema operacional instalado.
8 GRUB: Grand Unified Boot Loader
30
Figura 1.65 – Tela do GRUB
Passo 46: este passo permite você escolher a inicialização padrão do
Debian (Debian GNU/Linux, with Linux 2.6.32-5-amd64) ou escolher o modo
de recuperação (Debian GNU/Linux, with Linux 2.6.32-5-amd64 recovery
mode) caso o sistema tenha algum problema. Pressione a tecla Enter para
inicializar o Debian ou não faça nada que o sistema inicializa sozinho.
Figura 1.66 – Tela de login do Debian
31
Passo 47: tela de sessão do Debian, selecione o usuário chamado
usuario para digitar a senha 123456 e ter acesso ao ambiente de trabalho do
Debian.
Figura 1.67 – Área de trabalho do Debian
Passo 48: depois de ter digitado usuário/senha, será mostrada a área
de trabalho do Debian.
1.4 Exercícios
1) Quem criou/desenvolveu o GNU/Linux?
2) Faça uma pesquisa na Internet sobre GNU General Public License.
3) O que é uma distribuição Linux? Além da distribuição Debian existem outras,
cite outras duas distribuições e algumas características delas.
4) Para a instalação da distribuição do Debian foi feito o uso de virtualização.
Cite algumas vantagens em se utilizar virtualização e outros programas que
trabalham com virtualização (além do VirtualBox).
5) Durante a instalação do Debian, foram criadas duas partições no disco
virtual. Para que serve a partição de troca e a partição representada por uma
barra “/”?
6) Para que serve o programa chamado GRUB?
32
Aula 2. Shell
Objetivos
– Conhecer o que é Shell
– Manipular diretórios/arquivos
– Fazer a manutenção de usuários/grupos
– Instalar de programas
2.1 Introdução
Shell é um programa executado após a inicialização do sistema Linux
que serve como interpretador de comandos entre o usuário e o kernel. Estes
comandos podem vir de uma entrada padrão (teclado) ou de um arquivo
executável. Sendo assim, os comandos digitados são interpretados pelo shell e
enviados para o kernel do Linux, que por sua vez executa o comando e retorna
o resultado desta execução.
No Linux existem diversos programas shell como bash, sh, tcsh, csh,
ash e bsh. Na distribuição Debian, o shell padrão é o bash. Os comandos do
shell podem ser usados para escrever programas em uma linguagem
interpretada conhecidad como shell script.
Existem duas formas de utilizar um shell:
• Modo interativo → o usuário digita um comando e espera a
execução dele antes de passar ao próximo comando.
• Modo batch, script, lote ou não-interativo → quando um
conjunto de comandos serão executados, a partir de uma data e
hora especificada e não haverá intervenção do usuário.
33
Figura 2.1 – Acessando o terminal do Linux (prompt de comando)
Quando for acessado o prompt de comando, será mostrada uma
informação semelhante a esta: usuario@debian:~$.
O que significa esta informação?
usuario: nome do usuário com quem você entrou no Debian.
@: símbolo para separar o nome do usuário do nome do computador.
debian: nome do computador que foi escolhido durante a instalação.
~: este símbolo identifica que você está na pasta pessoal do usuario.
Se você navegar por outras pastas será mostrado o nome no lugar do ~.
$: este símbolo significa que você é um usuário comum (sem privilégios
de administrador do Linux). Ao se tornar administrador do Linux, este símbolo
irá mudar para #.
2.2 Comandos para manipulação de diretório
Quando você entrar com seu usuário/senha no Debian e iniciar o
terminal (figura 2.1), o prompt do terminal estará no diretório padrão que é o
34
Ao usar o prompt de comandos, preste muita atenção nos exemplos que serão
mostrados a seguir, pois o Linux é case sensitive (um comando, diretório ou
arquivo escrito em letra maiúscula ou miníscula são diferentes). Ex: a pasta Redes é
diferente de redes, pois a primeira começa com letra maiúscula e a outra com letra
minúscula.
home directory do usuário. Este é o diretório pessoal9
que pertence ao usuário
no qual você fez o login.
Figura 2.2 – Hierarquia de diretórios no Linux
Na figura 2.2 são mostrados alguns diretórios do GNU/Linux como por
exemplo o /llib (onde são armazenadas as bibliotecas que o sistema
operacional precisa e os programas instalados nele), /dev (diretório onde ficam
armazenadas as referências de dispositivos físicos como o dvd, hd, usb),
/var/log (onde ficam armazenados os históricos de acesso ao sistema
operacional, serviços de rede), /var/spool (diretório onde são armazenadas as
filas de impressão), /boot (diretório que contém as informações de inicialização
do sistema operacional).
2.2.1 Comando ls
Lista os arquivos de um diretório.
ls [opções] [caminho/arquivo]
onde:
caminho/arquivo: diretório/arquivo que será listado
opções:
-a: lista todos os arquivos (inclusive os ocultos) de um diretório.
Arquivos/diretórios ocultos começam com o símbolo de ponto “.”.
-l: mostra os arquivos na forma de listagem (detalhado) sendo possível
visualizar as permissões, data de modificação, donos, grupos, etc.
-h: mostra o tamanho dos arquivos em Kbytes, Mbytes, Gbytes.
Comando 2.1 – Área de trabalho do usuário
Ao digitar o comando “ls” e pressionar a tecla Enter, como mostrado mo
comando 2.1, será visualizado o diretório Desktop (representa a Área de
Trabalho do Usuário). Abaixo existem outros exemplos utilizando o comando
“ls” e suas opções.
9 Diretório pessoal: diretório pertencente a um determinado usuário para poder
guardar seus arquivos pessoais.
35
usuario@debian:~$ ls /home/usuario
Desktop
usuario@debian:~$
Comando 2.2 – Listagem do conteúdo do diretório pessoal com seus
arquivos/diretórios ocultos
Comando 2.3 – Listagem do conteúdo do diretório pessoal em formato
de listagem (detalhado)
Comando 2.4 – Listagem do conteúdo do diretório pessoal em formato
de listagem (detalhado) e o tamanho do diretório em Kbytes
Comando 2.5 – Listagem do conteúdo do diretório /usr
2.2.2 Comando cd
Comando responsável por entrar (navegar) nos diretórios.
cd [diretório]
Para entrar no diretório chamado tmp digite o comando mostrado em
comando 2.6 e depois pressione a tecla Enter. Para voltar ao diretório do
usuário /home/usuario, digite o comando mostrado em comando 2.7.
36
usuario@debian:~$ ls -a /home/usuario
. .dbus .gstreamer-0.10 .recently-used.xbel
.. Desktop .gvfs .thumbnails
.bash_history .dmrc .ICEauthority .xsession-errors
.bash_logout .gconf .local .xsession-errors.old
.bashrc .gconfd .nautilus
.config .gnome2 .profile
usuario@debian:~$
usuario@debian:~$ ls -l /home/usuario
total 4
drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop
usuario@debian:~$
usuario@debian:~$ ls -lh /home/usuario
total 4,0K
drwxr-xr-x 3 usuario usuario 4,0K Set 27 17:59 Desktop
usuario@debian:~$
usuario@debian:~$ ls /usr/
bin games include lib lib32 lib64 local sbin share src
usuario@debian:~$
Comando 2.6 – Entrando no diretório /tmp
Comando 2.7 – Voltando ao diretório /home/usuario
2.2.3 Comando pwd
O comando pwd mostra o caminho completo do diretório atual em que
você está.
Comando 2.8 – Mostra o caminho completo do diterório do usuario
2.2.4 Comando mkdir
Cria um diretório (pasta) no sistema operacional Linux.
mkdir [opções] [caminho/diretório]
onde:
caminho: caminho onde será criado o diretório
diretório: nome do diretório que será criado dentro do caminho informado
opções:
-p: se os diretórios dos níveis acima não existirem, também serão
criados.
- -verbose: mostra uma mensagem quando o diretório é criado.
Comando 2.9 – Criando o diretório teste dentro do diretório do usuário
37
usuario@debian:~$ cd /tmp/
usuario@debian:/tmp$
usuario@debian:/tmp$ cd /home/usuario/
usuario@debian:~$
usuario@debian:~$ pwd
/home/usuario
usuario@debian:~$
usuario@debian:~$ mkdir /home/usuario/teste
usuario@debian:~$ ls
Desktop teste
usuario@debian:~$
2.2.5 Comando rmdir
Este comando remove um diretório no sistema, fazendo o contrário do
comando mkdir. Para remover um determinado diretório, este deve estar vazio.
Caso seja necessário remover um diretório que tenha arquivos/diretórios dentro
dele, deve ser usado o comando rm que será visto no item 2.3.2.
rmdir [caminho/diretório]
onde:
caminho: caminho do diretório que será removido
diretório: nome do diretório que será removido
Comando 2.10 – Removendo o diretório teste dentro do diretório do usuário
2.3 Comandos para manipulação de arquivo
2.3.1 Comando cat
O comando cat serve para mostrar o conteúdo de um determinado
arquivo texto ou binário.
cat [opções] [caminho/arquivo]
onde:
caminho: caminho onde está o arquivo
arquivo: nome do arquivo que será mostrado o conteúdo
Comando 2.11 – Mostrando o conteúdo do arquivo networks
38
usuario@debian:~$ rmdir /home/usuario/teste
usuario@debian:~$ ls
Desktop
usuario@debian:~$
usuario@debian:~$ cat /etc/networks
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0
usuario@debian:~$
2.3.2 Comando rm
Comando utilizado para excluir arquivos. Pode ser utilizado também para
excluir diretório, mas neste caso deve ser utilizado a opção -r para o comando
ser executado com sucesso.
rm [opções] [caminho] [arquivo/diretório]
onde:
caminho: caminho onde está o arquivo ou o diretório.
arquivo/diretório: nome do arquivo/diretório que será excluído.
opções:
-v: mostra mensgens dos arquivos/diretórios que estão sendo excluídos.
-r: exclui arquivos/diretórios de forma recursiva. Isto permite excluir sub-
diretórios dentro de diretórios.
Comando 2.12 – Excluindo o arquivo oculto bash_history
Comando 2.13 – Excluindo o diretório teste
2.3.3 Comando cp
Comando responsável por copiar arquivos/diretórios da origem para o
destino.
cp [opções] [origem] [destino]
onde:
origem: o arquivo/diretório origem a ser copiado.
destino: caminho para onde será copiado o arquivo/diretório
39
usuario@debian:~$ rm /home/usuario/.bash_history
usuario@debian:~$ ls -a
. Desktop .gvfs resultado.txt
.. .dmrc .ICEauthority .thumbnails
.bash_logout .gconf .local .xsession-errors
.bashrc .gconfd .nautilus .xsession-errors.old
.config .gnome2 .profile
.dbus .gstreamer-0.10 .recently-used.xbel
usuario@debian:~$
usuario@debian:~$ rm -r /home/usuario/teste
usuario@debian:~$
opções:
-v: mostra os arquivos/diretórios que estão sendo copiados.
-R: responsável por copiar arquivos e sub-diretórios de forma recursiva.
Comando 2.14 – Copiando o arquivo lastlog que se encontra no caminho
/var/log para o diretório /home/usuario
Comando 2.15 – Copiando o diretório /bin que se encontra na rais do disco
/ (figura 2.2) para o diretório /home/usuario
2.3.3 Comando mv
Comando responsável por mover um arquivo/diretório da origem para o
destino. Pode ser utilizado para renomear arquivo/diretório. O processo é
semelhante ao comando cp.
mv [opções] [origem] [destino]
onde:
origem: o arquivo/diretório origem a ser copiado ou renomeado.
destino: caminho para onde será movido ou renomeado o
arquivo/diretório.
opções:
-v: mostra os arquivos/diretórios que estão sendo movidos/renomeados.
Comando 2.16 – Renomeando o arquivo lastlog para arquivo.txt
Comando 2.17 – Movendo o diretório bin que se encontra em /home/usuario para o diretório
/tmp
40
usuario@debian:~$ cp /var/log/lastlog /home/usuario/
usuario@debian:~$ ls
Desktop lastlog
usuario@debian:~$
usuario@debian:~$ cp -R /bin /home/usuario/
usuario@debian:~$ ls
bin Desktop lastlog
usuario@debian:~$
usuario@debian:~$ mv /home/usuario/lastlog /home/usuario/arquivo.txt
usuario@debian:~$ ls
arquivo.txt bin Desktop
usuario@debian:~$
usuario@debian:~$ mv /home/usuario/bin /tmp/
usuario@debian:~$ ls /tmp/
bin keyring-8Ej8EO orbit-Debian-gdm orbit-usuario ssh-cAqMdN1467
usuario@debian:~$
2.4 Manipulação de contas
O Linux é um sistema multiusuário sendo muito importante saber como
funcionam algumas funções de administração do seu ambiente.
Um sistema multiusuário caracteriza-se por permitir acessá-lo de
qualquer lugar através de conexões TCP/IP ou acessar o sistema localmente
através dos Terminais Virtuais, tudo simultaneamente. Onde cada usuário
executando tarefas completamente independentes uns dos outros.
Além dos usuários existentes, qualquer sistema operacional de rede
possui grupos. Estes são conjuntos de usuários com ações em comuns. São
utilizados para facilitar ações que deveriam ser executadas para cada um dos
usuários. Em grupos, determinadas ações podem ser executadas apenas uma
vez para um grupo que contém determinados usuários.
É importante saber que usuários e grupos são identificados por um
númbero único denominados de UID10
e GID11
respectivamente.
O Linux utiliza um arquivo /etc/passwd para armazenar informações de
seus usuários e o arquivo /etc/group para armazenar informações de seus
grupos. Além destes dois arquivos existe um terceiro /etc/shadow onde são
armazenadas as senhas dos usuários cadastrados no Linux.
Muitas das vezes que for manipular usuários/grupos deve ter permissão
para esta ação. Para tanto você deve tornar-se um super-usuário, ou seja, ter
privilégios de administrador do Linux. Como comentado no item 2.1, você deve
adquirir privlégios de administrador, para tanto utilize o comando su
(responsável por mudar o usuário comum para administrador do Linux) como
mostrado abaixo.
Comando 2.18 – Tornando-se super-usuário
Ao digitar o comando su será pedido a senha do usuário administrador
do Linux (usuário root). Durante a digitação da senha não será mostrado nada
na tela semelhante ao símbolo de senhas como asteríscos (*********). Esta é
uma técnica de segurança adotada pelo sistema operacional. Após a senha ser
digitada, pressione a tecla Enter, se a senha estiver correta você terá
privilégios de super-usuário. Repare no comando 2.18 que o prompt de
comando mudou de $ para #.
Agora que somos administradores do Linux, podemos visualizar algumas
informações.
10 UID: User IDentification (Identificação do Usuário)
11 GID: Group IDentification (Identificação do Grupo)
41
usuario@debian:~$ su
Senha:
root@debian:/home/usuario#
Comando 2.19 – Visualizando o arquivo /etc/passwd
Neste arquivo podemos visualizar alguns usuários existentes no Linux.
Cada linha representa um usuário com suas informações. Ex.:
usuario:x:1000:1000:usuario curso de redes,,,:/home/usuario:/bin/bash
Esta linha acima mostra as informações do usuário chamado usuario
onde suas informações estão separadas pelo símbolo dois pontos “:”.
usuario: nome do usuário criado no Linux
x: significa que o usuário possui uma senha criptografada.
1000: UID do usuário.
1001: GID do grupo. Significa que o usuário pertence a um grupo com
este identificação.
usuario curso de redes,,,: informações separadas por vírgula como
nome completo do usuário, número do telefone, local de trabalho.
/home/usuario: caminho da pasta pessoal do usuário.
/bin/bash: shell que o usuário irá utilizar quando acessar o prompt do
terminal
Comando 2.20 – Visualizando o arquivo /etc/group
O arquivo /etc/group contém os grupos existentes no Linux. Ex.:
usuario:x:1000:
usuario: este é o grupo chamado usuario. No Debian, quando é
adicionado um usuário, se não for informado qual o grupo ele irá pertencer
durante sua criação, será criado um grupo com o nome do usuário.
x: significa que o grupo possui uma senha criptografada.
1000: GID do grupo.
42
root@debian:/home/usuario# cat /etc/passwd
usbmux:x:104:46:usbmux daemon,,,:/home/usbmux:/bin/false
Debian-gdm:x:105:109:Gnome Display Manager:/var/lib/gdm3:/bin/false
usuario:x:1000:1000:usuario curso de redes,,,:/home/usuario:/bin/bash
vboxadd:x:999:1::/var/run/vboxadd:/bin/false
root@debian:/home/usuario#
root@debian:/home/usuario# cat /etc/group
Debian-gdm:x:109:
netdev:x:110:usuario
usuario:x:1000:
vboxsf:x:1001:
root@debian:/home/usuario#
Comando 2.21 – Visualizando o arquivo /etc/shadow
Aqui é possível visualizar a senha dos usuários. Ex.: gustavo:
$6$hkw901RZ$nk0kabsf03v4HB/dnJouyLkpzEqjPRtjCVViLnRM7dXu2wzjA
HGTST4mhLiIbF6fG3ZQFopR2bqhA1Gwxvktj1:15594:0:99999:7:::
gustavo: usuário chamado gustavo.
$6$hkw901RZ$nk0kabsf03v4HB/dnJouyLkpzEqjPRtjCVViLnRM7dXu2wzjA
HGTST4mhLiIbF6fG3ZQFopR2bqhA1Gwxvktj1: senha criptografada do
usuário gustavo (senha 123456).
2.4.1 Comando groupadd
Comando responsável por criar um novo grupo no sistema operacional.
groupadd [grupo]
Comando 2.22 – Criando o grupo chamado redes
O comando 2.22 adiciona o grupo denominado redes e logo em
seguida é mostrado o grupo no arquivo /etc/group com o GID 1002.
2.4.2 Comando useradd
Este comando é responsável por adicionar um usuário no Linux. É
necessário utilizar alguns parâmetros para informações adicionais durante a
criação do usuário.
useradd [opções] [usuário]
opções:
-m: responsável por criar o diretório do usuário dentro de /home
43
root@debian:/home/usuario# cat /etc/shadow
gustavo:
$6$hkw901RZ$nk0kabsf03v4HB/dnJouyLkpzEqjPRtjCVViLnRM7dXu2wzj
AHGTST4mhLiIbF6fG3ZQFopR2bqhA1Gwxvktj1:15594:0:99999:7:::
mysql:!:15595:0:99999:7:::
jetty:*:15595:0:99999:7:::
root@debian:/home/usuario#
root@debian:/home/usuario# groupadd redes
root@debian:/home/usuario# cat /etc/group
usuario:x:1000:
vboxsf:x:1001:
redes:x:1002:
root@debian:/home/usuario#
-g: adiciona o usuário a um determinado grupo. Caso este parâmetro
não seja usado, será criado um grupo com o mesmo nome do usuário.
Comando 2.23 – Criando o usuário gustavo e adicionando-o ao grupo redes
O comando 2.23 adiciona o usuário gustavo, criando seu diretório
pessoal localizado em /home/gustavo (opção -m) onde o mesmo irá pertencer
ao grupo redes (opção -g nome_do_grupo).
Quando é mostrado o conteúdo do arquivo /etc/passwd (cat /etc/passwd)
é possível visualizar o UID do usuário (1001) e o GID (1002) que corresponde
ao GID do grupo redes. Isto significa que o usuário gustavo pertence ao grupo
redes. Logo em seguida é mostrado o diretório pessoal do usuário (ls /home).
2.4.3 Comando passwd
O comando passwd é utilizado para mudar a senha de um determinado
usuário. Quando você é administrador do Linux, é possível mudar a senha de
qualquer usuário. Mas se você for um usuário comum (sem privilégios de
administrador do sistema operacional) é permitido apenas mudar a própria
senha.
passwd [usuário]
Comando 2.24 – Mudando a senha do usuário gustavo
O comando acima mostra a mudança da senha do usuário gustavo.
Após digitar o comando e pressionar a tecla Enter será pedido para digitar a
nova senha e logo em seguida redigitar a nova senha.
44
root@debian:/home/usuario# useradd gustavo -m -g redes
root@debian:/home/usuario# cat /etc/passwd
usbmux:x:104:46:usbmux daemon,,,:/home/usbmux:/bin/false
Debian-gdm:x:105:109:Gnome Display Manager:/var/lib/gdm3:/bin/false
usuario:x:1000:1000:usuario curso de redes,,,:/home/usuario:/bin/bash
vboxadd:x:999:1::/var/run/vboxadd:/bin/false
gustavo:x:1001:1002::/home/gustavo:/bin/sh
root@debian:/home/usuario# ls /home/
gustavo usuario
root@debian:/home/usuario#
root@debian:/home/usuario# passwd gustavo
Digite a nova senha UNIX:
Redigite a nova senha UNIX:
passwd: senha atualizada com sucesso
root@debian:/home/usuario#
2.4.4 Comando userdel
Este comando é responsável por excluir um usuário do Linux.
userdel [opção] [usuário]
opção:
-r: esta opção exclui o diretório pessoal do usuário
Comando 2.24 – Excluindo o usuário gustavo e seu diretório pessoal
2.4.5 Comando groupdel
Comando responsável por excluir um determinado grupo no Linux.
groupdel [grupo]
Comando 2.25 – Excluindo o grupo redes
2.5 Manipulação de permissões
As permissões de acesso garantem uma certa proteção ao sistema de
arquivos do Linux das ações de usuários ou programas mal intencionados. Isto
significa que arquivos importantes não sejam alterados, apagados ou copiados
por pessoas ou programas não autorizados.
Comando 2.26 – Listando as permissões do arquivo.txt e Desktop
A figura 2.3 mostra em detalhes o significado de cada informação listada
pelo comando 2.26.
45
root@debian:/home/usuario# userdel -r gustavo
root@debian:/home/usuario# ls /home/
usuario
root@debian:/home/usuario#
root@debian:/home/usuario# groupdel redes
root@debian:/home/usuario#
root@debian:/home/usuario# ls -l
total 4
-rw-r--r-- 1 usuario usuario 292292 Set 28 11:03 arquivo.txt
drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop
root@debian:/home/usuario#
Figura 2.3 – Permissões do arquivo.txt
Analisando as permissões do arquivo.txt: como visto na figura 2.3, as
permissões são separadas em 3 partes (rw- r-- r--). Antes das permissões é
possível visualiar o símbolo “-”. Este primeiro símbolo significa que o objeto
listado é um arquivo. Como as permissões são divididas em 3 partes, a
primeira significa que o usuário dono (chamado usuario) pode ler, alterar o
conteúdo e excluir o arquivo.txt (rw-). A segunda parte sifgnifica que o grupo
dono (chamado usuario) pode somente ler o conteúdo do arquivo.txt (r--). Já a
terceira parte significa que os outros usuários que não é o usuário dono e não
pertence ao grupo dono do arquivo.txt podem somente ler o conteúdo deste
arquivo (r--).
Figura 2.4 – Permissões do Desktop
46
Analisando as permissões do Desktop: como visto na figura 2.4, as
permissões são separadas em 3 partes (rwx r-x r-x). Antes das permissões é
possível visualiar o símbolo “d”. Este primeiro símbolo significa que o objeto
listado é um diretório. Como as permissões são divididas em 3 partes, a
primeira significa que o usuário dono (chamado usuario) pode visualizar o
conteúdo, alterar e entrar no diretório Desktop (rwx). A segunda parte sifgnifica
que o grupo dono (chamado usuario) pode somente visualizar o conteúdo e
entrar no diretório Desktop (r-x). Já a terceira parte significa que os outros
usuários que não é o usuário dono e não pertence ao grupo dono do Desktop
podem somente visualizar o conteúdo e entrar no diretório Desktop (r-x).
A tabela abaixo mostra cada uma das permissões para arquivos e
diretórios.
Direito Sigla Arquivos Diretórios Valor
leitura r Permissão de leitura do conteúdo Visualiza o conteúdo do
diretório
4
gravação w Permissão de escrita Permite criar arquivos e
subdiretórios
2
execução x Permissão para que o arquivo seja
executado
Permite entrar no diretório 1
Tabela 2.1 – Permissões
2.5.1 Comando chmod
O comando chmod (change mode) é responsável por mudar as
permissões dos arquivos/diretórios. Para tanto, quando for utilizado deve-se
fazer uma soma dos valores, respeitando o valor de cada direito (tabela 2.1),
de cada permissão para as modificações dos direitos de acesso dos usuários
donos, grupos donos e outros usuários.
chmod [opção] [permissões] [arquivo/diretório]
opção:
-R: muda as permissões de todos os arquivos/sub-diretórios dentro do
diretório
permissões:
são as permissões de leitura, escrita, execução onde os valores devem
ser somados para o usuário dono, grupo dono e outros usuários.
onde:
arquivo/diretório: arquivo ou diretório que será modificada as permissões
47
Comando 2.27 – Modificando as permissões do arquivo.txt
O comando 2.27 modifica as permissões de arquivo.txt para rwxr-wr-w.
Isto significa que o usuário dono pode ler, modificar o conteúdo do arquivo e
executar o arquivo (caso seja um programa). O grupo dono pode ler e modificar
o conteúdo. Os outros usuários podem ler e modificar o conteúdo do arquivo
também. Par poder modificar as permissões houve a necessidade de fazer a
soma dos valores (tabela 2.1). O valor 7 significa que o usuário dono tem a
permissão rwx. O valor 5 significa que o grupo dono tem a permissão rw-. E o
outro valor 5 significa que os outros usuários tem a permissão rw-.
Comando 2.28 – Modificando as permissões do arquivo.txt
O comando 2.28 modifica as permissões de arquivo.txt para rwxr-----.
Isto significa que o usuário dono pode ler, modificar o conteúdo do arquivo e
executar o arquivo (caso seja um programa). O grupo dono pode somente ler o
conteúdo. Os outros usuários não tem permissão algumo sobre o arquivo. Par
poder modificar as permissões houve a necessidade de fazer a soma dos
valores (tabela 2.1). O valor 7 significa que o usuário dono tem a permissão
rwx. O valor 4 significa que o grupo dono tem a permissão r - -. E o valor 0
significa que os outros usuários não tem permissão - - - .
Comando 2.29 – Criando o diretório redes
O comando 2.29 cria o diretório chamado redes e mostra em seguida as
permissões deste diretório. Pode ser observado que o usuário dono é o root
48
root@debian:/home/usuario# chmod 755 /home/usuario/arquivo.txt
root@debian:/home/usuario# ls -l
total 4
-rwxr-xr-x 1 usuario usuario 292292 Set 28 11:03 arquivo.txt
drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop
root@debian:/home/usuario#
root@debian:/home/usuario# chmod 740 /home/usuario/arquivo.txt
root@debian:/home/usuario# ls -l
total 4
-rwxr----- 1 usuario usuario 292292 Set 28 11:03 arquivo.txt
drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop
root@debian:/home/usuario#
root@debian:/home/usuario# mkdir /home/usuario/redes
root@debian:/home/usuario# ls -l
total 8
-rwxr----- 1 usuario usuario 292292 Set 28 11:03 arquivo.txt
drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop
drwxr-xr-x 2 root root 4096 Out 10 09:51 redes
root@debian:/home/usuario#
com as permissões de visualizar o conteúdo do diretório, modificar o diretório e
entrar no mesmo (rwx). O grupo dono root tem o direito de visualizar o
conteúdo do diretório e entrar no mesmo (r-x). Os outros usuários podem
visualizar o conteúdo do diretório e entrar no mesmo também (r-x).
Comando 2.30 – Modificando as permissões de redes
Já o comando 2.30 modifica as permissões do diretório redes onde o
usuário dono pode visualizar e modificar o conteúdo, entrar no diretório (rwx). O
grupo dono tem as mesmas permissões do usuário dono (rwx). Já os outros
usuários podem somente visualizar o conteúdo do diretório e entrar no mesmo
(r-x).
2.5.2 Comando chown
Comando responsável por modificar o dono do arquivo/diretório.
chown [opção] [usuário] [arquivo/diretório]
onde:
arquivo/diretório: arquivo ou diretório que será modificado seu dono
usuário:
usuário dono do arquivo ou diretório
opção:
-R: modifica o usuário dono de todos os arquivos/sub-diretórios dentro
do diretório
Comando 2.31 – Mudando o usuário dono do diretório redes
49
root@debian:/home/usuario# chmod 775 -R /home/usuario/redes/
root@debian:/home/usuario# ls -l
total 8
-rwxr----- 1 usuario usuario 292292 Set 28 11:03 arquivo.txt
drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop
drwxrwxr-x 2 root root 4096 Out 10 09:51 redes
root@debian:/home/usuario#
root@debian:/home/usuario# chown gustavo -R /home/usuario/redes/
root@debian:/home/usuario# ls -l
total 8
-rwxr----- 1 usuario usuario 292292 Set 28 11:03 arquivo.txt
drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop
drwxrwxr-x 2 gustavo root 4096 Out 10 09:51 redes
root@debian:/home/usuario#
2.5.3 Comando chgrp
Comando responsável por modificar o grupo do arquivo/diretório.
chgrp [opção] [grupo] [arquivo/diretório]
onde:
arquivo/diretório: arquivo ou diretório que será modificado seu dono
grupo:
grupo dono do arquivo ou diretório
opção:
-R: modifica o grupo dono de todos os arquivos/sub-diretórios dentro do
diretório
Comando 2.32 – Mudando o grupo dono do diretório redes
2.6 Instalação de Programas
Para fazer instalações de programas no Linux pode ser feita através do
código fonte deste programa que consta basicamente em três passos:
– Passo 1: executar um script (arquivo ./configure) que é responsável
por verificar se as bibliotecas necessárias para o programa funcionar
estão presentes no sistema operacional, verificar a arquitetura do
computador (processador, memória), local onde será instalado o
programa.
– Passo 2: após esta configuração, o programa deve ser compilado
utilizando o comando make.
– Passo 3: agora deve instalar o programa utilizando o comando make
install.
A grande vantagem em instalar um programa através da compilação é
que o mesmo fica todo customizado para a arquitetura do seu computador e
sistema operacional. Uma desvantagem é que se durante a configuração for
detectado que não existe uma determinada biblioteca, será necessário fazer o
50
root@debian:/home/usuario# chgrp redes -R /home/usuario/redes/
root@debian:/home/usuario# ls -l
total 8
-rwxr----- 1 usuario usuario 292292 Set 28 11:03 arquivo.txt
drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop
drwxrwxr-x 2 gustavo redes 4096 Out 10 09:51 redes
root@debian:/home/usuario#
dwonload desta biblioteca e fazer sua compilação também. Isto pode tomar
muito tempo.
Uma solução viável é utilizar gerenciadores de pacotes (interface que
gerenciam os programas instalados no Linux). No caso do Debian, pode-se
utilizar a interface de gerenciamento de pacotes chamado aptitude. Esta
inteface pode fazer o download do programa pela internet ou através de um
dvd, verificar as dependências de bibliotecas (caso a biblioteca não esteja
presente no Linux será instalada automaticamente) e em seguida instalar o
programa.
Para fazer o download de um programa através da internet ou de um
dvd, o aptitude acessa um arquivo chamado sources.list que se encontra
dentro do diretório /etc/apt. Este arquivo possui o caminho onde são
encontrados os programas a serem instalados.
Comando 2.33 – Listagem do /etc/apt/sources.list endereços para download de programas
via internet.
51
# Line commented out by installer because it failed to verify:
#deb http://security.debian.org/ squeeze/updates main contrib
# Line commented out by installer because it failed to verify:
deb-src http://security.debian.org/ squeeze/updates main contrib
# Line commented out by installer because it failed to verify:
#deb ://volatile.debian.org squeeze-updates main contrib
# Line commented out by installer because it failed to verify:
#deb-src ://volatile.debian.org squeeze-updates main contrbr
deb http://ftp.br.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.br.debian.org/debian/ squeeze main contrib non-free
deb http://ftp.br.debian.org/debian-security/ squeeze/updates main contrib
non-free
deb-src http://ftp.br.debian.org/debian-security/ squeeze/updates main
contrib non-free
#deb http://security.debian.org/ squeeze/updates main contrib non-free
#deb-src http://security.debian.org/ squeeze/updates main contrib non-free
deb http://ftp.br.debian.org/debian/ squeeze-updates main
deb-src http://ftp.br.debian.org/debian/ squeeze-updates main
deb http://www.debian-multimedia.org squeeze main non-free
Comando 2.34 – Listagem do /etc/apt/sources.list endereços para download de programas via
DVD.
Para poder instalar um programa primeiro deve ser pesquisado o
programa (aptitude search nome_do_programa) para poder identificar o
nome correto para fazer a instalação. Após idendificar o nome correto, basta
fazer a instalação do mesmo (aptitude install nome_do_programa). O
comando 2.35 mostra um exemplo da instalação do programa chamado
Wireshark. Não se esqueça de estar como administrador do Linux para fazer a
instalação dos programas.
Caso seja necessário fazer a desinstalação de algum programa utilize o
comando aptitude remove nome_do_programa. O aptitude possui vários
parâmetros além destes mostrados para o gerencimento de programas. Para
saber mais, utilize o comando man aptitude (este comando abre uma página
somente texto mostrando todos os parâmetros do comando).
52
# deb cdrom:[Debian GNU/Linux 6.0.5 _Squeeze_ - Official amd64 CD
Binary-1 20120512-14:34]/ squeeze main
deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official amd64 DVD Binary-
1 20110205-18:15]/ squeeze contrib main
deb cdrom:[Debian GNU/Linux 6.0.5 _Squeeze_ - Official amd64 CD Binary-1
20120512-14:34]/ squeeze main
#deb http://security.debian.org/ squeeze/updates main
#deb-src http://security.debian.org/ squeeze/updates main
# squeeze-updates, previously known as 'volatile'
# A network mirror was not selected during install. The following entries
# are provided as examples, but you should amend them as appropriate
# for your mirror of choice.
#
# deb http://ftp.debian.org/debian/ squeeze-updates main
# deb-src http://ftp.debian.org/debian/ squeeze-updates main
Comando 2.35 – Pesquisa e instalação do programa Wireshark
53
root@debian:/home/usuario# aptitude search wireshark
p wireshark - network traffic analyzer - GTK+ version
p wireshark-common - network traffic analyzer - common files
root@debian:/home/usuario# aptitude install wireshark
Os NOVOS pacotes a seguir serão instalados:
libc-ares2{a} libcap2-bin{a} libpcap0.8{a} libportaudio2{a} libsmi2ldbl{a} wireshark
wireshark-common{a}
0 pacotes atualizados, 7 novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso obter 0 B/15,2 MB de arquivos. Depois do desempacotamento, 62,1 MB
serão usados.
Você deseja continuar? [Y/n/?]
Pré-configurando pacotes ...
Selecionando pacote previamente não selecionado libcap2-bin.
(Lendo banco de dados ... 57187 ficheiros e directórios actualmente instalados.)
Desempacotando libcap2-bin (de .../libcap2-bin_2.19-3_amd64.deb) ...
Selecionando pacote previamente não selecionado libpcap0.8.
Desempacotando libpcap0.8 (de .../libpcap0.8_1.1.1-2_amd64.deb) ...
Selecionando pacote previamente não selecionado libportaudio2.
Desempacotando libportaudio2 (de .../libportaudio2_19+svn20071022-
3.2_amd64.deb) ...
Selecionando pacote previamente não selecionado libsmi2ldbl.
Desempacotando libsmi2ldbl (de .../libsmi2ldbl_0.4.8+dfsg2-3_amd64.deb) ...
Selecionando pacote previamente não selecionado libc-ares2.
Desempacotando libc-ares2 (de .../libc-ares2_1.7.3-1_amd64.deb) ...
Selecionando pacote previamente não selecionado wireshark-common.
Desempacotando wireshark-common (de .../wireshark-common_1.2.11-
6_amd64.deb) ...
Selecionando pacote previamente não selecionado wireshark.
Desempacotando wireshark (de .../wireshark_1.2.11-6_amd64.deb) ...
Processando gatilhos para man-db ...
Processando gatilhos para gnome-menus ...
Processando gatilhos para desktop-file-utils ...
Processando gatilhos para menu ...
Configurando libcap2-bin (1:2.19-3) ...
Configurando libpcap0.8 (1.1.1-2) ...
Configurando libportaudio2 (19+svn20071022-3.2) ...
Configurando libsmi2ldbl (0.4.8+dfsg2-3) ...
Configurando libc-ares2 (1.7.3-1) ...
Configurando wireshark-common (1.2.11-6) ...
Configurando wireshark (1.2.11-6) ...
Processando gatilhos para menu ...
root@debian:/home/usuario#
2.7 Exercícios
1) O que é Shell?
2) Explique as formas de utilização do shell.
3) Visite os seguintes diretórios, utilizando os comandos cd e ls.
(a) /home
(b) O pai do /home (use o “..”)
(c) /
(d) /bin
(e) /usr
(f) /proc
(g) /usr/bin
(h) Seu diretório pessoal
4) Liste o conteúdo de cada um dos diretórios acima, de dois modos:
(a) Sem sair do seu diretório pessoal
(b) Movendo-se primeiramente para o diretório a ser listado
5) Crie em seu diretório pessoal um diretório com nome igual ao da máquina
que você está usando.
Ex: patolino, catatau, etc. Mova-se para esse diretório.
6) Crie um diretório para cada um dos dias da semana.
7) No diretório destinado ao sábado, crie três subdiretórios chamados manha,
tarde e noite.
8) Crie um diretório chamado “.todo dia” (todo dia precedido por um ponto) no
seu diretório pessoal.
9) Liste o conteúdo de todos os diretórios criados nos exerícios anteriores.
10) Remova o diretório domingo criado no exercício .
11) Crie um diretório com o seu nome. Em seguida, altere as permissões desse
diretório de forma que somente você (dono do diretório) tenha permissão de
leitura, escrita e execução. Os outros usuários não devem ter nenhuma
permissão (rwx------).
54
12) Copie para dentro do diretório criado no exercício 9 os arquivos termcap,
profile, motd, issue e HOSTNAME que estão no diretório /etc.
(a) Qual o tipo desses arquivos ?
(b) Qual o comando que se pode utilizar para mostrar o conteúdo desses
arquivos?
(c) Veja o conteúdo destes arquivos, usando more, head e tail caso ele não
caiba totalmente na tela.
(d) Mova o arquivo hostname para o diretório “pai” do diretório atual (não
utilize cp, nem rm).
(e) Altere o nome desses arquivos para, respectivamente, terminal, perfil,
mensagem do dia, edicao e nome da máquina.
13) Instale o editor de textos chamado "vim".
55
Aula 3. Serviço DNS
Objetivos
– Conhecer a hierarquia de funcionamento do DNS
– Conhecer os tipos de consultas DNS
– Instalar/Configurar do Bind
– Criar domínios
3.1 Introdução
O Domain Name System (DNS) é um serviço de resolução de nomes de
domínio, que tem a função de traduzir nomes em endereços IP e vice-versa.
Ex.: o endereço de nome www.riopomba.ifsudestemg.edu.br tem o endereço IP
200.131.51.30. Os nomes de domínio são hierárquicos, com a parte mais
significativa do nome à direita e o segmento mais a esquerda representa o
nome de um computador individual (www.riopomba no exemplo do domínio
www.riopomba.ifsudestemg.edu.br).
Digitando o endereço IP do site do Campus Rio Pomba, também
conseguiríamos acessar a página. Mas por motivos práticos, é muito mais fácil
decorar um nome do que uma sequencia de númeors IP. Por isso a
importância do serviço de tradução de nomes de domínio realizado pelo DNS.
Como exemplo, abra o prompt de comando do Linux e utilize o comando
chamado host12
.
Comando 3.1 – Consultando o domínio www.riopomba.ifsudestemg.edu.br
Neste exemplo o comando host fez uma consulta a um servidor DNS
para descobrir o endereço IP do domínio www.riopomba.ifsudestemg.edu.br
que neste caso possui o valor 200.131.51.30. O comando host não fez a
resolução do nome de domínio para o endereço IP, quem fez esta resolução foi
o serviço DNS. Ele simplesmente repassou a consulta para um servidor DNS.
Mas qual servidor DNS o seu computador consultou? Como é feita a resolução
de nomes para endereços IPs?
Para o seu computador saber qual servidor que está utilizando um
serviço de resolução de nomes (DNS), para fazer uma consulta, é necessário
ter o endereço IP deste servidor cadastrado em seu sistema opercional como
mostrado no comando 3.2.
12 Host : comando utilizado para fazer pesquisa DNS.
56
usuario@debian:~$ host www.riopomba.ifsudestemg.edu.br
www.riopomba.ifsudestemg.edu.br has address 200.131.51.30
usuario@debian:~$
Comando 3.2 – Arquivo /etc/resolv.conf contém o endereço IP
de um servidor DNS para fazer as consultas a ele
O serviço DNS utiliza a porta 53, utiliza normalmente o protocolo UDP da
camada de transporte e definidos pelas RFC's13
1034 e 1035. Possui uma base
de dados distribuida que é implementada em uma hierarquia de muitos
servidores de nomes. Para fazer a resolução de um nome de domínio a
consulta é feita da hierarquia mais alta (DNS Raiz), passando pelos servidores
DNS TLD (Top Level Domain) até chegar no servidor DNS de autoridade
(servidor que possui o endereço IP do endereço de nome pesquisado). Isto é
mostrado na figura 3.1 (setas vermelhas) onde o cliente deseja saber o ip do
endereço de nome www.google.com (IP 74.125.234.20).
Figura 3.1 – Hierarquia serviço DNS. Resolução de nome www.google.com
Servidores de nomes Raiz (Root Level): existem 13 servidores de
nome raiz (denominados de A a M). Estes servidores identificam todos os
servidores TLDs existentes.
13RFC: Request for comments
57
usuario@debian:~$ cat /etc/resolv.conf
nameserver 10.0.2.2
usuario@debian:~$
Figura 3.2 – Lista dos servidores DNS Raiz. Fonte: www.root-servers.org
A figura 3.2 mostra os servidores DNS Raiz no mundo inteiro. Para
consultar onde ficam os servidores DNS Raiz no Brasil acesse o site www.root-
servers.org. Na página principal existe uma tabela com todos os servidores e
seus locais.
Servidores Top-Level Domain (TLD): responsáveis pelos domínios de
alto nível como com, org, net, edu, gov e por todos os domínios de alto nível de
países como br, jp, fr dentre outros.
Servidores de nomes com autoridade: são servidores que possuem o
registro IP de um endereço de nome como mostrado na figura 3.1 onde o
servidor DNS do google.com possui este valor IP para o endereço
www.google.com.
3.2 Tipos de consultas DNS
Na resolução de nomes de domínios existem dois tipos de consultas
DNS que são:
• Consulta Recursiva: transfere a tarefa de resolução do nome para o
servidor de nomes consultado (figura 3.3);
• Consulta Iterativa: servidor contatado responde com o nome de
outro servidor para contato (figura 3.4).
58
Figura 3.3 – Consulta Recursiva
A consulta recursiva ocorre da seguinte forma:
1. O computador chamado gustavo (sob o domínio
redesead.com.br) deseja acessar o computador
www.riopomba.ifsudestemg.edu.br e para isto deve saber o
endereço ip do mesmo. Sendo assim, o computador faz uma
solicitação ao seu servidor DNS local dns.redesead.com.br;
2. Como o servidor local não sabe o ip do domínio consultado, este
faz uma requisição ao servidor de nomes raiz;
3. O servidor raiz também não sabe o endereço ip mas conhece o
servidor TLD que possa ser consultado. Sendo assim, o servidor
raiz faz uma requisição a este servidor TLD;
4. O servidor TLD recebe esta requisição vinda do servidor raiz. O
TLD possui o endereço do servidor dns de autoridade que possui
o endereço ip do domínio que está sendo consultado. Sendo
assim, o TLD faz o pedido ao servidor de autoridade
dns.ifsudestemg.edu.br;
59
5. O servidor de autoridade possui em suas configurações o
endereço ip do domínio que está sendo consultado. Desta forma,
retorna o resultado, com este endereço ip, ao servidor TLD que
havia feita a requisição;
6. O servidor TLD de posse deste valor retorna o resultado para o
servidor raiz que havia feita a requisição;
7. O servidor raiz repassa o resultado para o servidor dns local que
havia feita a requisição;
8. De posse do endereço ip do domínio consultado, o servidor dns
local entrega o resultado para o computador gustavo.
Figura 3.4 – Consulta Recursiva
A consulta iterativa ocorre da seguinte forma:
1. O computador chamado gustavo (sob o domínio
redesead.com.br) deseja acessar o computador
www.riopomba.ifsudestemg.edu.br e para isto deve saber o
endereço ip do mesmo. Sendo assim, o computador faz uma
solicitação ao seu servidor DNS local dns.redesead.com.br;
60
2. Como o servidor local não sabe o ip do domínio consultado, este
repassa o endereço ip do servidor de nomes raiz para o
computador gustavo.
3. O computador gustavo faz uma requisição ao servidor de nomes
raiz;
4. O servidor raiz também não sabe o endereço ip do domínio
consultado mas entrega o endereço ip do servidor TLD, para o
computador gustavo, que possa ser consultado.
5. Sendo assim, o computador gustavo faz uma requisição a este
servidor TLD;
6. O servidor TLD recebe esta requisição vinda do computador
gustavo. O TLD possui o endereço do servidor dns de autoridade
que possui o endereço ip do domínio que está sendo consultado.
Sendo assim, o TLD entrega o ip deste servidor de autoridade
para o computador gustavo;
7. O computador gustavo faz a requisição da resolução de nomes
para este servidor de autoridade;
8. O servidor de autoridade possui em suas configurações o
endereço ip do domínio que está sendo consultado. Desta forma,
retorna o resultado para o computador gustavo.
O exemplo mostrado na figura 3.5 usa ambas as consultas recursiva e
interativa. A consulta que é feita do computador gustavo.redesead.com.br ao
seu servidor dns local dns.redesead.com.br tem o comportamento recursivo,
devido que o computador gustavo pede ao dns local obtenha o mapeamento
em seu nome. Mas as que se seguem são interativas, pois todas as respostas
são retornadas ao servidor dns local dns.redesead.com.br. Na prática, as
consultas normalmente seguem o padrão da figura 3.5.
61
Figura 3.5 – Consulta Recursiva e Iterativa
3.3 Instalando e configurando um servidor DNS
Em sistemas Linux o programa mais utilizado como serviço de resolução
de nomes é o BIND14
(Berkeley Internet Name Domain). Este nome surgiu
devido o programa ter sido desenvolvido na década de 80 na Universidade da
Califórnia em Berkeley.
Para instalar este programa siga a listagem do comando 3.3.
14BIND http://www.isc.org/software/bind
62
Para fazer a instalação do BIND, é necessário ativar a imagem ISO dentro da
máquina virtual. Para isto, siga o Passo 8 do item 1.3.2 Configurando uma máquina
virtual.
Comando 3.3 – Instalando o BIND9 ustilizando o comando aptitude
Depois de feita a instalação (aptitude install bind9) o programa DNS será
inicializado automaticamente (Starting domain name service...: bind9) com suas
configurações básicas.
Os arquivos de configurações do BIND9 encontram-se dentro do
diretório /etc/bind/. Um destes arquivos de configurações é o /etc/bind/db.root
que possui os endereços dos servidores de nomes raiz. Pois é desta forma que
quando o servidor dns não souber a resolução de um determinado domínio, ele
possa fazer uma requisição a um servidor raiz. O comando 3.4 mostra o
conteúdo do arquivo /etc/bind/db.root com os endereços dos servidores de
nomes raiz denominados de A (A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4) e B
(B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201).
63
root@debian:/home/usuario# aptitude install bind9
Os NOVOS pacotes a seguir serão instalados:
bind9 bind9utils{a}
0 pacotes atualizados, 2 novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso obter 0 B/473 kB de arquivos. Depois do desempacotamento, 1286 kB serão
usados.
Você deseja continuar? [Y/n/?]
Pré-configurando pacotes ...
Selecionando pacote previamente não selecionado bind9utils.
(Lendo banco de dados ... 59020 ficheiros e directórios actualmente instalados.)
Desempacotando bind9utils (de .../bind9utils_9.7.2.dfsg.P3-1.1_amd64.deb) ...
Selecionando pacote previamente não selecionado bind9.
Desempacotando bind9 (de .../bind9_9.7.2.dfsg.P3-1.1_amd64.deb) ...
Processando gatilhos para man-db ...
Configurando bind9utils (1:9.7.2.dfsg.P3-1.1) ...
Configurando bind9 (1:9.7.2.dfsg.P3-1.1) ...
#
Starting domain name service...: bind9.
root@debian:/home/usuario#
Comando 3.4 – Conteúdo do arquivo /etc/bind/db.root
O comando 3.5 mostra o conteúdo do arquivo
/etc/bind/named.conf.default-zones que possui as zonas (domínios) que o
servidor DNS terá autoridade sobre ele. Para poder criar a zona, utilize o editor
de textos vim que foi instalado no exercício 13 da aula 2. Para tanto siga as
instruções abaixo (faça igual às instruções, respeite os espaços em brancos, as
letras maiúsculas e minúsculas. Estas instruções devem ser feitas em modo
super usuário - root):
1. Edite o arquivo da seguinte forma:
◦ vim /etc/bind/named.conf.default-zones
2. Após digitar o comando acima (vim) e pressionar a tecla ENTER
será mostrada uma tela, em modo texto com o conteúdo do
arquivo named.conf.default-zones. Esta tela inicial está no modo
comando (onde pode ser salvo o arquivo, pesquisar um conteúdo
dentro do arquivo, sair do editor de textos). Para poder inserir
alguma informação no arquivo é necessário pressionar a tecla
INSERT (na parte inferior da tela será mostrada uma mensagem
semelhante a – INSERÇÃO –);
3. Feito isso, vá para o final do arquivo utilizando a seta do teclado
direcionada para baixo e insira as informações que estão
mostradas no final do comando 3.5 denominada de zone
“redesead.com.br”;
4. Após inserir estas informações devemos salvá-las, para tanto
pressione a tecla ESC para voltar ao modo comando do editor
64
root@debian:/home/usuario# cat /etc/bind/db.root
; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . <file>"
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC
; under anonymous FTP as
; file /domain/named.cache
; on server FTP.INTERNIC.NET
; -OR- RS.INTERNIC.NET
;
; last update: Jun 17, 2010
; related version of root zone: 2010061700
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:BA3E::2:30
;
; FORMERLY NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
VIM e pressione a sequencia das teclas SHIFT+: depois as letras
wq para poder salvar (w) e sair (q) do editor VIM.
Comando 3.5 – Inserindo a zona redesead.com.br
A zona que acabou de ser inserida (redesead.com.br) possui uma
configuração do tipo master (isto significa que todas as alterações de
informações de nomes de computadores sob este domínio e valores ips devem
ser feitos neste servidor dns). A diretiva file “/etc/bind/db.redesead” significa
que deverá ser criado um arquivo chamado db.redesead dentro do diretório
/etc/bind onde estarão todas as informações deste domínio como os ips dos
65
root@debian:/home/usuario# vim /etc/bind/named.conf.default-zones
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
zone "redesead.com.br" {
type master;
file "/etc/bind/db.redesead";
};
Caso durante a edição do arquivo dê algum problema e para não perder a
configuração original o arquivo é recomendado que saia deste sem salvar. Para
tanto, pressione a tecla ESC e depois utilize a sequencia de teclas SHIFT+: e depois
os valores q! para sair (q) sem salvar (!).
computadores sob o domínio redesead.com.br, o e-mail do administrador do
servidor dns.
Para fazer a configuração do arquivo db.redesead copie um arquivo de
exemplo que é o arquivo /etc/bind/db.empty. Para tanto siga o comando 3.6.
Comando 3.6 – Copiando/criando o arquivo db.redesead
Logo após criar o arquivo tendo como base o db.empty, edite o
arquivo /etc/bind/db.redesead para modificar as informações contidas nele que
fique igual ao comando 3.7. Os procedimentos de inserção de informações no
arquivo utilizando o comando vim são iguais ao que foi mostrado na edição do
arquivo /etc/bind/named.conf.default-zones.
Comando 3.7 – Editando o arquivo db.redesead
Na linha que possui o primeiro símbolo @ siginifica “este servidor”, ou
seja, o servidor responsável pelo registro. O IN indica que é um internet record
e o SOA (Start of Authority) define o início da autoridade sobre o domínio em
questão. Depois do SOA tem-se o domínio redesead.com.br. seguido do e-
mail root.redesead.com.br. no formato “user.server”, para o qual as
mensagens administrativas deverão ser enviadas.
Nas linhas abaixo são definidos os parâmetros como:
• 20121231001; Serial: número de série ou versão desse arquivo.
Esse número é útil para sincronizações entre servidores. Por
66
root@debian:/home/usuario# cp /etc/bind/db.empty /etc/bind/db.redesead
root@debian:/home/usuario#
$TTL 86400
@ IN SOA redesead.com.br. root.redesead.com.br. (
20121231001 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS localhost.
www IN A 10.0.2.15
ftp IN A 10.0.2.15
gustavo IN A 10.0.2.15
smtp IN A 10.0.2.15
pop IN A 10.0.2.15
;Mail server
IN MX 10 pop.redesead.com.br.
ww2 IN CNAME www
O endereço IP dos computadores do domínio redesead.com.br foi usado o valor
10.0.2.15 que é da máquina virtual que está sendo utilizada para construir a apostila.
Coloque o valor igual ao endereço IP da sua máquina virtual, para tanto utilize o
comando ifconfig para verificar o seu endereço IP. Ao digitar o comando e
pressionar a tecla ENTER procure no resultado a sua interface de redes que deve
ser “eth0” com o valor do endereço ip.
exemplo, um servidor secundário sabe que está desatualizado e
precisa sincronizar-se com seu master, quando o seu arquivo
possui um número de série ou versão menor que o do seu
master. Sendo assim a cada alteração nas configurações do
domínio, este valor deve ser incrementado;
• 604800; Refresh: indica o intervalo de tempo, em segundos, em
que o servidor secundário deverá executar a verificação do
número de série com o master e realizar a sincronização se
necessária;
• 86400; Retry: caso o servidor secundário seja impedido de
contactar, por qualquer motivo, o servidor master quando o
intervalo definido em “Refresh” for atingido, esse parâmetro define
o tempo em que o servidor deverá fazer uma nova tentativa de
contactar o servidor master. O intervalo é definido em segundos;
• 2419200; Expire: o tempo máximo, em segundos, que o servidor
secundário pode ficar sem contactar o servidor primário. Caso
esse tempo seja atingido, o conteúdo do arquivo deve ser
considerado expirado e desprezado, dessa forma, pelo servidor
secundário;
• 86400; Negative Cache TTL: define o valor de TTL para
respostas negativas.
A linha “www IN A 10.0.2.15” significa que o computador www tem o
ip 10.0.2.15. Como o computador www está sob o domínio redesead.com.br o
seu endereço completo é www.redesead.com.br . O mesmo são para as
outras linhas como por exemplo “ftp IN A 10.0.2.15”, significando que o
endereço ftp.redesead.com.br possui o ip 10.0.2.15.
O valor “IN MX 10 pop.redesead.com.br.” informa que o servidor de
correios eletrônicos (MX – Mail Exchange Record) tem uma preferência de
resolução de nomes em relação a outros servidores de e-mails do mesmo
domínio (caso exista mais de um servidor de e-mails). Quando menor o valor
maior a preferência. Estes valores vão de 0 a 32.767.
Além de inserir um registro com o valor do endereço IP, podemos criar
apelidos para um determinado computador. A linha “ww2 IN CNAME www”
significa que quando for resolvido o domínio ww2.redesead.com.br o IP será o
mesmo do domínio www.redesead.com.br.
Dando continuidade à configuração do serviço DNS, será preciso agora
reinicializar o bind para que este aceite as novas configurações. Para tanto
digite o seguinte comando /etc/init.d/bind9 restart . Após a reinicialização do
bind, verifique se o mesmo está sendo executado corretamente, desta forma
utilize o seguinte comando ps -aux | grep named. Este comando mostra uma
lista de processos (programas que estão em execução) mas filtrando apenas o
processo chamado named (que é o nome do processo do bind). Caso apareça
uma mensagem semelhante a esta “bind 1148 0.0 2.8 117348 10952 ? Ssl
17:40 0:00 /usr/sbin/named -u bind” significa que o processo do bind está
em funcionando corretamente.
67
Para fazer o seu computador pesquisar o próprio servidor DNS que
acabou de ser configurado, será necessário fazer uma modificação em qual
servidor DNS deva ser consultado. Sendo assim, o arquivo a ser modificado é
o /etc/resolv.conf. Edite o arquivo utilizando o comando vim para fazer as
modificações. Troque o valor do endereço ip do nameserver para o ip da sua
máquina virtual. Como mostrado no comando 3.8.
Comando 3.8 – Editando o arquivo resolv.conf
Salve as modificações e faça o teste usando o comando host no domínio
que foi criado para verificar se está sendo feita a resolução de nomes
(comando 3.9).
Comando 3.9 – Fazendo a resolução do domínio www.redesead.com.br
3.4 Exercícios
1) O que foi visto na Aula 3 foi como configurar um domínio (zona) em um
serviço DNS. Esta resolução é feita de forma direta, ou seja, dado o domínio o
DNS faz a consulta trazendo como resultado o endereço IP. Existe também a
consulta reversa que trata-se em informar o endereço IP e o serviço DNS fazer
a consulta trazendo como resultado o domínio associado a este IP. O serviço
de DNS reverso é importante para verificar a autenticidade se o IP atual
corresponde ao endereço IP informado pelo servidor DNS. Um exemplo disso
são servidores de e-mails como o provedor TERRA. Quando é enviado um e-
mail para o domínio terra.com.br é feita uma consulta reversa do IP do e-mail
do destinatário. Se tudo estiver correto o e-mail será entregue ao destinatário,
caso contrário será negada a entrega. Isto tudo é para evitar spam. Um texto
interessante sobre DNS reverso encontra-se em
http://mail.terra.com.br/postmaster/dnsrev.htm. Sendo assim, configure o DNS
reverso do domínio redesead.com.br. Para tanto pesquise na Internet como
fazer esta configuração, existem vários tutoriais explicando sobre o assunto. É
muito semelhante com a configuração da resolução direta que fizemos durante
as aulas.
68
root@debian:/home/usuario# vim /etc/resolv.conf
nameserver 10.0.0.15
root@debian:/home/usuario# host www.redesead.com.br
www.redesead.com.br has address 10.0.2.15
root@debian:/home/usuario#
Aula 4. Serviço WEB
Objetivos
– Conhecer os conceitos de funcionamento do serviço WEB
– Instalar/Configurar do Apache
– Aprender a hospedar um site
– Analisar o histórico de acesso ao servidor WEB
4.1 Introdução
Até a década de 1990, o acesso a Internet era feito mais por
pesquisadores, acadêmicos e estudantes universitários para transferir arquivos
entre computadores, enviar e receber mensagens. O uso da Internet era
conhecido mais nas comunidpades acadêmicas. Desta forma no início dos
anos 90 surgiu uma aplicação conhecida como World Wide Web (www)
mudando a forma de como as pessoas interagem dentro e fora de seus
ambientes de trabalho.
O serviço Web é responsável por disponibilizar as páginas HTML15
(sites) que acessamos quando estamos conectados a Internet. A comunicação
acontece utilizando o protocolo HTTP (HyperText Transfer Protocol), usando a
porta 80. Este protocolo é definido pela RFC 1945 e 2616. O acesso se dá
através do uso de um navegador como o Mozilla Firefox, Microsoft Internet
Explorer, Google Chrome (lado cliente) e um servidor Web (programa servidor).
Este lado servidor possui vários programas servidores responsáveis por
disponibilizarem páginas HTML. Os programas mais conhecidos são o
Microsoft IIS16
e Apache HTTP Server17
.
A empresa BuiltWith, sediada na Austrália, faz medições do uso de
determinados programas. Na figura 4.1 é mostrada a popularidade do
programa Apache HTTP Server. Esta estatística foi feita em 21 de dezembro
de 2012 onde o Apache se destaca em primeiro lugar com 52.11%, contra
18,73% do IIS e 9,25% do IIS7. O programa Apache HTTP é um dos principais
responsáveis pela difusão de sistemas Linux, também podendo ser usados em
plataformas Microsoft Windows.
15 HTML: HyperText Markup Language
16 Microsoft IIS: http://technet.microsoft.com/pt-br/magazine/2008.07.iis7.aspx
17 Apache HTTP Server: http://httpd.apache.org/
69
Figura 4.1 – Estatísticas de uso de servidores web. Fonte: trends.builtwith.com/Web-Server
4.2 Instalando e Configurando o Servidor Web
O Apache HTTP Server é um dos projetos mantidos pela The Apache
Software Foundation18
. A fundação provê um suporte organizacional, legal e
financeiro para um grande número de projetos de softwares de código fonte
aberto.
O servidor web Apache pode responder por vários sites através de um
recurso conhecido como servidor virtual (virtual server). Este servidor virtual é
composto por três informações que são: endereço IP, porta de conexão http e
um cabeçalho (header). Como vários sites de domínios diferentes podem ser
disponibilizados em um mesmo servidor, o valor IP e a porta de conexão http
acabam sendo o mesmo, o que difere é o header. Sendo assim podemos ter
www.redesead.com.br, www.teste.com.br, www.outrodominio.com.br, todos os
três sites no mesmo servidor web (IP e porta padrão iguais) mas com headers
diferentes (domínios diferentes).
Para fazer a instalação do Apache siga as instruções do comando 4.1.
Comando 4.1 – Instalação do servidor web Apache
No comando 4.1 serão instalados o servidor Apache que está na versão
2.x.x, o módulo PHP19
para o Apache (módulo responsável pela interpretação
18The Apache Software Foundation: http://www.apache.org/foundation/
19 PHP (PHP: Hypertext Preprocessor): http://php.net
70
Para fazer a instalação do Apache, é necessário ativar a imagem ISO dentro da
máquina virtual. Para isto, siga o Passo 8 do item 1.3.2 Configurando uma máquina
virtual.
root@debian:/home/usuario# aptitude install apache2 libapache2-mod-php5
mysql-server-5.1 php5-mysql
de sites dinâmicos desenvolvidos em PHP), o servidor de bando de dados
MySQL20
e o módulo PHP responsável por fazer comunicação com o MySQL.
Depois de ter instalado Apache, reinicialize o serviço web para que o
Apache aceite as configurações do PHP (comando 4.2).
Comando 4.2 – Reinicializando o Apache
Após a instalação, vamos fazer o teste se o servidor está funcionando e
interpretando o PHP. O primeiro teste é referente se o Apache está funcionado,
para isto abra o navegador de internet (localizado em
Aplicativos/Internet/Navegador Web Iceweasel) e digite no local de endereços
do navegador localhost21
. Assim irá aparecer uma mensagem semelhante à
figura 4.2.
Figura 4.2 – Mensagem do servidor Apache
Para verificar se o Apache “interpreta” páginas escritas em PHP siga as
instruções do comando 4.3 para criar um arquivo chamado teste.php e insira o
conteúdo como mostrado no comando 4.4.
Comando 4.3 – Criando/editando arquivo teste.php
20 MySQL: http://www.mysql.com
21 Localhost: significa o endereço do próprio computador
71
root@debian:/home/usuario# /etc/init.d/apache2 restart
root@debian:/home/usuario#
root@debian:/home/usuario# vim /var/www/teste.php
root@debian:/home/usuario#
Comando 4.4 – Criando/editando arquivo teste.php
As linhas “<?php” e “?>” significam que tudo que estiver entre elas são
comandos PHP para serem interpretados pelo módulo libapache2-mod-php5
que foi instalado com o Apache. A função phpinfo() é responsável por gerar
uma página HTML com as informações do servidor Apache e os módulos que
estão instalados e suportados nele. Os procedimentos de inserção de
informações no arquivo utilizando o comando vim são iguais ao que foi
mostrado na edição do arquivo /etc/bind/named.conf.default-zones. Depois de
salvar as informações, entre no navegador de internet e digite o seguinte
endereço localhost/teste.php. A figura 4.3 mostra o resultado do site.
Figura 4.3 – Resultado da página teste.php
4.3 Preparando o servidor web para hospedar um site
Como foi descrito no item 4.2, o servidor Apache consegue hospedar
(responder) por mais de um site de domínios diferentes. Desta forma iremos
aprender neste item como fazer este tipo de configuração. Iremos utilizar o
endereço www.redesead.com.br do domínio criado na aula 3.
Para começar a fazer a configuração do site www.redesead.com.br será
necessário copiar o arquivo de exemplo /etc/apache2/sites-available/default
renomeando para /etc/apache2/sites-available/redesead.conf como mostrado
no comando 4.5.
72
<?php
phpinfo();
?>
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes
502902285 servicos de-redes

Mais conteúdo relacionado

Mais procurados

Curso de Construção de Web Sites.
Curso de Construção de Web Sites. Curso de Construção de Web Sites.
Curso de Construção de Web Sites.
Luiz Avelar
 
TCC Tecnologia em Sistemas para Internet
TCC Tecnologia em Sistemas para InternetTCC Tecnologia em Sistemas para Internet
TCC Tecnologia em Sistemas para Internet
Claudeir Novais
 
Curso de Banco de Dados
Curso de Banco de DadosCurso de Banco de Dados
Curso de Banco de Dados
Luiz Avelar
 
Curso de Multimídia na Educação.
Curso de Multimídia na Educação.Curso de Multimídia na Educação.
Curso de Multimídia na Educação.
Luiz Avelar
 
Curso de Produção Fonografica
Curso de Produção FonograficaCurso de Produção Fonografica
Curso de Produção Fonografica
Luiz Avelar
 
Curso Básico de CAD: Projeto Auxiliado por Computador
Curso Básico de CAD: Projeto Auxiliado por ComputadorCurso Básico de CAD: Projeto Auxiliado por Computador
Curso Básico de CAD: Projeto Auxiliado por Computador
Luiz Avelar
 
Projeto airsoftware emca 2010 - centro paula souza - taubaté,sp
Projeto airsoftware   emca 2010 - centro paula souza - taubaté,spProjeto airsoftware   emca 2010 - centro paula souza - taubaté,sp
Projeto airsoftware emca 2010 - centro paula souza - taubaté,sp
Caique Guilherme Faria Dias
 
Multimida na educação
Multimida na educaçãoMultimida na educação
Multimida na educação
Marcelo Henderson Salles
 
Curso de Sistema Operacional Linux
Curso de Sistema Operacional Linux Curso de Sistema Operacional Linux
Curso de Sistema Operacional Linux
Luiz Avelar
 
Web Conferência
Web ConferênciaWeb Conferência
Web Conferência
Marcelo Ramos
 
Monografia Completa - Graduação em Sistemas de Informação
Monografia Completa - Graduação em Sistemas de InformaçãoMonografia Completa - Graduação em Sistemas de Informação
Monografia Completa - Graduação em Sistemas de Informação
Thiago Ghizzo de Campos
 
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
Fábio Costa
 
67286679 web-sites
67286679 web-sites67286679 web-sites
67286679 web-sites
Bruno Marques
 
Apostila criação de web sites
Apostila   criação de web sitesApostila   criação de web sites
Apostila criação de web sites
Liana Leuck
 
Apostila sistemas operacionais
Apostila sistemas operacionaisApostila sistemas operacionais
Apostila sistemas operacionais
fernandao777
 
Trabalho pronto de sistemas
Trabalho pronto de sistemasTrabalho pronto de sistemas
Trabalho pronto de sistemas
Gilson Pires
 
Aula1
Aula1Aula1
Aula1
dianama2
 

Mais procurados (17)

Curso de Construção de Web Sites.
Curso de Construção de Web Sites. Curso de Construção de Web Sites.
Curso de Construção de Web Sites.
 
TCC Tecnologia em Sistemas para Internet
TCC Tecnologia em Sistemas para InternetTCC Tecnologia em Sistemas para Internet
TCC Tecnologia em Sistemas para Internet
 
Curso de Banco de Dados
Curso de Banco de DadosCurso de Banco de Dados
Curso de Banco de Dados
 
Curso de Multimídia na Educação.
Curso de Multimídia na Educação.Curso de Multimídia na Educação.
Curso de Multimídia na Educação.
 
Curso de Produção Fonografica
Curso de Produção FonograficaCurso de Produção Fonografica
Curso de Produção Fonografica
 
Curso Básico de CAD: Projeto Auxiliado por Computador
Curso Básico de CAD: Projeto Auxiliado por ComputadorCurso Básico de CAD: Projeto Auxiliado por Computador
Curso Básico de CAD: Projeto Auxiliado por Computador
 
Projeto airsoftware emca 2010 - centro paula souza - taubaté,sp
Projeto airsoftware   emca 2010 - centro paula souza - taubaté,spProjeto airsoftware   emca 2010 - centro paula souza - taubaté,sp
Projeto airsoftware emca 2010 - centro paula souza - taubaté,sp
 
Multimida na educação
Multimida na educaçãoMultimida na educação
Multimida na educação
 
Curso de Sistema Operacional Linux
Curso de Sistema Operacional Linux Curso de Sistema Operacional Linux
Curso de Sistema Operacional Linux
 
Web Conferência
Web ConferênciaWeb Conferência
Web Conferência
 
Monografia Completa - Graduação em Sistemas de Informação
Monografia Completa - Graduação em Sistemas de InformaçãoMonografia Completa - Graduação em Sistemas de Informação
Monografia Completa - Graduação em Sistemas de Informação
 
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
2015 1 ciencia_da_computacao_1_sistemas_aplicacoes_multimidia
 
67286679 web-sites
67286679 web-sites67286679 web-sites
67286679 web-sites
 
Apostila criação de web sites
Apostila   criação de web sitesApostila   criação de web sites
Apostila criação de web sites
 
Apostila sistemas operacionais
Apostila sistemas operacionaisApostila sistemas operacionais
Apostila sistemas operacionais
 
Trabalho pronto de sistemas
Trabalho pronto de sistemasTrabalho pronto de sistemas
Trabalho pronto de sistemas
 
Aula1
Aula1Aula1
Aula1
 

Semelhante a 502902285 servicos de-redes

Manutenção e montagem de computadores
Manutenção e montagem de computadoresManutenção e montagem de computadores
Manutenção e montagem de computadores
Joka Luiz
 
081112 manut mont
081112 manut mont081112 manut mont
081112 manut mont
Edimilson Pereira
 
Montagem e Manutenção de Computadores
Montagem e Manutenção de ComputadoresMontagem e Manutenção de Computadores
Montagem e Manutenção de Computadores
Roberto Azevedo de L azevedo de lima
 
Manutenção de computadores
Manutenção de computadoresManutenção de computadores
Manutenção de computadores
Amadeo Santos
 
Ingles para informatica
Ingles para informaticaIngles para informatica
Ingles para informatica
Laiz Reis
 
Ingles para informatica.indb
Ingles para informatica.indbIngles para informatica.indb
Ingles para informatica.indb
frechesantos
 
Cetam Inglês para Informática
Cetam  Inglês para InformáticaCetam  Inglês para Informática
Cetam Inglês para Informática
Augusto Berredo
 
Introducao ambiente windows
Introducao ambiente windowsIntroducao ambiente windows
Introducao ambiente windows
MatheusRpz
 
Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02
Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02
Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02
Ernane Martins
 
Prog web
Prog webProg web
Prog web
Binho Welcoff
 
Estruturas de dados
Estruturas de dadosEstruturas de dados
Estruturas de dados
Marcelo Andrade
 
Programas aplicativos
Programas aplicativosProgramas aplicativos
Programas aplicativos
MatheusRpz
 
Introducao informatica
Introducao informaticaIntroducao informatica
Introducao informatica
Guilherme Fernandes
 
081112 rede comp
081112 rede comp081112 rede comp
081112 rede comp
Esdras Cardoso
 
Rede computadores
Rede computadoresRede computadores
Rede computadores
Vladimir Sejas
 
Pos Oficina Ii
Pos Oficina IiPos Oficina Ii
Pos Oficina Ii
guest6b0ad3
 
Mat.informatica basica ifro
Mat.informatica basica ifroMat.informatica basica ifro
Mat.informatica basica ifro
Christiano Silva Rocha
 
Perifericos suprimentos cor_capa_ficha_isbn_20110128
Perifericos suprimentos cor_capa_ficha_isbn_20110128Perifericos suprimentos cor_capa_ficha_isbn_20110128
Perifericos suprimentos cor_capa_ficha_isbn_20110128
JoaquinhoJuda
 
Pedagogia em tic (pedro andrade 2003)2
Pedagogia em tic (pedro andrade 2003)2Pedagogia em tic (pedro andrade 2003)2
Apostila de Informática Aplicada da Educação
Apostila de Informática Aplicada da EducaçãoApostila de Informática Aplicada da Educação
Apostila de Informática Aplicada da Educação
MariaVivianedeAraujo
 

Semelhante a 502902285 servicos de-redes (20)

Manutenção e montagem de computadores
Manutenção e montagem de computadoresManutenção e montagem de computadores
Manutenção e montagem de computadores
 
081112 manut mont
081112 manut mont081112 manut mont
081112 manut mont
 
Montagem e Manutenção de Computadores
Montagem e Manutenção de ComputadoresMontagem e Manutenção de Computadores
Montagem e Manutenção de Computadores
 
Manutenção de computadores
Manutenção de computadoresManutenção de computadores
Manutenção de computadores
 
Ingles para informatica
Ingles para informaticaIngles para informatica
Ingles para informatica
 
Ingles para informatica.indb
Ingles para informatica.indbIngles para informatica.indb
Ingles para informatica.indb
 
Cetam Inglês para Informática
Cetam  Inglês para InformáticaCetam  Inglês para Informática
Cetam Inglês para Informática
 
Introducao ambiente windows
Introducao ambiente windowsIntroducao ambiente windows
Introducao ambiente windows
 
Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02
Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02
Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02
 
Prog web
Prog webProg web
Prog web
 
Estruturas de dados
Estruturas de dadosEstruturas de dados
Estruturas de dados
 
Programas aplicativos
Programas aplicativosProgramas aplicativos
Programas aplicativos
 
Introducao informatica
Introducao informaticaIntroducao informatica
Introducao informatica
 
081112 rede comp
081112 rede comp081112 rede comp
081112 rede comp
 
Rede computadores
Rede computadoresRede computadores
Rede computadores
 
Pos Oficina Ii
Pos Oficina IiPos Oficina Ii
Pos Oficina Ii
 
Mat.informatica basica ifro
Mat.informatica basica ifroMat.informatica basica ifro
Mat.informatica basica ifro
 
Perifericos suprimentos cor_capa_ficha_isbn_20110128
Perifericos suprimentos cor_capa_ficha_isbn_20110128Perifericos suprimentos cor_capa_ficha_isbn_20110128
Perifericos suprimentos cor_capa_ficha_isbn_20110128
 
Pedagogia em tic (pedro andrade 2003)2
Pedagogia em tic (pedro andrade 2003)2Pedagogia em tic (pedro andrade 2003)2
Pedagogia em tic (pedro andrade 2003)2
 
Apostila de Informática Aplicada da Educação
Apostila de Informática Aplicada da EducaçãoApostila de Informática Aplicada da Educação
Apostila de Informática Aplicada da Educação
 

Último

Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 

Último (6)

Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 

502902285 servicos de-redes

  • 1. Tecnico em Redes de Computadores Gustavo Henrique da Rocha Reis Serviços de Redes Centro de Educação Aberta e a Distância (CEAD) Instituto Federal do Sudeste de Minas Gerais - Campus Rio Pomba Av. Dr. José Sebastião Da Paixão s/nº - Bairro Lindo Vale CEP: 36180-000 - Rio Pomba/MG Telefone: (32)3571-5746 Http://cead.riopomba.ifsudestemg.edu.br/
  • 2. Serviços de Redes Gustavo Henrique da Rocha Reis 2013 Rio Pomba - MG
  • 3.
  • 4. e-Tec Brasil33 Apresentação e-Tec Brasil Prezado estudante, Bem-vindo ao e-Tec Brasil! Você faz parte de uma rede nacional pública de ensino, a Escola Técnica Aberta do Brasil, instituída pelo Decreto nº 6.301, de 12 de dezembro 2007, com o objetivo de democratizar o acesso ao ensino técnico público, na mo- dalidade a distância. O programa é resultado de uma parceria entre o Minis- tério da Educação, por meio das Secretarias de Educação a Distancia (SEED) e de Educação Profissional e Tecnológica (SETEC), as universidades e escolas técnicas estaduais e federais. A educação a distância no nosso país, de dimensões continentais e grande diversidade regional e cultural, longe de distanciar, aproxima as pessoas ao garantir acesso à educação de qualidade, e promover o fortalecimento da formação de jovens moradores de regiões distantes, geograficamente ou economicamente, dos grandes centros. O e-Tec Brasil leva os cursos técnicos a locais distantes das instituições de en- sino e para a periferia das grandes cidades, incentivando os jovens a concluir o ensino médio. Os cursos são ofertados pelas instituições públicas de ensino e o atendimento ao estudante é realizado em escolas-polo integrantes das redes públicas municipais e estaduais. O Ministério da Educação, as instituições públicas de ensino técnico, seus servidores técnicos e professores acreditam que uma educação profissional qualificada – integradora do ensino médio e educação técnica, – é capaz de promover o cidadão com capacidades para produzir, mas também com auto- nomia diante das diferentes dimensões da realidade: cultural, social, familiar, esportiva, política e ética. Nós acreditamos em você! Desejamos sucesso na sua formação profissional! Ministério da Educação Janeiro de 2013 Nosso contato etecbrasil@mec.gov.br
  • 5.
  • 6. e-Tec Brasil5 Indicação de ícones Os ícones são elementos gráficos utilizados para ampliar as formas de linguagem e facilitar a organização e a leitura hipertextual. Atenção: indica pontos de maior relevância no texto. Saiba mais: oferece novas informações que enriquecem o assunto ou “curiosidades” e notícias recentes relacionadas ao tema estudado. Glossário: indica a definição de um termo, palavra ou expressão utilizada no texto. Mídias integradas: sempre que se desejar que os estudantes desenvolvam atividades empregando diferentes mídias: vídeos, filmes, jornais, ambiente AVEA e outras. Atividades de aprendizagem: apresenta atividades em diferentes níveis de aprendizagem para que o estudante possa realizá-las e conferir o seu domínio do tema estudado.
  • 7.
  • 8. Olá estudante! Bem vindo ao conteúdo da disciplina Serviços de Rede! Aproveite este momento para conhecer os principais programas que são utilizados para prestar serviços na Internet como servidores de páginas, resolução de domínios, transferência de arquivos, acesso remoto, envio/recebimento de e-mails. Caso seja a primeira vez que você esta tendo contato este conteúdo, não fique preocupado. Seja persistente e tenha disciplina nos estudos. Explore ao Maximo o material que esta sendo disponibilizado a você. Bons estudos! Professor Gustavo Henrique da Rocha Reis Palavras do professor-autor
  • 9. A disciplina Serviços de Rede ira abordar o funcionamento dos programas Bind (para resolução de domínios), Apache (para hospedar sites), ProFTPD (para transferência de arquivos), Postfix/Qpopper (programas para envio/recebimento, respectivamente, de e-mails, OpenSSH (para acesso remoto ao servidor). Antes de começar a fazer as instalações/configurações destes serviços, será abordado o conceito de virtualização e instalação do sistema operacional GNU/Linux como base para estes serviços. Bons estudos e sucesso! Apresentação da disciplina
  • 10. Aula 1. Sistema Operacional Linux.....................................................................7 1.1 Introdução.................................................................................................................7 1.2 Distribuição Debian GNU/Linux................................................................................8 1.3 Instalando o Debian..................................................................................................8 1.3.1 Virtualização...............................................................................................8 1.3.2 Configurando uma máquina virtual...........................................................13 1.3.3 Instalação do Debian na máquina virtual..................................................17 1.4 Exercícios ...............................................................................................................32 Aula 2. Shell.......................................................................................................33 2.1 Introdução...............................................................................................................33 2.2 Comandos para manipulação de diretório..............................................................34 2.2.1 Comando ls...............................................................................................35 2.2.2 Comando cd..............................................................................................36 2.2.3 Comando pwd...........................................................................................37 2.2.4 Comando mkdir.........................................................................................37 2.2.5 Comando rmdir.........................................................................................38 2.3 Comandos para manipulação de arquivo...............................................................38 2.3.1 Comando cat.............................................................................................38 2.3.2 Comando rm.............................................................................................39 2.3.3 Comando cp.............................................................................................39 2.3.3 Comando mv............................................................................................40 2.4 Manipulação de contas...........................................................................................41 2.4.1 Comando groupadd..................................................................................43 2.4.2 Comando useradd....................................................................................43 2.4.3 Comando passwd.....................................................................................44 2.4.4 Comando userdel.....................................................................................45 2.4.5 Comando groupdel...................................................................................45 2.5 Manipulação de permissões...................................................................................45 2.5.1 Comando chmod......................................................................................47 2.5.2 Comando chown......................................................................................49 2.5.3 Comando chgrp........................................................................................50 2.6 Instalação de Programas........................................................................................50 2.7 Exercícios................................................................................................................54 Aula 3. Serviço DNS..........................................................................................56 3.1 Introdução...............................................................................................................56 3.2 Tipos de consultas DNS..........................................................................................58 3.3 Instalando e configurando um servidor DNS...........................................................62 3.4 Exercícios................................................................................................................68 Aula 4. Serviço WEB..........................................................................................69 4.1 Introdução................................................................................................................69 4.2 Instalando e Configurando o Servidor Web.............................................................70 4.3 Preparando o servidor web para hospedar um site.................................................72 Sumário
  • 11. 4.4 Analisando o log de acesso.....................................................................................76 4.5 Exercícios................................................................................................................77 Aula 5. Serviço FTP...........................................................................................78 5.1 Introdução...............................................................................................................78 5.2 Instalando e Configurando o Servidor FTP.............................................................79 5.3 Criando usuário WebDesigner................................................................................81 5.4 Exercícios................................................................................................................83 Aula 6. Serviço E-Mail........................................................................................84 6.1 Introdução................................................................................................................84 6.2 Instalando e Configurando o Servidor E-mail..........................................................85 6.3 Enviando um E-mail................................................................................................87 6.4 Lendo um E-mail.....................................................................................................88 6.5 Exercícios................................................................................................................89 Aula 7. Acesso Remoto.....................................................................................90 7.1 Introdução...............................................................................................................90 7.2 Instalando e Configurando o OpenSSH..................................................................91 7.3 Fazendo login remoto no OpenSSH.......................................................................92 7.4 Exercícios................................................................................................................93 Palavras finais....................................................................................................94 Bibliografia básica..............................................................................................95 Currículo do professor-autor .............................................................................96
  • 12. Aula 1. Sistema Operacional Linux Objetivos – Ter noções sobre a história do sistema operacional GNU/Linux – Saber o que é uma distribuição – Aprender sobre virtualização – Instalar do GNU/Linux Debian 1.1 Introdução Linux ou GNU/Linux é um sistema operacional que utiliza um kernel (núcleo do sistema operacional) desenvolvido pelo finlandês Linus Torvalds. O Linux pode ser usado como alternativa a outros sistemas operacionais como MS Windows, Mac OS, MS-DOS, Solaris entre outros. Quando Linus Torvalds era estudante da Universidade de Helsinki, ele estava usando uma versão do sistema operacional UNIX chamado Minix. Linus Torvalds e outros usuários enviaram pedidos de modificações e melhorias ao criador do Minix, Andrew Tanenbaum, mas o mesmo disse que não havia necessidade de alterações. Sendo assim, Linus Torvalds decidiu criar o próprio sistema operacional que deveria ter sugestões e melhorias de outros usuários. Esta filosofia de pedir sugestões, melhorias aos usuários e utilizá-los nos programas de computadores não é novidade. Richard Stallman, que trabalhou no Instituto de Tecnologia de Massachusetts, vem defendendo uma abordagem para programas de computadores e seu uso deste 1970. Ele foi o pioneiro no conceito do software livre1 , sempre dizendo que livre significa liberdade, não a custo zero. Encontrando dificuldades para continuar a trabalhar em condições que era contra o seu conceito de "software livre", Richard Stallman deixou o MIT em 1984 e fundou o projeto GNU General Public License (GNU GPL). O objetivo do GNU GPL era produzir um software que era livre para usar, distribuir e modificar. Objetivo de Linus Torvalds, seis anos mais tarde, foi basicamente o mesmo: produzir um sistema operacional que levou em conta o feedback do usuário. O ponto principal de um sistema operacional é o seu kernel. Ele faz a comunicação entre os programas e os processamentos feitos em nível de hardware. As responsabilidades do kernel incluem gerenciamento de processos, gerenciamento de memória, gerenciamento de dispositivos e chamadas de sistema. 1 Software Livre: http://www.debian.org/intro/free 7
  • 13. 1.2 Distribuição Debian GNU/Linux O projeto Debian GNU/Linux é uma associação de pessoas que tem uma causa comum que é criar um sistema operacional livre, desta forma surgindo este projeto. É desenvolvido por mais de mil programadores espalhados pelo mundo. Estes programadores são voluntários em seus tempos livres, sendo que poucos se conhecem pessoalmente. Trocas de informações são feitas através de e-mails e IRC (Internet Relay Chat). Mesmo a distribuição sendo feita se certa forma à distância, existe uma estrutura organizacional2 bem definida. O Debian utilizam o kernel do Linux ou do FreeBSD. Todavia, existem esforços em prover outros kernels para o Debian como Hurd. Hurd é um software livre produzido pelo projeto GNU. 1.3 Instalando o Debian Antes de ser feita a instalação do Debian, é preciso entender que existem alguns tipos de instalações como as citadas abaixo: • Utilizando o disco rígido inteiro do computador, assim existirá apenas o Debian em seu computador; • Redimensionando a partição do disco rígido, ou seja, será liberado um espaço no disco (utilizando ferramentas próprias) para ser instalado o Debian nesta partição mantendo desta forma o seu sistema operacional (ex. Windows) e o Debian instalados juntos. Quando for ligado o computador aparecerá uma tela perguntando em qual sistema será inicializado (Windows ou Linux). • Utilizando virtualização, desta forma será necessário instalar um programa de virtualização em seu computador e dentro deste programa será instalado qualquer sistema operacional. Desta forma o sistema operacional que já existe em seu computador não será alterado em nada. 1.3.1 Virtualização A opção a ser adotada para instalar o Debian será fazendo o uso de virtualização. Mas por que utilizá-lo? A criação de um ambiente virtual permite simular um ambiente real, propiciando a utilização de diversos sistemas e aplicativos. A principal vantagem é em termos econômicos pois assim podemos utilizar o máximo do poder de processamento do hardware evitando desperdícios computacionais. 2 Estrutura Organizacional: http://www.debian.org/intro/organization 8
  • 14. A virtualização consistem em executar vários sistemas operacionais no mesmo computador de forma simultânea. Isto é possível com o uso de programas específicos que geram máquinas virtuais: estas emulam os componentes físicos do computador, possibilitando que um sistema operacional diferente seja instalado em cada máquina virtual. Há outras duas vantagens na adoção desta tecnologia: uma voltada a usuários, outra a servidores. No caso dos usuários consiste em eliminar a incompatibilidade entre aplicativos e sistemas operacionais. Pense em um usuário cujo computador tenha o Windows Vista instalado, mas que deseje executar um aplicativo que só é compatível com o Windows XP. Isso é possível com a criação, neste computador, de uma máquina virtual que execute o Windows XP, depois é só instalar o aplicativo nesta máquina virtual e executá-lo normalmente (como se fosse um computador dentro do outro). Quanto aos servidores, sua virtualização permite que, ao invés de se ter diversos servidores (que utilizam apenas uma porcentagem dos recursos), os precessos sejam distribuídos de forma equilibrada entre um número menor de computadores (assim chegam mais próximos do aproveitamento total de sua capacidade). Isto reduz a quantidade de mão-de-obra técnicas, o espaço para alocar os computadores e o gasto com eletricidade, permitindo assim economia. O programa a ser utilizado para fazer a virtualização é o VirtualBox3 que é mantido pela Oracle4 . Este programa está disponível como um software de código aberto sob os termos do GNU GPL versão 2. Pode ser instalado em vários sistemas operacionais como plataformas Windows, Linux, Macintosh e Solaris. Para poder fazer o download do programa acesse o site do VirtualBox, sessão downloads e escolha o pacote para o seu sistema operacional. Ex.: caso o seu computador tenha instalado o sistema operacional Windows, clique na opção x86/amd64 referente a VirtualBox 4.2 for Windows hosts. Após fazer o download do programa, faça a instalação do mesmo clicando duas vezes no arquivo do programa e seguindo os passos abaixo. 3 VirtualBox: https://www.virtualbox.org/ 4 Oracle: http://www.oracle.com/index.html 9
  • 15. Figura 1.1 – Tela inicial de instalação do VirtualBox Figura 1.2 – Tela de customização da instalação do VirtualBox Figura 1.3 – Permite criar o ícone do programa na área de trabalho 10 Passo 1: Quando aparecer a tela mostrada pela figura 1.1 clique no botão Next para proceder com a instalação. Passo 2: Esta tela exibe opções para poder customizar sua instalação. Não altere nenhuma informações e clique no botão Next para continuar com a instalação. Passo 3: Esta tela permite criar o ícone na Área de Trabalho do seu computador, não desmarque nenhuma opção e clique no botão Next
  • 16. Figura 1.4 – Tela de instalação das interfaces de rede Figura 1.5 – Tela de instalação das interfaces de rede Figura 1.6 – Tela de instalação das interfaces de rede 11 Passo 4: Esta tela permite instalar as interfaces de rede virtuais para as máquinas virtuais poderem ter acesso a rede. Clique no botão Yes para aceitar a instalação. Passo 5: Esta tela permite instalar as interfaces de rede virtuais para as máquinas virtuais poderem ter acesso a rede. Clique no botão Install para aceitar a instalação. Passo 6: Logo após começará a instalação do probrama como mostrado na figura 1.6.
  • 17. Figura 1.7 – Tela de instalação do módulo USB Figura 1.8 – Tela de instalação do serviço de rede Figura 1.9 – Tela de finalização da instalação 12 Passo 7: Esta tela permite instalar o módulo USB para as máquinas virtuais reconhecerem os dispositivos USB que forem conectados no computador. Clique no botão Instalar. Passo 8: Esta tela permite instalar o módulo Serviço de Rede como por exemplo serviço DHCP para as máquinas virtuais receberem IP. Clique no botão Instalar. Passo 9: Depois de terminar a instalação será mostrada a tela da figura 1.9. Clique no botão Finish.
  • 18. Figura 1.10 – Tela de finalização da instalação 1.3.2 Configurando uma máquina virtual O processo de criar uma máquina virtual é como se estivess montando um computador fisicamente, onde terá que ter memória principal (memória RAM), disco rígido (HD), unidade de DVD-ROM dentre outros dispositivos comuns de um computador. Sendo assim, siga os passos abaixo: Figura 1.11 – Tela inicial de criação da máquina virtual Figura 1.12 – Tela configuração do tamanho da memória RAM 13 Passo 10: Depois da instalação execute o programa. A figura 1.10 mostra a tela principal do VirtualBox. Passo 1: Após acessar o programa clique no botão Novo para poder começar a criar a máquina virtual. Como mostrado na figura 1.11 coloque o nome da máquina virtual e escolha qual o sistema operacional que será mostrado. Faça igual ao da figura. Depois clique no botão Próximo(N). Passo 2: A próxima tela (figura 1.12) mostra a configuração do tamanho da memória principal que a máquina virtual irá usar.O próprio VitualBox calcula o tamanho ideal com relação à configuração do seu computador. Não altere o valor. Clique no botão Próximo (N).
  • 19. Figura 1.13 – Tela de criação do disco rígido Figura 1.14 – Tela de criação do disco rígido Figura 1.15 – Tela tipo de armazenamento em disco rígido físico 14 Passo 3: Esta tela permite criar o disco rígido da máquina virtual.Deixa a configuração padrá e clique no botão Criar. Passo 4: A próxima tela permite escolher qual o tipo de arquivo será criado para o dísco rígido. Toda máquina virtual criada será armazenada em um diretório e o disco rígido será representado por um arquivo. Deixe a configuração padrão e clique no botão Próximo(N). Passo 5: Esta tela permite escolher qual tipo de armazemanto será criado. A opção dinamicamente alocado permite que o arquivo criado cresça à medida que seja instalados programas ou copiados arquivos para dentro da máquina virtual. Deixe a configuração padrão e clique no botão Próximo(N).
  • 20. Figura 1.16 – Tela de localização e tamanho do disco rígido Figura 1.17 – Tela principal com a máquina virtual criada Figura 1.18 – Tela de configuração da imagem ISO do Debian. 15 Passo 6: Este passo permite digitar um nome para o disco rígido e onde ele será armazenado. Deixe a configuração padrão e clique no botão Criar. Passo 7: Depois de criar a máquina virtual, será mostrada a tela principal do VirtualBox com todas as máquinas virtuais criadas, neste caso somente a máquina virtual Debian Squeeze.
  • 21. Passo 8: Para poder fazer a instalação de um sistema operacional, utilizamos uma mídia DVD contendo o sistema e efetuamos a inicialização do computador através deste DVD. Em nosso caso, como estamos fazendo uso da virtualização temos a opção de fazer a instalação dos sistemas operacionais nas máquinas virtuais através de imagens ISO5 . Sendo assim, selecione a máquina virtual Debian Squeeze na tela principal do VirtualBox e logo em seguida clique na opção Configurações como mostrado na figura 1.17 (na marcação em verde). Depois disso será mostrada a tela representada pela figura 1.18 onde deve ser selecionado a opção Armazenamento, Controladora IDE/Vazio, e no símbolo que represenda uma mídia de CD/DVD (seta vermelha). Após selecionar esta opção clique em Selecione um arquivo de CD/DVD virtual, assim irá aparecer uma tela de diálogo pedindo para selecionar a imagem ISO de instalação do Debian. Para adquirir uma imagem ISO do Debian é só fazer o download na página oficial6 do projeto. Figura 1.19 – Tela de configuração da imagem ISO do Debian. 5 Imagens ISO: é toda a informação de um CD/DVD contida em um único arquivo com extensão ISO. 6 Página Oficial: http://cdimage.debian.org/debian-cd/6.0.6/amd64/iso-dvd/debian- 6.0.6-amd64-DVD-1.iso 16 Passo 9: Após a seleção do arquivo ISO a tela irá ficar semelhante a da figura 1.19. Sendo assim, clique no botão OK para voltar à tela principal.
  • 22. 1.3.3 Instalação do Debian na máquina virtual Depois da máquina virtual criada basta seguir os passos abaixo para poder fazer a instalação da distribuição Debian. Figura 1.20 – Tela principal Figura 1.21 – Tela principal de instalação do Debian Figura 1.22 – Aviso de captura do mouse e teclado 17 Passo 1: Para iniciar a máquina virtual, selecione Debian Squeeze e clique no botão Iniciar, como indicado na marcação verde. Passo 2: Depois de ser iniciada a máquina virtual, será mostrada a tela de instalação do Debian (figura 1.21). Clique dentro da tela de instalação do Debian para começar a fazer a instalação. Passo 3: Ao clicar dentro da tela de instalação do Debian, será mostrada a tela da figura 1.22 dizendo que o mouse e o teclado estarão focados na máquina virtual, clique no botão Capturar. Para poder liberar o mouse e o teclado basta pressionar a tecla Ctrl do lado direito do teclado.
  • 23. Após a captura do mouse e teclado deixe selecionado a opção Install e pressione a tecla Enter para começar a instalação do Debian. Figura 1.23 – Escolha da linguagem Figura 1.24 – Selecione sua localidade Figura 1.25 – Escolha do layout do teclado 18 Passo 4: Será mostrada a tela para escolher a linguagem desejada. Com a seta do teclado navegue para baixo até encontrar a opção Portuguese (Brazil) – Português do Brasil. Depois pressione a tecla Enter. Passo 5: A próxima tela permite selecionar a localidade. Deixe marcada a opção Brasil e pressione a tecla Enter. Passo 6: Selecione o layout do teclado sendo Português Brasileiro (layout ABNT2). Este layout é para os teclados que possuem a tecla ç. Caso seu teclado não possua a tecla ç escolha a opção Português. Pressione a tecla Enter.
  • 24. Figura 1.26 – Componentes adicionais para instalação Figura 1.27 – Tela para informar o nome do computador Figura 1.28 – Tela para informar o domínio do computador Figura 1.29 – Tela para informar a senha do usuário root Figura 1.30 – Tela para informar a senha do usuário root 19 Passo 7: Carregando componentes adicionais para a instalação do Debian. Passo 8: Tela para informar o nome do computador. Deixe o nome Debian e pressione Enter. Passo 9: Informe o domínio que o computaor irá pertencer, em nossa instalação digite localhost. Isto significa que o domínio é o próprio computador e depois pressione Enter. Passo 10: Informe a senha do usuário root (administrador do Linux). A senha será 123456 e depois pressione a tecla Enter. Passo 11: Confirme a senha do usuário root 123456 e depois pressione a tecla Enter.
  • 25. Figura 1.31 – Tela para informar o nome completo do usuário Figura 1.32 – Tela para informar o nome da conta do usuário Figura 1.33 – Tela para informar a senha do usuário Figura 1.34 – Tela para confirmar a senha do usuário 20 Passo 12: O próximo passo é criar uma conta de usuário comum (sem muitos privilégios). Digite o nome completo da conta do usuário chamado usuario do curso de redes e pressione a tecla Enter. Passo 13: Esta tela permite digitar o nome da conta do usuário que está sendo criado. Digite usuario e depois pressione a tecla Enter. Passo 14: O próximo passo é digitar uma senha para a conta usuario. Digite a senha 123456 e depois pressione a tecla Enter. Passo 15: Confirme a senha para a conta usuario. Digite a senha 123456 e depois pressione a tecla Enter.
  • 26. Figura 1.35 – Tela para escolher o fuso horário Figura 1.36 – Tela carregando componentes adicionais de discos Figura 1.37 – Tela de particionamento de discos Particionar um disco significa dividi-lo em partes lógicas, para o sistema operacional é como se existissem vários discos rígidos. No Linux, de uma forma padrão, existem duas partições que são criadas: a partição de troca7 (onde o sistema operacional faz troca de informações entre memória principal e o disco rígido) e a partição onde será instalado o sistema operacional. 7 Partição de troca: conhecido também como partição de swap. 21 Passo 16: Logo em seguida escolha o fuso horário. Deixe marcada a opção São Paulo e depois pressione a tecla Enter. Passo 17: Carregando os componentes de particionamento de discos. Passo 18: Esta tela permite escolher qual tipo padrão de particionamento será feito. Escolha a opção Manual e pressione a tecla Enter.
  • 27. Figura 1.38 – Tela de particionamento de discos Figura 1.39 – Tela de particionamento de discos Figura 1.40 – Tela de particionamento de discos Passo 21: A figura 1.40 mostra a tabela de partição criada. Agora basta pressionar a tecla Enter para começar a criar as partições necessárias para a instalação do Linux. 22 Passo 19: Esta tela mostra o disco que foi criado na máquina virtual. Selecione este disco e pressione a tecla Enter para criar a tabela de partição do disco. Passo 20: Selecione a opção Sim para aceitar a criação da tabela de partição no disco e pressione a tecla Enter.
  • 28. Figura 1.41 – Tela de particionamento de discos Figura 1.42 – Tela de particionamento de discos (tam. da partição) A partição de troca (swap) permite estender o tamanho da memória principal (RAM) utilizando a memória secundária (disco rígido). Figura 1.43 – Tipo de partição Figura 1.44 – Partição pode ser criada no Início ou Fim do disco 23 Passo 22: Esta tela permite criar uma nova partição para o seu disco rígido. Pressione a tecla Enter para criar a partição. Passo 23: Esta tela permite definir o tamanha da partição a ser criada. Digite o tamanho de 1 GB, igual ao indicado na figura 1.42, este tamanho será para a partição de Troca. Depois pressione a tecla Enter. Passo 24: Aqui você vai escolher o tipo de partição a ser criado. Escolha Primária e depois pressione a tecla Enter. Passo 25: Este ponto permite crair a partição no início ou fim do disco rígido. Escolha a opção Início e depois pressione a tecla Enter.
  • 29. Figura 1.45 – Configuração da partição Passo 26: neste passo (figura 1.45) você poderá escolher qual o tipo de sistemas de arquivos esta partição terá. Como estamos criando uma partição de Troca, existe um sistema de arquivos específico para isto. Sendo assim, selecione a opção Usar Como e pressione a tecla Enter para escolher o sistema de arquivos correto. Figura 1.46 – Escolha do tipo de partição 24 Passo 27: Esta tela permite você escolher o sistema de arquivos correto para a partição que está sendo criada. Escolha o sistema de arquivos área de troca (swap) e depois pressione a tecla Enter.
  • 30. Figura 1.47 – Finaliza a configuração da partição Figura 1.48 – Tela de particionamento de discos com partição de troca (swap) criada Passo 29: neste passo você terá que criar outra partição. É nesta partição que será feita a instalação do sistema operacional Linux. Sendo assim, selecione a opção ESPAÇO LIVRE e pressione a tecla Enter. Figura 1.49 – Tela de particionamento de discos 25 Passo 28: Depois de escolhido o sistema de arquivos, será mostrada esta tela com as configurações corretas. Sendo assim, selecione a opção Finalizar a configuração da partição e depois pressione a tecla Enter. Passo 30: Esta tela permite criar uma nova partição para o seu disco rígido. Pressione a tecla Enter para criar a partição.
  • 31. Figura 1.50 – Tela de particionamento de discos (tam. da partição) Figura 1.51 – Tipo de partição Figura 1.52 – Configuração da partição Passo 33: esta tela mostra a configuração padrão da partição onde será instalado o Linux. A opção Usar como mostra o tipo de sistema de arquivos que será utilizado pelo Linux Sistema de arquivos com “journaling” ext3. O Ponto de montagem: / refere-se onde será instalado o Linux. Fazendo uma analogia com o sistema operacional da Microsoft (Windows), é como se fosse a letra C: significando que o Windows foi instalado a partir deste ponto. No Linux o símbolo Barra (/) significa que o sistema operacional é instalado a partir deste ponto. Deixte estas configurações padrões (como mostrado na figura 1.52), selecione a opção Finalizar a configuração da partição e depois pressione a tecla Enter. 26 Passo 31: Esta tela permite definir o tamanho da partição. Deixe o tamanho total a ser utilizado e depois pressione a tecla Enter. Passo 32: Aqui você vai escolher o tipo de partição a ser criado. Escolha Primária e depois pressione a tecla Enter.
  • 32. Figura 1.53 – Tela de particionamento de discos Figura 1.54 – Tela para aceitar as configurações de partição feitas Figura 1.55 – Tela de formatação das partições criadas Passo 36: fazendo a formatação das partições criadas. A formatação serve para preparar a partição para receber a estrutura de diretórios e arquivos do sistema operacional. Assim, o sistema operacional é capaz de ler e gravar informações no disco. Figura 1.56 – Tela de instalação do sistema básico Passo 37: neste passo está sendo instalado o sistema básico do Linux. 27 Passo 34: Esta tela mostra todas as partições criadas. Sendo assim, selecione a opção Finalizar o particionamento e escrever as mudanças no disco. Depois pressione a tecla Enter. Passo 35: Selecione a opção Sim para aceitar as modificações das partições criadas e depois pressione a tecla Enter.
  • 33. Figura 1.57 – Tela de configuração do gerenciador de pacotes Passo 38: esta tela permite ser catalogado outros CD/DVD's. Toda vez que for instalado um novo programa no Linux, utilizando o comando aptitude (mostrado na Aula 2), será pesquisado neste catálogo e o mesmo irá pedir o CD/DVD correto que possui o programa. A imagem ISO que está sendo usada para instalar o Linux já foi catalogada sendo assim escolha a opção Não (para não catalogar outra imagem/cd) e pressione a tecla Enter. Figura 1.58 – Tela de configuração do gerenciador de pacotes Passo 39: esta opção permite configurar um espelho de rede para poder instalar novos programas ou atualizar programas já instalados através da Internet. Em nosso laboratório de instalação vamos escolher a opção Não e pressionar a tecla Enter. Pois que será utilizado nesta instalação já está na imagem de instalação. Figura 1.59 – Tela de instalação dos programas restantes do Linux básico 28
  • 34. Passo 40: esta tela mostra o restante da instalação básica do Linux. Figura 1.60 – Tela de configuração de estatísticas de uso de pacotes (programas) Passo 41: neste passo é possível participar de um levantamento dos programas mais utilizados no Debian para os desenvolvedores colocarem no primeiro CD/DVD de instalação da distribuição. Mas em nossos exercícios vamos escolher a opção Não e pressionar a tecla Enter. Figura 1.61 – Tela de seleção de softwares Passo 42: neste passo é possível escolher os serviços que queremos executar no Debian. Mas deixe as configurações padrões e pressione a tecla Enter. Os programas de serviços como WEB, DNS, arquivos serão vistos nas aulas seguintes e instalados após a instalação do Debian. Será feito desta forma para poder nos familiarizarmos melhor com a distribuição. 29
  • 35. Figura 1.62 – Tela de seleção do GRUB Passo 43: após ser instalado todos os programas selecionados, será mostrada a tela acima (figura 1.62) pedindo para instalar o GRUB8 no disco rígido. O GRUB é um gerenciador de boot de sistemas operacionais. Ex.: caso o seu computador tenha dois sistemas operacionais (Windows e Linux), o gerenciador de boot permite você escolher um dos dois sistemas operacionais que queira utilizar quando ligar o computador. Sendo assim, escolha a opção Sim e pressione a tecla Enter. Figura 1.63 – Instalando o GRUB Passo 44: este passo mostra a instalação do GRUB. Figura 1.64 – Instalação finalizada Passo 45: este passo mostra a finalização da instalação do Debian. Pressione a tecla Enter para ser reinicializada a máquina virtual e ter acesso ao novo sistema operacional instalado. 8 GRUB: Grand Unified Boot Loader 30
  • 36. Figura 1.65 – Tela do GRUB Passo 46: este passo permite você escolher a inicialização padrão do Debian (Debian GNU/Linux, with Linux 2.6.32-5-amd64) ou escolher o modo de recuperação (Debian GNU/Linux, with Linux 2.6.32-5-amd64 recovery mode) caso o sistema tenha algum problema. Pressione a tecla Enter para inicializar o Debian ou não faça nada que o sistema inicializa sozinho. Figura 1.66 – Tela de login do Debian 31
  • 37. Passo 47: tela de sessão do Debian, selecione o usuário chamado usuario para digitar a senha 123456 e ter acesso ao ambiente de trabalho do Debian. Figura 1.67 – Área de trabalho do Debian Passo 48: depois de ter digitado usuário/senha, será mostrada a área de trabalho do Debian. 1.4 Exercícios 1) Quem criou/desenvolveu o GNU/Linux? 2) Faça uma pesquisa na Internet sobre GNU General Public License. 3) O que é uma distribuição Linux? Além da distribuição Debian existem outras, cite outras duas distribuições e algumas características delas. 4) Para a instalação da distribuição do Debian foi feito o uso de virtualização. Cite algumas vantagens em se utilizar virtualização e outros programas que trabalham com virtualização (além do VirtualBox). 5) Durante a instalação do Debian, foram criadas duas partições no disco virtual. Para que serve a partição de troca e a partição representada por uma barra “/”? 6) Para que serve o programa chamado GRUB? 32
  • 38. Aula 2. Shell Objetivos – Conhecer o que é Shell – Manipular diretórios/arquivos – Fazer a manutenção de usuários/grupos – Instalar de programas 2.1 Introdução Shell é um programa executado após a inicialização do sistema Linux que serve como interpretador de comandos entre o usuário e o kernel. Estes comandos podem vir de uma entrada padrão (teclado) ou de um arquivo executável. Sendo assim, os comandos digitados são interpretados pelo shell e enviados para o kernel do Linux, que por sua vez executa o comando e retorna o resultado desta execução. No Linux existem diversos programas shell como bash, sh, tcsh, csh, ash e bsh. Na distribuição Debian, o shell padrão é o bash. Os comandos do shell podem ser usados para escrever programas em uma linguagem interpretada conhecidad como shell script. Existem duas formas de utilizar um shell: • Modo interativo → o usuário digita um comando e espera a execução dele antes de passar ao próximo comando. • Modo batch, script, lote ou não-interativo → quando um conjunto de comandos serão executados, a partir de uma data e hora especificada e não haverá intervenção do usuário. 33
  • 39. Figura 2.1 – Acessando o terminal do Linux (prompt de comando) Quando for acessado o prompt de comando, será mostrada uma informação semelhante a esta: usuario@debian:~$. O que significa esta informação? usuario: nome do usuário com quem você entrou no Debian. @: símbolo para separar o nome do usuário do nome do computador. debian: nome do computador que foi escolhido durante a instalação. ~: este símbolo identifica que você está na pasta pessoal do usuario. Se você navegar por outras pastas será mostrado o nome no lugar do ~. $: este símbolo significa que você é um usuário comum (sem privilégios de administrador do Linux). Ao se tornar administrador do Linux, este símbolo irá mudar para #. 2.2 Comandos para manipulação de diretório Quando você entrar com seu usuário/senha no Debian e iniciar o terminal (figura 2.1), o prompt do terminal estará no diretório padrão que é o 34 Ao usar o prompt de comandos, preste muita atenção nos exemplos que serão mostrados a seguir, pois o Linux é case sensitive (um comando, diretório ou arquivo escrito em letra maiúscula ou miníscula são diferentes). Ex: a pasta Redes é diferente de redes, pois a primeira começa com letra maiúscula e a outra com letra minúscula.
  • 40. home directory do usuário. Este é o diretório pessoal9 que pertence ao usuário no qual você fez o login. Figura 2.2 – Hierarquia de diretórios no Linux Na figura 2.2 são mostrados alguns diretórios do GNU/Linux como por exemplo o /llib (onde são armazenadas as bibliotecas que o sistema operacional precisa e os programas instalados nele), /dev (diretório onde ficam armazenadas as referências de dispositivos físicos como o dvd, hd, usb), /var/log (onde ficam armazenados os históricos de acesso ao sistema operacional, serviços de rede), /var/spool (diretório onde são armazenadas as filas de impressão), /boot (diretório que contém as informações de inicialização do sistema operacional). 2.2.1 Comando ls Lista os arquivos de um diretório. ls [opções] [caminho/arquivo] onde: caminho/arquivo: diretório/arquivo que será listado opções: -a: lista todos os arquivos (inclusive os ocultos) de um diretório. Arquivos/diretórios ocultos começam com o símbolo de ponto “.”. -l: mostra os arquivos na forma de listagem (detalhado) sendo possível visualizar as permissões, data de modificação, donos, grupos, etc. -h: mostra o tamanho dos arquivos em Kbytes, Mbytes, Gbytes. Comando 2.1 – Área de trabalho do usuário Ao digitar o comando “ls” e pressionar a tecla Enter, como mostrado mo comando 2.1, será visualizado o diretório Desktop (representa a Área de Trabalho do Usuário). Abaixo existem outros exemplos utilizando o comando “ls” e suas opções. 9 Diretório pessoal: diretório pertencente a um determinado usuário para poder guardar seus arquivos pessoais. 35 usuario@debian:~$ ls /home/usuario Desktop usuario@debian:~$
  • 41. Comando 2.2 – Listagem do conteúdo do diretório pessoal com seus arquivos/diretórios ocultos Comando 2.3 – Listagem do conteúdo do diretório pessoal em formato de listagem (detalhado) Comando 2.4 – Listagem do conteúdo do diretório pessoal em formato de listagem (detalhado) e o tamanho do diretório em Kbytes Comando 2.5 – Listagem do conteúdo do diretório /usr 2.2.2 Comando cd Comando responsável por entrar (navegar) nos diretórios. cd [diretório] Para entrar no diretório chamado tmp digite o comando mostrado em comando 2.6 e depois pressione a tecla Enter. Para voltar ao diretório do usuário /home/usuario, digite o comando mostrado em comando 2.7. 36 usuario@debian:~$ ls -a /home/usuario . .dbus .gstreamer-0.10 .recently-used.xbel .. Desktop .gvfs .thumbnails .bash_history .dmrc .ICEauthority .xsession-errors .bash_logout .gconf .local .xsession-errors.old .bashrc .gconfd .nautilus .config .gnome2 .profile usuario@debian:~$ usuario@debian:~$ ls -l /home/usuario total 4 drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop usuario@debian:~$ usuario@debian:~$ ls -lh /home/usuario total 4,0K drwxr-xr-x 3 usuario usuario 4,0K Set 27 17:59 Desktop usuario@debian:~$ usuario@debian:~$ ls /usr/ bin games include lib lib32 lib64 local sbin share src usuario@debian:~$
  • 42. Comando 2.6 – Entrando no diretório /tmp Comando 2.7 – Voltando ao diretório /home/usuario 2.2.3 Comando pwd O comando pwd mostra o caminho completo do diretório atual em que você está. Comando 2.8 – Mostra o caminho completo do diterório do usuario 2.2.4 Comando mkdir Cria um diretório (pasta) no sistema operacional Linux. mkdir [opções] [caminho/diretório] onde: caminho: caminho onde será criado o diretório diretório: nome do diretório que será criado dentro do caminho informado opções: -p: se os diretórios dos níveis acima não existirem, também serão criados. - -verbose: mostra uma mensagem quando o diretório é criado. Comando 2.9 – Criando o diretório teste dentro do diretório do usuário 37 usuario@debian:~$ cd /tmp/ usuario@debian:/tmp$ usuario@debian:/tmp$ cd /home/usuario/ usuario@debian:~$ usuario@debian:~$ pwd /home/usuario usuario@debian:~$ usuario@debian:~$ mkdir /home/usuario/teste usuario@debian:~$ ls Desktop teste usuario@debian:~$
  • 43. 2.2.5 Comando rmdir Este comando remove um diretório no sistema, fazendo o contrário do comando mkdir. Para remover um determinado diretório, este deve estar vazio. Caso seja necessário remover um diretório que tenha arquivos/diretórios dentro dele, deve ser usado o comando rm que será visto no item 2.3.2. rmdir [caminho/diretório] onde: caminho: caminho do diretório que será removido diretório: nome do diretório que será removido Comando 2.10 – Removendo o diretório teste dentro do diretório do usuário 2.3 Comandos para manipulação de arquivo 2.3.1 Comando cat O comando cat serve para mostrar o conteúdo de um determinado arquivo texto ou binário. cat [opções] [caminho/arquivo] onde: caminho: caminho onde está o arquivo arquivo: nome do arquivo que será mostrado o conteúdo Comando 2.11 – Mostrando o conteúdo do arquivo networks 38 usuario@debian:~$ rmdir /home/usuario/teste usuario@debian:~$ ls Desktop usuario@debian:~$ usuario@debian:~$ cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 usuario@debian:~$
  • 44. 2.3.2 Comando rm Comando utilizado para excluir arquivos. Pode ser utilizado também para excluir diretório, mas neste caso deve ser utilizado a opção -r para o comando ser executado com sucesso. rm [opções] [caminho] [arquivo/diretório] onde: caminho: caminho onde está o arquivo ou o diretório. arquivo/diretório: nome do arquivo/diretório que será excluído. opções: -v: mostra mensgens dos arquivos/diretórios que estão sendo excluídos. -r: exclui arquivos/diretórios de forma recursiva. Isto permite excluir sub- diretórios dentro de diretórios. Comando 2.12 – Excluindo o arquivo oculto bash_history Comando 2.13 – Excluindo o diretório teste 2.3.3 Comando cp Comando responsável por copiar arquivos/diretórios da origem para o destino. cp [opções] [origem] [destino] onde: origem: o arquivo/diretório origem a ser copiado. destino: caminho para onde será copiado o arquivo/diretório 39 usuario@debian:~$ rm /home/usuario/.bash_history usuario@debian:~$ ls -a . Desktop .gvfs resultado.txt .. .dmrc .ICEauthority .thumbnails .bash_logout .gconf .local .xsession-errors .bashrc .gconfd .nautilus .xsession-errors.old .config .gnome2 .profile .dbus .gstreamer-0.10 .recently-used.xbel usuario@debian:~$ usuario@debian:~$ rm -r /home/usuario/teste usuario@debian:~$
  • 45. opções: -v: mostra os arquivos/diretórios que estão sendo copiados. -R: responsável por copiar arquivos e sub-diretórios de forma recursiva. Comando 2.14 – Copiando o arquivo lastlog que se encontra no caminho /var/log para o diretório /home/usuario Comando 2.15 – Copiando o diretório /bin que se encontra na rais do disco / (figura 2.2) para o diretório /home/usuario 2.3.3 Comando mv Comando responsável por mover um arquivo/diretório da origem para o destino. Pode ser utilizado para renomear arquivo/diretório. O processo é semelhante ao comando cp. mv [opções] [origem] [destino] onde: origem: o arquivo/diretório origem a ser copiado ou renomeado. destino: caminho para onde será movido ou renomeado o arquivo/diretório. opções: -v: mostra os arquivos/diretórios que estão sendo movidos/renomeados. Comando 2.16 – Renomeando o arquivo lastlog para arquivo.txt Comando 2.17 – Movendo o diretório bin que se encontra em /home/usuario para o diretório /tmp 40 usuario@debian:~$ cp /var/log/lastlog /home/usuario/ usuario@debian:~$ ls Desktop lastlog usuario@debian:~$ usuario@debian:~$ cp -R /bin /home/usuario/ usuario@debian:~$ ls bin Desktop lastlog usuario@debian:~$ usuario@debian:~$ mv /home/usuario/lastlog /home/usuario/arquivo.txt usuario@debian:~$ ls arquivo.txt bin Desktop usuario@debian:~$ usuario@debian:~$ mv /home/usuario/bin /tmp/ usuario@debian:~$ ls /tmp/ bin keyring-8Ej8EO orbit-Debian-gdm orbit-usuario ssh-cAqMdN1467 usuario@debian:~$
  • 46. 2.4 Manipulação de contas O Linux é um sistema multiusuário sendo muito importante saber como funcionam algumas funções de administração do seu ambiente. Um sistema multiusuário caracteriza-se por permitir acessá-lo de qualquer lugar através de conexões TCP/IP ou acessar o sistema localmente através dos Terminais Virtuais, tudo simultaneamente. Onde cada usuário executando tarefas completamente independentes uns dos outros. Além dos usuários existentes, qualquer sistema operacional de rede possui grupos. Estes são conjuntos de usuários com ações em comuns. São utilizados para facilitar ações que deveriam ser executadas para cada um dos usuários. Em grupos, determinadas ações podem ser executadas apenas uma vez para um grupo que contém determinados usuários. É importante saber que usuários e grupos são identificados por um númbero único denominados de UID10 e GID11 respectivamente. O Linux utiliza um arquivo /etc/passwd para armazenar informações de seus usuários e o arquivo /etc/group para armazenar informações de seus grupos. Além destes dois arquivos existe um terceiro /etc/shadow onde são armazenadas as senhas dos usuários cadastrados no Linux. Muitas das vezes que for manipular usuários/grupos deve ter permissão para esta ação. Para tanto você deve tornar-se um super-usuário, ou seja, ter privilégios de administrador do Linux. Como comentado no item 2.1, você deve adquirir privlégios de administrador, para tanto utilize o comando su (responsável por mudar o usuário comum para administrador do Linux) como mostrado abaixo. Comando 2.18 – Tornando-se super-usuário Ao digitar o comando su será pedido a senha do usuário administrador do Linux (usuário root). Durante a digitação da senha não será mostrado nada na tela semelhante ao símbolo de senhas como asteríscos (*********). Esta é uma técnica de segurança adotada pelo sistema operacional. Após a senha ser digitada, pressione a tecla Enter, se a senha estiver correta você terá privilégios de super-usuário. Repare no comando 2.18 que o prompt de comando mudou de $ para #. Agora que somos administradores do Linux, podemos visualizar algumas informações. 10 UID: User IDentification (Identificação do Usuário) 11 GID: Group IDentification (Identificação do Grupo) 41 usuario@debian:~$ su Senha: root@debian:/home/usuario#
  • 47. Comando 2.19 – Visualizando o arquivo /etc/passwd Neste arquivo podemos visualizar alguns usuários existentes no Linux. Cada linha representa um usuário com suas informações. Ex.: usuario:x:1000:1000:usuario curso de redes,,,:/home/usuario:/bin/bash Esta linha acima mostra as informações do usuário chamado usuario onde suas informações estão separadas pelo símbolo dois pontos “:”. usuario: nome do usuário criado no Linux x: significa que o usuário possui uma senha criptografada. 1000: UID do usuário. 1001: GID do grupo. Significa que o usuário pertence a um grupo com este identificação. usuario curso de redes,,,: informações separadas por vírgula como nome completo do usuário, número do telefone, local de trabalho. /home/usuario: caminho da pasta pessoal do usuário. /bin/bash: shell que o usuário irá utilizar quando acessar o prompt do terminal Comando 2.20 – Visualizando o arquivo /etc/group O arquivo /etc/group contém os grupos existentes no Linux. Ex.: usuario:x:1000: usuario: este é o grupo chamado usuario. No Debian, quando é adicionado um usuário, se não for informado qual o grupo ele irá pertencer durante sua criação, será criado um grupo com o nome do usuário. x: significa que o grupo possui uma senha criptografada. 1000: GID do grupo. 42 root@debian:/home/usuario# cat /etc/passwd usbmux:x:104:46:usbmux daemon,,,:/home/usbmux:/bin/false Debian-gdm:x:105:109:Gnome Display Manager:/var/lib/gdm3:/bin/false usuario:x:1000:1000:usuario curso de redes,,,:/home/usuario:/bin/bash vboxadd:x:999:1::/var/run/vboxadd:/bin/false root@debian:/home/usuario# root@debian:/home/usuario# cat /etc/group Debian-gdm:x:109: netdev:x:110:usuario usuario:x:1000: vboxsf:x:1001: root@debian:/home/usuario#
  • 48. Comando 2.21 – Visualizando o arquivo /etc/shadow Aqui é possível visualizar a senha dos usuários. Ex.: gustavo: $6$hkw901RZ$nk0kabsf03v4HB/dnJouyLkpzEqjPRtjCVViLnRM7dXu2wzjA HGTST4mhLiIbF6fG3ZQFopR2bqhA1Gwxvktj1:15594:0:99999:7::: gustavo: usuário chamado gustavo. $6$hkw901RZ$nk0kabsf03v4HB/dnJouyLkpzEqjPRtjCVViLnRM7dXu2wzjA HGTST4mhLiIbF6fG3ZQFopR2bqhA1Gwxvktj1: senha criptografada do usuário gustavo (senha 123456). 2.4.1 Comando groupadd Comando responsável por criar um novo grupo no sistema operacional. groupadd [grupo] Comando 2.22 – Criando o grupo chamado redes O comando 2.22 adiciona o grupo denominado redes e logo em seguida é mostrado o grupo no arquivo /etc/group com o GID 1002. 2.4.2 Comando useradd Este comando é responsável por adicionar um usuário no Linux. É necessário utilizar alguns parâmetros para informações adicionais durante a criação do usuário. useradd [opções] [usuário] opções: -m: responsável por criar o diretório do usuário dentro de /home 43 root@debian:/home/usuario# cat /etc/shadow gustavo: $6$hkw901RZ$nk0kabsf03v4HB/dnJouyLkpzEqjPRtjCVViLnRM7dXu2wzj AHGTST4mhLiIbF6fG3ZQFopR2bqhA1Gwxvktj1:15594:0:99999:7::: mysql:!:15595:0:99999:7::: jetty:*:15595:0:99999:7::: root@debian:/home/usuario# root@debian:/home/usuario# groupadd redes root@debian:/home/usuario# cat /etc/group usuario:x:1000: vboxsf:x:1001: redes:x:1002: root@debian:/home/usuario#
  • 49. -g: adiciona o usuário a um determinado grupo. Caso este parâmetro não seja usado, será criado um grupo com o mesmo nome do usuário. Comando 2.23 – Criando o usuário gustavo e adicionando-o ao grupo redes O comando 2.23 adiciona o usuário gustavo, criando seu diretório pessoal localizado em /home/gustavo (opção -m) onde o mesmo irá pertencer ao grupo redes (opção -g nome_do_grupo). Quando é mostrado o conteúdo do arquivo /etc/passwd (cat /etc/passwd) é possível visualizar o UID do usuário (1001) e o GID (1002) que corresponde ao GID do grupo redes. Isto significa que o usuário gustavo pertence ao grupo redes. Logo em seguida é mostrado o diretório pessoal do usuário (ls /home). 2.4.3 Comando passwd O comando passwd é utilizado para mudar a senha de um determinado usuário. Quando você é administrador do Linux, é possível mudar a senha de qualquer usuário. Mas se você for um usuário comum (sem privilégios de administrador do sistema operacional) é permitido apenas mudar a própria senha. passwd [usuário] Comando 2.24 – Mudando a senha do usuário gustavo O comando acima mostra a mudança da senha do usuário gustavo. Após digitar o comando e pressionar a tecla Enter será pedido para digitar a nova senha e logo em seguida redigitar a nova senha. 44 root@debian:/home/usuario# useradd gustavo -m -g redes root@debian:/home/usuario# cat /etc/passwd usbmux:x:104:46:usbmux daemon,,,:/home/usbmux:/bin/false Debian-gdm:x:105:109:Gnome Display Manager:/var/lib/gdm3:/bin/false usuario:x:1000:1000:usuario curso de redes,,,:/home/usuario:/bin/bash vboxadd:x:999:1::/var/run/vboxadd:/bin/false gustavo:x:1001:1002::/home/gustavo:/bin/sh root@debian:/home/usuario# ls /home/ gustavo usuario root@debian:/home/usuario# root@debian:/home/usuario# passwd gustavo Digite a nova senha UNIX: Redigite a nova senha UNIX: passwd: senha atualizada com sucesso root@debian:/home/usuario#
  • 50. 2.4.4 Comando userdel Este comando é responsável por excluir um usuário do Linux. userdel [opção] [usuário] opção: -r: esta opção exclui o diretório pessoal do usuário Comando 2.24 – Excluindo o usuário gustavo e seu diretório pessoal 2.4.5 Comando groupdel Comando responsável por excluir um determinado grupo no Linux. groupdel [grupo] Comando 2.25 – Excluindo o grupo redes 2.5 Manipulação de permissões As permissões de acesso garantem uma certa proteção ao sistema de arquivos do Linux das ações de usuários ou programas mal intencionados. Isto significa que arquivos importantes não sejam alterados, apagados ou copiados por pessoas ou programas não autorizados. Comando 2.26 – Listando as permissões do arquivo.txt e Desktop A figura 2.3 mostra em detalhes o significado de cada informação listada pelo comando 2.26. 45 root@debian:/home/usuario# userdel -r gustavo root@debian:/home/usuario# ls /home/ usuario root@debian:/home/usuario# root@debian:/home/usuario# groupdel redes root@debian:/home/usuario# root@debian:/home/usuario# ls -l total 4 -rw-r--r-- 1 usuario usuario 292292 Set 28 11:03 arquivo.txt drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop root@debian:/home/usuario#
  • 51. Figura 2.3 – Permissões do arquivo.txt Analisando as permissões do arquivo.txt: como visto na figura 2.3, as permissões são separadas em 3 partes (rw- r-- r--). Antes das permissões é possível visualiar o símbolo “-”. Este primeiro símbolo significa que o objeto listado é um arquivo. Como as permissões são divididas em 3 partes, a primeira significa que o usuário dono (chamado usuario) pode ler, alterar o conteúdo e excluir o arquivo.txt (rw-). A segunda parte sifgnifica que o grupo dono (chamado usuario) pode somente ler o conteúdo do arquivo.txt (r--). Já a terceira parte significa que os outros usuários que não é o usuário dono e não pertence ao grupo dono do arquivo.txt podem somente ler o conteúdo deste arquivo (r--). Figura 2.4 – Permissões do Desktop 46
  • 52. Analisando as permissões do Desktop: como visto na figura 2.4, as permissões são separadas em 3 partes (rwx r-x r-x). Antes das permissões é possível visualiar o símbolo “d”. Este primeiro símbolo significa que o objeto listado é um diretório. Como as permissões são divididas em 3 partes, a primeira significa que o usuário dono (chamado usuario) pode visualizar o conteúdo, alterar e entrar no diretório Desktop (rwx). A segunda parte sifgnifica que o grupo dono (chamado usuario) pode somente visualizar o conteúdo e entrar no diretório Desktop (r-x). Já a terceira parte significa que os outros usuários que não é o usuário dono e não pertence ao grupo dono do Desktop podem somente visualizar o conteúdo e entrar no diretório Desktop (r-x). A tabela abaixo mostra cada uma das permissões para arquivos e diretórios. Direito Sigla Arquivos Diretórios Valor leitura r Permissão de leitura do conteúdo Visualiza o conteúdo do diretório 4 gravação w Permissão de escrita Permite criar arquivos e subdiretórios 2 execução x Permissão para que o arquivo seja executado Permite entrar no diretório 1 Tabela 2.1 – Permissões 2.5.1 Comando chmod O comando chmod (change mode) é responsável por mudar as permissões dos arquivos/diretórios. Para tanto, quando for utilizado deve-se fazer uma soma dos valores, respeitando o valor de cada direito (tabela 2.1), de cada permissão para as modificações dos direitos de acesso dos usuários donos, grupos donos e outros usuários. chmod [opção] [permissões] [arquivo/diretório] opção: -R: muda as permissões de todos os arquivos/sub-diretórios dentro do diretório permissões: são as permissões de leitura, escrita, execução onde os valores devem ser somados para o usuário dono, grupo dono e outros usuários. onde: arquivo/diretório: arquivo ou diretório que será modificada as permissões 47
  • 53. Comando 2.27 – Modificando as permissões do arquivo.txt O comando 2.27 modifica as permissões de arquivo.txt para rwxr-wr-w. Isto significa que o usuário dono pode ler, modificar o conteúdo do arquivo e executar o arquivo (caso seja um programa). O grupo dono pode ler e modificar o conteúdo. Os outros usuários podem ler e modificar o conteúdo do arquivo também. Par poder modificar as permissões houve a necessidade de fazer a soma dos valores (tabela 2.1). O valor 7 significa que o usuário dono tem a permissão rwx. O valor 5 significa que o grupo dono tem a permissão rw-. E o outro valor 5 significa que os outros usuários tem a permissão rw-. Comando 2.28 – Modificando as permissões do arquivo.txt O comando 2.28 modifica as permissões de arquivo.txt para rwxr-----. Isto significa que o usuário dono pode ler, modificar o conteúdo do arquivo e executar o arquivo (caso seja um programa). O grupo dono pode somente ler o conteúdo. Os outros usuários não tem permissão algumo sobre o arquivo. Par poder modificar as permissões houve a necessidade de fazer a soma dos valores (tabela 2.1). O valor 7 significa que o usuário dono tem a permissão rwx. O valor 4 significa que o grupo dono tem a permissão r - -. E o valor 0 significa que os outros usuários não tem permissão - - - . Comando 2.29 – Criando o diretório redes O comando 2.29 cria o diretório chamado redes e mostra em seguida as permissões deste diretório. Pode ser observado que o usuário dono é o root 48 root@debian:/home/usuario# chmod 755 /home/usuario/arquivo.txt root@debian:/home/usuario# ls -l total 4 -rwxr-xr-x 1 usuario usuario 292292 Set 28 11:03 arquivo.txt drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop root@debian:/home/usuario# root@debian:/home/usuario# chmod 740 /home/usuario/arquivo.txt root@debian:/home/usuario# ls -l total 4 -rwxr----- 1 usuario usuario 292292 Set 28 11:03 arquivo.txt drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop root@debian:/home/usuario# root@debian:/home/usuario# mkdir /home/usuario/redes root@debian:/home/usuario# ls -l total 8 -rwxr----- 1 usuario usuario 292292 Set 28 11:03 arquivo.txt drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop drwxr-xr-x 2 root root 4096 Out 10 09:51 redes root@debian:/home/usuario#
  • 54. com as permissões de visualizar o conteúdo do diretório, modificar o diretório e entrar no mesmo (rwx). O grupo dono root tem o direito de visualizar o conteúdo do diretório e entrar no mesmo (r-x). Os outros usuários podem visualizar o conteúdo do diretório e entrar no mesmo também (r-x). Comando 2.30 – Modificando as permissões de redes Já o comando 2.30 modifica as permissões do diretório redes onde o usuário dono pode visualizar e modificar o conteúdo, entrar no diretório (rwx). O grupo dono tem as mesmas permissões do usuário dono (rwx). Já os outros usuários podem somente visualizar o conteúdo do diretório e entrar no mesmo (r-x). 2.5.2 Comando chown Comando responsável por modificar o dono do arquivo/diretório. chown [opção] [usuário] [arquivo/diretório] onde: arquivo/diretório: arquivo ou diretório que será modificado seu dono usuário: usuário dono do arquivo ou diretório opção: -R: modifica o usuário dono de todos os arquivos/sub-diretórios dentro do diretório Comando 2.31 – Mudando o usuário dono do diretório redes 49 root@debian:/home/usuario# chmod 775 -R /home/usuario/redes/ root@debian:/home/usuario# ls -l total 8 -rwxr----- 1 usuario usuario 292292 Set 28 11:03 arquivo.txt drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop drwxrwxr-x 2 root root 4096 Out 10 09:51 redes root@debian:/home/usuario# root@debian:/home/usuario# chown gustavo -R /home/usuario/redes/ root@debian:/home/usuario# ls -l total 8 -rwxr----- 1 usuario usuario 292292 Set 28 11:03 arquivo.txt drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop drwxrwxr-x 2 gustavo root 4096 Out 10 09:51 redes root@debian:/home/usuario#
  • 55. 2.5.3 Comando chgrp Comando responsável por modificar o grupo do arquivo/diretório. chgrp [opção] [grupo] [arquivo/diretório] onde: arquivo/diretório: arquivo ou diretório que será modificado seu dono grupo: grupo dono do arquivo ou diretório opção: -R: modifica o grupo dono de todos os arquivos/sub-diretórios dentro do diretório Comando 2.32 – Mudando o grupo dono do diretório redes 2.6 Instalação de Programas Para fazer instalações de programas no Linux pode ser feita através do código fonte deste programa que consta basicamente em três passos: – Passo 1: executar um script (arquivo ./configure) que é responsável por verificar se as bibliotecas necessárias para o programa funcionar estão presentes no sistema operacional, verificar a arquitetura do computador (processador, memória), local onde será instalado o programa. – Passo 2: após esta configuração, o programa deve ser compilado utilizando o comando make. – Passo 3: agora deve instalar o programa utilizando o comando make install. A grande vantagem em instalar um programa através da compilação é que o mesmo fica todo customizado para a arquitetura do seu computador e sistema operacional. Uma desvantagem é que se durante a configuração for detectado que não existe uma determinada biblioteca, será necessário fazer o 50 root@debian:/home/usuario# chgrp redes -R /home/usuario/redes/ root@debian:/home/usuario# ls -l total 8 -rwxr----- 1 usuario usuario 292292 Set 28 11:03 arquivo.txt drwxr-xr-x 3 usuario usuario 4096 Set 27 17:59 Desktop drwxrwxr-x 2 gustavo redes 4096 Out 10 09:51 redes root@debian:/home/usuario#
  • 56. dwonload desta biblioteca e fazer sua compilação também. Isto pode tomar muito tempo. Uma solução viável é utilizar gerenciadores de pacotes (interface que gerenciam os programas instalados no Linux). No caso do Debian, pode-se utilizar a interface de gerenciamento de pacotes chamado aptitude. Esta inteface pode fazer o download do programa pela internet ou através de um dvd, verificar as dependências de bibliotecas (caso a biblioteca não esteja presente no Linux será instalada automaticamente) e em seguida instalar o programa. Para fazer o download de um programa através da internet ou de um dvd, o aptitude acessa um arquivo chamado sources.list que se encontra dentro do diretório /etc/apt. Este arquivo possui o caminho onde são encontrados os programas a serem instalados. Comando 2.33 – Listagem do /etc/apt/sources.list endereços para download de programas via internet. 51 # Line commented out by installer because it failed to verify: #deb http://security.debian.org/ squeeze/updates main contrib # Line commented out by installer because it failed to verify: deb-src http://security.debian.org/ squeeze/updates main contrib # Line commented out by installer because it failed to verify: #deb ://volatile.debian.org squeeze-updates main contrib # Line commented out by installer because it failed to verify: #deb-src ://volatile.debian.org squeeze-updates main contrbr deb http://ftp.br.debian.org/debian/ squeeze main contrib non-free deb-src http://ftp.br.debian.org/debian/ squeeze main contrib non-free deb http://ftp.br.debian.org/debian-security/ squeeze/updates main contrib non-free deb-src http://ftp.br.debian.org/debian-security/ squeeze/updates main contrib non-free #deb http://security.debian.org/ squeeze/updates main contrib non-free #deb-src http://security.debian.org/ squeeze/updates main contrib non-free deb http://ftp.br.debian.org/debian/ squeeze-updates main deb-src http://ftp.br.debian.org/debian/ squeeze-updates main deb http://www.debian-multimedia.org squeeze main non-free
  • 57. Comando 2.34 – Listagem do /etc/apt/sources.list endereços para download de programas via DVD. Para poder instalar um programa primeiro deve ser pesquisado o programa (aptitude search nome_do_programa) para poder identificar o nome correto para fazer a instalação. Após idendificar o nome correto, basta fazer a instalação do mesmo (aptitude install nome_do_programa). O comando 2.35 mostra um exemplo da instalação do programa chamado Wireshark. Não se esqueça de estar como administrador do Linux para fazer a instalação dos programas. Caso seja necessário fazer a desinstalação de algum programa utilize o comando aptitude remove nome_do_programa. O aptitude possui vários parâmetros além destes mostrados para o gerencimento de programas. Para saber mais, utilize o comando man aptitude (este comando abre uma página somente texto mostrando todos os parâmetros do comando). 52 # deb cdrom:[Debian GNU/Linux 6.0.5 _Squeeze_ - Official amd64 CD Binary-1 20120512-14:34]/ squeeze main deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official amd64 DVD Binary- 1 20110205-18:15]/ squeeze contrib main deb cdrom:[Debian GNU/Linux 6.0.5 _Squeeze_ - Official amd64 CD Binary-1 20120512-14:34]/ squeeze main #deb http://security.debian.org/ squeeze/updates main #deb-src http://security.debian.org/ squeeze/updates main # squeeze-updates, previously known as 'volatile' # A network mirror was not selected during install. The following entries # are provided as examples, but you should amend them as appropriate # for your mirror of choice. # # deb http://ftp.debian.org/debian/ squeeze-updates main # deb-src http://ftp.debian.org/debian/ squeeze-updates main
  • 58. Comando 2.35 – Pesquisa e instalação do programa Wireshark 53 root@debian:/home/usuario# aptitude search wireshark p wireshark - network traffic analyzer - GTK+ version p wireshark-common - network traffic analyzer - common files root@debian:/home/usuario# aptitude install wireshark Os NOVOS pacotes a seguir serão instalados: libc-ares2{a} libcap2-bin{a} libpcap0.8{a} libportaudio2{a} libsmi2ldbl{a} wireshark wireshark-common{a} 0 pacotes atualizados, 7 novos instalados, 0 a serem removidos e 0 não atualizados. É preciso obter 0 B/15,2 MB de arquivos. Depois do desempacotamento, 62,1 MB serão usados. Você deseja continuar? [Y/n/?] Pré-configurando pacotes ... Selecionando pacote previamente não selecionado libcap2-bin. (Lendo banco de dados ... 57187 ficheiros e directórios actualmente instalados.) Desempacotando libcap2-bin (de .../libcap2-bin_2.19-3_amd64.deb) ... Selecionando pacote previamente não selecionado libpcap0.8. Desempacotando libpcap0.8 (de .../libpcap0.8_1.1.1-2_amd64.deb) ... Selecionando pacote previamente não selecionado libportaudio2. Desempacotando libportaudio2 (de .../libportaudio2_19+svn20071022- 3.2_amd64.deb) ... Selecionando pacote previamente não selecionado libsmi2ldbl. Desempacotando libsmi2ldbl (de .../libsmi2ldbl_0.4.8+dfsg2-3_amd64.deb) ... Selecionando pacote previamente não selecionado libc-ares2. Desempacotando libc-ares2 (de .../libc-ares2_1.7.3-1_amd64.deb) ... Selecionando pacote previamente não selecionado wireshark-common. Desempacotando wireshark-common (de .../wireshark-common_1.2.11- 6_amd64.deb) ... Selecionando pacote previamente não selecionado wireshark. Desempacotando wireshark (de .../wireshark_1.2.11-6_amd64.deb) ... Processando gatilhos para man-db ... Processando gatilhos para gnome-menus ... Processando gatilhos para desktop-file-utils ... Processando gatilhos para menu ... Configurando libcap2-bin (1:2.19-3) ... Configurando libpcap0.8 (1.1.1-2) ... Configurando libportaudio2 (19+svn20071022-3.2) ... Configurando libsmi2ldbl (0.4.8+dfsg2-3) ... Configurando libc-ares2 (1.7.3-1) ... Configurando wireshark-common (1.2.11-6) ... Configurando wireshark (1.2.11-6) ... Processando gatilhos para menu ... root@debian:/home/usuario#
  • 59. 2.7 Exercícios 1) O que é Shell? 2) Explique as formas de utilização do shell. 3) Visite os seguintes diretórios, utilizando os comandos cd e ls. (a) /home (b) O pai do /home (use o “..”) (c) / (d) /bin (e) /usr (f) /proc (g) /usr/bin (h) Seu diretório pessoal 4) Liste o conteúdo de cada um dos diretórios acima, de dois modos: (a) Sem sair do seu diretório pessoal (b) Movendo-se primeiramente para o diretório a ser listado 5) Crie em seu diretório pessoal um diretório com nome igual ao da máquina que você está usando. Ex: patolino, catatau, etc. Mova-se para esse diretório. 6) Crie um diretório para cada um dos dias da semana. 7) No diretório destinado ao sábado, crie três subdiretórios chamados manha, tarde e noite. 8) Crie um diretório chamado “.todo dia” (todo dia precedido por um ponto) no seu diretório pessoal. 9) Liste o conteúdo de todos os diretórios criados nos exerícios anteriores. 10) Remova o diretório domingo criado no exercício . 11) Crie um diretório com o seu nome. Em seguida, altere as permissões desse diretório de forma que somente você (dono do diretório) tenha permissão de leitura, escrita e execução. Os outros usuários não devem ter nenhuma permissão (rwx------). 54
  • 60. 12) Copie para dentro do diretório criado no exercício 9 os arquivos termcap, profile, motd, issue e HOSTNAME que estão no diretório /etc. (a) Qual o tipo desses arquivos ? (b) Qual o comando que se pode utilizar para mostrar o conteúdo desses arquivos? (c) Veja o conteúdo destes arquivos, usando more, head e tail caso ele não caiba totalmente na tela. (d) Mova o arquivo hostname para o diretório “pai” do diretório atual (não utilize cp, nem rm). (e) Altere o nome desses arquivos para, respectivamente, terminal, perfil, mensagem do dia, edicao e nome da máquina. 13) Instale o editor de textos chamado "vim". 55
  • 61. Aula 3. Serviço DNS Objetivos – Conhecer a hierarquia de funcionamento do DNS – Conhecer os tipos de consultas DNS – Instalar/Configurar do Bind – Criar domínios 3.1 Introdução O Domain Name System (DNS) é um serviço de resolução de nomes de domínio, que tem a função de traduzir nomes em endereços IP e vice-versa. Ex.: o endereço de nome www.riopomba.ifsudestemg.edu.br tem o endereço IP 200.131.51.30. Os nomes de domínio são hierárquicos, com a parte mais significativa do nome à direita e o segmento mais a esquerda representa o nome de um computador individual (www.riopomba no exemplo do domínio www.riopomba.ifsudestemg.edu.br). Digitando o endereço IP do site do Campus Rio Pomba, também conseguiríamos acessar a página. Mas por motivos práticos, é muito mais fácil decorar um nome do que uma sequencia de númeors IP. Por isso a importância do serviço de tradução de nomes de domínio realizado pelo DNS. Como exemplo, abra o prompt de comando do Linux e utilize o comando chamado host12 . Comando 3.1 – Consultando o domínio www.riopomba.ifsudestemg.edu.br Neste exemplo o comando host fez uma consulta a um servidor DNS para descobrir o endereço IP do domínio www.riopomba.ifsudestemg.edu.br que neste caso possui o valor 200.131.51.30. O comando host não fez a resolução do nome de domínio para o endereço IP, quem fez esta resolução foi o serviço DNS. Ele simplesmente repassou a consulta para um servidor DNS. Mas qual servidor DNS o seu computador consultou? Como é feita a resolução de nomes para endereços IPs? Para o seu computador saber qual servidor que está utilizando um serviço de resolução de nomes (DNS), para fazer uma consulta, é necessário ter o endereço IP deste servidor cadastrado em seu sistema opercional como mostrado no comando 3.2. 12 Host : comando utilizado para fazer pesquisa DNS. 56 usuario@debian:~$ host www.riopomba.ifsudestemg.edu.br www.riopomba.ifsudestemg.edu.br has address 200.131.51.30 usuario@debian:~$
  • 62. Comando 3.2 – Arquivo /etc/resolv.conf contém o endereço IP de um servidor DNS para fazer as consultas a ele O serviço DNS utiliza a porta 53, utiliza normalmente o protocolo UDP da camada de transporte e definidos pelas RFC's13 1034 e 1035. Possui uma base de dados distribuida que é implementada em uma hierarquia de muitos servidores de nomes. Para fazer a resolução de um nome de domínio a consulta é feita da hierarquia mais alta (DNS Raiz), passando pelos servidores DNS TLD (Top Level Domain) até chegar no servidor DNS de autoridade (servidor que possui o endereço IP do endereço de nome pesquisado). Isto é mostrado na figura 3.1 (setas vermelhas) onde o cliente deseja saber o ip do endereço de nome www.google.com (IP 74.125.234.20). Figura 3.1 – Hierarquia serviço DNS. Resolução de nome www.google.com Servidores de nomes Raiz (Root Level): existem 13 servidores de nome raiz (denominados de A a M). Estes servidores identificam todos os servidores TLDs existentes. 13RFC: Request for comments 57 usuario@debian:~$ cat /etc/resolv.conf nameserver 10.0.2.2 usuario@debian:~$
  • 63. Figura 3.2 – Lista dos servidores DNS Raiz. Fonte: www.root-servers.org A figura 3.2 mostra os servidores DNS Raiz no mundo inteiro. Para consultar onde ficam os servidores DNS Raiz no Brasil acesse o site www.root- servers.org. Na página principal existe uma tabela com todos os servidores e seus locais. Servidores Top-Level Domain (TLD): responsáveis pelos domínios de alto nível como com, org, net, edu, gov e por todos os domínios de alto nível de países como br, jp, fr dentre outros. Servidores de nomes com autoridade: são servidores que possuem o registro IP de um endereço de nome como mostrado na figura 3.1 onde o servidor DNS do google.com possui este valor IP para o endereço www.google.com. 3.2 Tipos de consultas DNS Na resolução de nomes de domínios existem dois tipos de consultas DNS que são: • Consulta Recursiva: transfere a tarefa de resolução do nome para o servidor de nomes consultado (figura 3.3); • Consulta Iterativa: servidor contatado responde com o nome de outro servidor para contato (figura 3.4). 58
  • 64. Figura 3.3 – Consulta Recursiva A consulta recursiva ocorre da seguinte forma: 1. O computador chamado gustavo (sob o domínio redesead.com.br) deseja acessar o computador www.riopomba.ifsudestemg.edu.br e para isto deve saber o endereço ip do mesmo. Sendo assim, o computador faz uma solicitação ao seu servidor DNS local dns.redesead.com.br; 2. Como o servidor local não sabe o ip do domínio consultado, este faz uma requisição ao servidor de nomes raiz; 3. O servidor raiz também não sabe o endereço ip mas conhece o servidor TLD que possa ser consultado. Sendo assim, o servidor raiz faz uma requisição a este servidor TLD; 4. O servidor TLD recebe esta requisição vinda do servidor raiz. O TLD possui o endereço do servidor dns de autoridade que possui o endereço ip do domínio que está sendo consultado. Sendo assim, o TLD faz o pedido ao servidor de autoridade dns.ifsudestemg.edu.br; 59
  • 65. 5. O servidor de autoridade possui em suas configurações o endereço ip do domínio que está sendo consultado. Desta forma, retorna o resultado, com este endereço ip, ao servidor TLD que havia feita a requisição; 6. O servidor TLD de posse deste valor retorna o resultado para o servidor raiz que havia feita a requisição; 7. O servidor raiz repassa o resultado para o servidor dns local que havia feita a requisição; 8. De posse do endereço ip do domínio consultado, o servidor dns local entrega o resultado para o computador gustavo. Figura 3.4 – Consulta Recursiva A consulta iterativa ocorre da seguinte forma: 1. O computador chamado gustavo (sob o domínio redesead.com.br) deseja acessar o computador www.riopomba.ifsudestemg.edu.br e para isto deve saber o endereço ip do mesmo. Sendo assim, o computador faz uma solicitação ao seu servidor DNS local dns.redesead.com.br; 60
  • 66. 2. Como o servidor local não sabe o ip do domínio consultado, este repassa o endereço ip do servidor de nomes raiz para o computador gustavo. 3. O computador gustavo faz uma requisição ao servidor de nomes raiz; 4. O servidor raiz também não sabe o endereço ip do domínio consultado mas entrega o endereço ip do servidor TLD, para o computador gustavo, que possa ser consultado. 5. Sendo assim, o computador gustavo faz uma requisição a este servidor TLD; 6. O servidor TLD recebe esta requisição vinda do computador gustavo. O TLD possui o endereço do servidor dns de autoridade que possui o endereço ip do domínio que está sendo consultado. Sendo assim, o TLD entrega o ip deste servidor de autoridade para o computador gustavo; 7. O computador gustavo faz a requisição da resolução de nomes para este servidor de autoridade; 8. O servidor de autoridade possui em suas configurações o endereço ip do domínio que está sendo consultado. Desta forma, retorna o resultado para o computador gustavo. O exemplo mostrado na figura 3.5 usa ambas as consultas recursiva e interativa. A consulta que é feita do computador gustavo.redesead.com.br ao seu servidor dns local dns.redesead.com.br tem o comportamento recursivo, devido que o computador gustavo pede ao dns local obtenha o mapeamento em seu nome. Mas as que se seguem são interativas, pois todas as respostas são retornadas ao servidor dns local dns.redesead.com.br. Na prática, as consultas normalmente seguem o padrão da figura 3.5. 61
  • 67. Figura 3.5 – Consulta Recursiva e Iterativa 3.3 Instalando e configurando um servidor DNS Em sistemas Linux o programa mais utilizado como serviço de resolução de nomes é o BIND14 (Berkeley Internet Name Domain). Este nome surgiu devido o programa ter sido desenvolvido na década de 80 na Universidade da Califórnia em Berkeley. Para instalar este programa siga a listagem do comando 3.3. 14BIND http://www.isc.org/software/bind 62 Para fazer a instalação do BIND, é necessário ativar a imagem ISO dentro da máquina virtual. Para isto, siga o Passo 8 do item 1.3.2 Configurando uma máquina virtual.
  • 68. Comando 3.3 – Instalando o BIND9 ustilizando o comando aptitude Depois de feita a instalação (aptitude install bind9) o programa DNS será inicializado automaticamente (Starting domain name service...: bind9) com suas configurações básicas. Os arquivos de configurações do BIND9 encontram-se dentro do diretório /etc/bind/. Um destes arquivos de configurações é o /etc/bind/db.root que possui os endereços dos servidores de nomes raiz. Pois é desta forma que quando o servidor dns não souber a resolução de um determinado domínio, ele possa fazer uma requisição a um servidor raiz. O comando 3.4 mostra o conteúdo do arquivo /etc/bind/db.root com os endereços dos servidores de nomes raiz denominados de A (A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4) e B (B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201). 63 root@debian:/home/usuario# aptitude install bind9 Os NOVOS pacotes a seguir serão instalados: bind9 bind9utils{a} 0 pacotes atualizados, 2 novos instalados, 0 a serem removidos e 0 não atualizados. É preciso obter 0 B/473 kB de arquivos. Depois do desempacotamento, 1286 kB serão usados. Você deseja continuar? [Y/n/?] Pré-configurando pacotes ... Selecionando pacote previamente não selecionado bind9utils. (Lendo banco de dados ... 59020 ficheiros e directórios actualmente instalados.) Desempacotando bind9utils (de .../bind9utils_9.7.2.dfsg.P3-1.1_amd64.deb) ... Selecionando pacote previamente não selecionado bind9. Desempacotando bind9 (de .../bind9_9.7.2.dfsg.P3-1.1_amd64.deb) ... Processando gatilhos para man-db ... Configurando bind9utils (1:9.7.2.dfsg.P3-1.1) ... Configurando bind9 (1:9.7.2.dfsg.P3-1.1) ... # Starting domain name service...: bind9. root@debian:/home/usuario#
  • 69. Comando 3.4 – Conteúdo do arquivo /etc/bind/db.root O comando 3.5 mostra o conteúdo do arquivo /etc/bind/named.conf.default-zones que possui as zonas (domínios) que o servidor DNS terá autoridade sobre ele. Para poder criar a zona, utilize o editor de textos vim que foi instalado no exercício 13 da aula 2. Para tanto siga as instruções abaixo (faça igual às instruções, respeite os espaços em brancos, as letras maiúsculas e minúsculas. Estas instruções devem ser feitas em modo super usuário - root): 1. Edite o arquivo da seguinte forma: ◦ vim /etc/bind/named.conf.default-zones 2. Após digitar o comando acima (vim) e pressionar a tecla ENTER será mostrada uma tela, em modo texto com o conteúdo do arquivo named.conf.default-zones. Esta tela inicial está no modo comando (onde pode ser salvo o arquivo, pesquisar um conteúdo dentro do arquivo, sair do editor de textos). Para poder inserir alguma informação no arquivo é necessário pressionar a tecla INSERT (na parte inferior da tela será mostrada uma mensagem semelhante a – INSERÇÃO –); 3. Feito isso, vá para o final do arquivo utilizando a seta do teclado direcionada para baixo e insira as informações que estão mostradas no final do comando 3.5 denominada de zone “redesead.com.br”; 4. Após inserir estas informações devemos salvá-las, para tanto pressione a tecla ESC para voltar ao modo comando do editor 64 root@debian:/home/usuario# cat /etc/bind/db.root ; This file holds the information on root name servers needed to ; initialize cache of Internet domain name servers ; (e.g. reference this file in the "cache . <file>" ; configuration file of BIND domain name servers). ; ; This file is made available by InterNIC ; under anonymous FTP as ; file /domain/named.cache ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; ; last update: Jun 17, 2010 ; related version of root zone: 2010061700 ; ; formerly NS.INTERNIC.NET ; . 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:BA3E::2:30 ; ; FORMERLY NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
  • 70. VIM e pressione a sequencia das teclas SHIFT+: depois as letras wq para poder salvar (w) e sair (q) do editor VIM. Comando 3.5 – Inserindo a zona redesead.com.br A zona que acabou de ser inserida (redesead.com.br) possui uma configuração do tipo master (isto significa que todas as alterações de informações de nomes de computadores sob este domínio e valores ips devem ser feitos neste servidor dns). A diretiva file “/etc/bind/db.redesead” significa que deverá ser criado um arquivo chamado db.redesead dentro do diretório /etc/bind onde estarão todas as informações deste domínio como os ips dos 65 root@debian:/home/usuario# vim /etc/bind/named.conf.default-zones // prime the server with knowledge of the root servers zone "." { type hint; file "/etc/bind/db.root"; }; // be authoritative for the localhost forward and reverse zones, and for // broadcast zones as per RFC 1912 zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; zone "redesead.com.br" { type master; file "/etc/bind/db.redesead"; }; Caso durante a edição do arquivo dê algum problema e para não perder a configuração original o arquivo é recomendado que saia deste sem salvar. Para tanto, pressione a tecla ESC e depois utilize a sequencia de teclas SHIFT+: e depois os valores q! para sair (q) sem salvar (!).
  • 71. computadores sob o domínio redesead.com.br, o e-mail do administrador do servidor dns. Para fazer a configuração do arquivo db.redesead copie um arquivo de exemplo que é o arquivo /etc/bind/db.empty. Para tanto siga o comando 3.6. Comando 3.6 – Copiando/criando o arquivo db.redesead Logo após criar o arquivo tendo como base o db.empty, edite o arquivo /etc/bind/db.redesead para modificar as informações contidas nele que fique igual ao comando 3.7. Os procedimentos de inserção de informações no arquivo utilizando o comando vim são iguais ao que foi mostrado na edição do arquivo /etc/bind/named.conf.default-zones. Comando 3.7 – Editando o arquivo db.redesead Na linha que possui o primeiro símbolo @ siginifica “este servidor”, ou seja, o servidor responsável pelo registro. O IN indica que é um internet record e o SOA (Start of Authority) define o início da autoridade sobre o domínio em questão. Depois do SOA tem-se o domínio redesead.com.br. seguido do e- mail root.redesead.com.br. no formato “user.server”, para o qual as mensagens administrativas deverão ser enviadas. Nas linhas abaixo são definidos os parâmetros como: • 20121231001; Serial: número de série ou versão desse arquivo. Esse número é útil para sincronizações entre servidores. Por 66 root@debian:/home/usuario# cp /etc/bind/db.empty /etc/bind/db.redesead root@debian:/home/usuario# $TTL 86400 @ IN SOA redesead.com.br. root.redesead.com.br. ( 20121231001 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ; @ IN NS localhost. www IN A 10.0.2.15 ftp IN A 10.0.2.15 gustavo IN A 10.0.2.15 smtp IN A 10.0.2.15 pop IN A 10.0.2.15 ;Mail server IN MX 10 pop.redesead.com.br. ww2 IN CNAME www O endereço IP dos computadores do domínio redesead.com.br foi usado o valor 10.0.2.15 que é da máquina virtual que está sendo utilizada para construir a apostila. Coloque o valor igual ao endereço IP da sua máquina virtual, para tanto utilize o comando ifconfig para verificar o seu endereço IP. Ao digitar o comando e pressionar a tecla ENTER procure no resultado a sua interface de redes que deve ser “eth0” com o valor do endereço ip.
  • 72. exemplo, um servidor secundário sabe que está desatualizado e precisa sincronizar-se com seu master, quando o seu arquivo possui um número de série ou versão menor que o do seu master. Sendo assim a cada alteração nas configurações do domínio, este valor deve ser incrementado; • 604800; Refresh: indica o intervalo de tempo, em segundos, em que o servidor secundário deverá executar a verificação do número de série com o master e realizar a sincronização se necessária; • 86400; Retry: caso o servidor secundário seja impedido de contactar, por qualquer motivo, o servidor master quando o intervalo definido em “Refresh” for atingido, esse parâmetro define o tempo em que o servidor deverá fazer uma nova tentativa de contactar o servidor master. O intervalo é definido em segundos; • 2419200; Expire: o tempo máximo, em segundos, que o servidor secundário pode ficar sem contactar o servidor primário. Caso esse tempo seja atingido, o conteúdo do arquivo deve ser considerado expirado e desprezado, dessa forma, pelo servidor secundário; • 86400; Negative Cache TTL: define o valor de TTL para respostas negativas. A linha “www IN A 10.0.2.15” significa que o computador www tem o ip 10.0.2.15. Como o computador www está sob o domínio redesead.com.br o seu endereço completo é www.redesead.com.br . O mesmo são para as outras linhas como por exemplo “ftp IN A 10.0.2.15”, significando que o endereço ftp.redesead.com.br possui o ip 10.0.2.15. O valor “IN MX 10 pop.redesead.com.br.” informa que o servidor de correios eletrônicos (MX – Mail Exchange Record) tem uma preferência de resolução de nomes em relação a outros servidores de e-mails do mesmo domínio (caso exista mais de um servidor de e-mails). Quando menor o valor maior a preferência. Estes valores vão de 0 a 32.767. Além de inserir um registro com o valor do endereço IP, podemos criar apelidos para um determinado computador. A linha “ww2 IN CNAME www” significa que quando for resolvido o domínio ww2.redesead.com.br o IP será o mesmo do domínio www.redesead.com.br. Dando continuidade à configuração do serviço DNS, será preciso agora reinicializar o bind para que este aceite as novas configurações. Para tanto digite o seguinte comando /etc/init.d/bind9 restart . Após a reinicialização do bind, verifique se o mesmo está sendo executado corretamente, desta forma utilize o seguinte comando ps -aux | grep named. Este comando mostra uma lista de processos (programas que estão em execução) mas filtrando apenas o processo chamado named (que é o nome do processo do bind). Caso apareça uma mensagem semelhante a esta “bind 1148 0.0 2.8 117348 10952 ? Ssl 17:40 0:00 /usr/sbin/named -u bind” significa que o processo do bind está em funcionando corretamente. 67
  • 73. Para fazer o seu computador pesquisar o próprio servidor DNS que acabou de ser configurado, será necessário fazer uma modificação em qual servidor DNS deva ser consultado. Sendo assim, o arquivo a ser modificado é o /etc/resolv.conf. Edite o arquivo utilizando o comando vim para fazer as modificações. Troque o valor do endereço ip do nameserver para o ip da sua máquina virtual. Como mostrado no comando 3.8. Comando 3.8 – Editando o arquivo resolv.conf Salve as modificações e faça o teste usando o comando host no domínio que foi criado para verificar se está sendo feita a resolução de nomes (comando 3.9). Comando 3.9 – Fazendo a resolução do domínio www.redesead.com.br 3.4 Exercícios 1) O que foi visto na Aula 3 foi como configurar um domínio (zona) em um serviço DNS. Esta resolução é feita de forma direta, ou seja, dado o domínio o DNS faz a consulta trazendo como resultado o endereço IP. Existe também a consulta reversa que trata-se em informar o endereço IP e o serviço DNS fazer a consulta trazendo como resultado o domínio associado a este IP. O serviço de DNS reverso é importante para verificar a autenticidade se o IP atual corresponde ao endereço IP informado pelo servidor DNS. Um exemplo disso são servidores de e-mails como o provedor TERRA. Quando é enviado um e- mail para o domínio terra.com.br é feita uma consulta reversa do IP do e-mail do destinatário. Se tudo estiver correto o e-mail será entregue ao destinatário, caso contrário será negada a entrega. Isto tudo é para evitar spam. Um texto interessante sobre DNS reverso encontra-se em http://mail.terra.com.br/postmaster/dnsrev.htm. Sendo assim, configure o DNS reverso do domínio redesead.com.br. Para tanto pesquise na Internet como fazer esta configuração, existem vários tutoriais explicando sobre o assunto. É muito semelhante com a configuração da resolução direta que fizemos durante as aulas. 68 root@debian:/home/usuario# vim /etc/resolv.conf nameserver 10.0.0.15 root@debian:/home/usuario# host www.redesead.com.br www.redesead.com.br has address 10.0.2.15 root@debian:/home/usuario#
  • 74. Aula 4. Serviço WEB Objetivos – Conhecer os conceitos de funcionamento do serviço WEB – Instalar/Configurar do Apache – Aprender a hospedar um site – Analisar o histórico de acesso ao servidor WEB 4.1 Introdução Até a década de 1990, o acesso a Internet era feito mais por pesquisadores, acadêmicos e estudantes universitários para transferir arquivos entre computadores, enviar e receber mensagens. O uso da Internet era conhecido mais nas comunidpades acadêmicas. Desta forma no início dos anos 90 surgiu uma aplicação conhecida como World Wide Web (www) mudando a forma de como as pessoas interagem dentro e fora de seus ambientes de trabalho. O serviço Web é responsável por disponibilizar as páginas HTML15 (sites) que acessamos quando estamos conectados a Internet. A comunicação acontece utilizando o protocolo HTTP (HyperText Transfer Protocol), usando a porta 80. Este protocolo é definido pela RFC 1945 e 2616. O acesso se dá através do uso de um navegador como o Mozilla Firefox, Microsoft Internet Explorer, Google Chrome (lado cliente) e um servidor Web (programa servidor). Este lado servidor possui vários programas servidores responsáveis por disponibilizarem páginas HTML. Os programas mais conhecidos são o Microsoft IIS16 e Apache HTTP Server17 . A empresa BuiltWith, sediada na Austrália, faz medições do uso de determinados programas. Na figura 4.1 é mostrada a popularidade do programa Apache HTTP Server. Esta estatística foi feita em 21 de dezembro de 2012 onde o Apache se destaca em primeiro lugar com 52.11%, contra 18,73% do IIS e 9,25% do IIS7. O programa Apache HTTP é um dos principais responsáveis pela difusão de sistemas Linux, também podendo ser usados em plataformas Microsoft Windows. 15 HTML: HyperText Markup Language 16 Microsoft IIS: http://technet.microsoft.com/pt-br/magazine/2008.07.iis7.aspx 17 Apache HTTP Server: http://httpd.apache.org/ 69
  • 75. Figura 4.1 – Estatísticas de uso de servidores web. Fonte: trends.builtwith.com/Web-Server 4.2 Instalando e Configurando o Servidor Web O Apache HTTP Server é um dos projetos mantidos pela The Apache Software Foundation18 . A fundação provê um suporte organizacional, legal e financeiro para um grande número de projetos de softwares de código fonte aberto. O servidor web Apache pode responder por vários sites através de um recurso conhecido como servidor virtual (virtual server). Este servidor virtual é composto por três informações que são: endereço IP, porta de conexão http e um cabeçalho (header). Como vários sites de domínios diferentes podem ser disponibilizados em um mesmo servidor, o valor IP e a porta de conexão http acabam sendo o mesmo, o que difere é o header. Sendo assim podemos ter www.redesead.com.br, www.teste.com.br, www.outrodominio.com.br, todos os três sites no mesmo servidor web (IP e porta padrão iguais) mas com headers diferentes (domínios diferentes). Para fazer a instalação do Apache siga as instruções do comando 4.1. Comando 4.1 – Instalação do servidor web Apache No comando 4.1 serão instalados o servidor Apache que está na versão 2.x.x, o módulo PHP19 para o Apache (módulo responsável pela interpretação 18The Apache Software Foundation: http://www.apache.org/foundation/ 19 PHP (PHP: Hypertext Preprocessor): http://php.net 70 Para fazer a instalação do Apache, é necessário ativar a imagem ISO dentro da máquina virtual. Para isto, siga o Passo 8 do item 1.3.2 Configurando uma máquina virtual. root@debian:/home/usuario# aptitude install apache2 libapache2-mod-php5 mysql-server-5.1 php5-mysql
  • 76. de sites dinâmicos desenvolvidos em PHP), o servidor de bando de dados MySQL20 e o módulo PHP responsável por fazer comunicação com o MySQL. Depois de ter instalado Apache, reinicialize o serviço web para que o Apache aceite as configurações do PHP (comando 4.2). Comando 4.2 – Reinicializando o Apache Após a instalação, vamos fazer o teste se o servidor está funcionando e interpretando o PHP. O primeiro teste é referente se o Apache está funcionado, para isto abra o navegador de internet (localizado em Aplicativos/Internet/Navegador Web Iceweasel) e digite no local de endereços do navegador localhost21 . Assim irá aparecer uma mensagem semelhante à figura 4.2. Figura 4.2 – Mensagem do servidor Apache Para verificar se o Apache “interpreta” páginas escritas em PHP siga as instruções do comando 4.3 para criar um arquivo chamado teste.php e insira o conteúdo como mostrado no comando 4.4. Comando 4.3 – Criando/editando arquivo teste.php 20 MySQL: http://www.mysql.com 21 Localhost: significa o endereço do próprio computador 71 root@debian:/home/usuario# /etc/init.d/apache2 restart root@debian:/home/usuario# root@debian:/home/usuario# vim /var/www/teste.php root@debian:/home/usuario#
  • 77. Comando 4.4 – Criando/editando arquivo teste.php As linhas “<?php” e “?>” significam que tudo que estiver entre elas são comandos PHP para serem interpretados pelo módulo libapache2-mod-php5 que foi instalado com o Apache. A função phpinfo() é responsável por gerar uma página HTML com as informações do servidor Apache e os módulos que estão instalados e suportados nele. Os procedimentos de inserção de informações no arquivo utilizando o comando vim são iguais ao que foi mostrado na edição do arquivo /etc/bind/named.conf.default-zones. Depois de salvar as informações, entre no navegador de internet e digite o seguinte endereço localhost/teste.php. A figura 4.3 mostra o resultado do site. Figura 4.3 – Resultado da página teste.php 4.3 Preparando o servidor web para hospedar um site Como foi descrito no item 4.2, o servidor Apache consegue hospedar (responder) por mais de um site de domínios diferentes. Desta forma iremos aprender neste item como fazer este tipo de configuração. Iremos utilizar o endereço www.redesead.com.br do domínio criado na aula 3. Para começar a fazer a configuração do site www.redesead.com.br será necessário copiar o arquivo de exemplo /etc/apache2/sites-available/default renomeando para /etc/apache2/sites-available/redesead.conf como mostrado no comando 4.5. 72 <?php phpinfo(); ?>