Documente Academic
Documente Profesional
Documente Cultură
Histrico
1987 - Andrew Tanenbaum cria um clone do Unix, designado Minix, para fins educativos. 1991 - Linus Torvalds, estudante da University of Helsinki, cria derivado do Minix para PC 386.
Linus + Unix = Linux
Histrico
1992 - verso 0.99 incorpora GNU (grupo de desenvolvimento de software livre, criado em 1983 por Richard Stallman do MIT) passando a designarse Linux/GNU. 1994 - a verso 1.0 foi disponibilizada 1995 - Verso 1.2 portada para computadores Digital e SUN 1998 - IBM, Compaq e Oracle anunciam apoio ao Linux. Desenvolvida a primeira interface grfica KDE.
GNU/Linux
Com a unio do Projeto GNU, criado por Richard Stallman, e o Kernel Linux, desenvolvido por Linus Torvalds, surgiu o que hoje conhecemos como GNU/Linux
Caractersticas
Convive com outros sistemas sem nenhum tipo de conflito (Mac, Windows) no mesmo computador; Multitarefa real(executa vrias tarefas em paralelo) e multiusurio; Suporte nativo a mltiplas CPUs; Vulnerabilide a vrus, trojans prxima a zero; Exige poucos recursos; Multiplataforma ;
Distribuies GNU/Linux
Kernel, Linux, Softwares GNU e outros aplicativos que so desenvolvidos por outras comunidades ou grupos Distribuies Livres: Sem fins lucrativos
Debian, Ubuntu, Slackware, CentOS...
Distribuies GNU/Linux
Mas, por que tantas distribuies?
Arquitetura
USURIOS APLICAES SHELL
Arquitetura: Kernel
Ncleo do sistema operacional Principais funes:
Deteco de hardware Gerenciamento de entrada e sada Manuteno do sistema de arquivos Gerenciamento de memria e swapping Controle da fila de processos
Finalizar um comando
Sistema de Arquivos
Forma como o Sistema Operacional organiza os dados Principais sistemas de arquivos:
Ext2 Ext3 Ext4 XFS UFS ReiserFS
Estrutura de diretrios
No Windows os discos e parties aparecem como unidades C:, D:, E: .... Alm disso, os arquivos de sistemas ficam geralmente nas pastas C:/Windows e C:/Arquivos de programas J no Linux, tudo fica organizado num diretrio raiz chamado de / (barra) Os arquivos de configurao so textos e os dispositivos de hardware so referenciados atravs de links.
Estrutura de diretrios
Estrutura de diretrios
Diretrio / /home /bin /usr /boot /dev Descrio Diretrio raiz, onde todos os outros diretrios so armazenados Armazena os arquivos dos usurios Armazena executveis de alguns comandos essenciais Armazena executveis e bibliotecas dos principais programas Armazena kernel e alguns arquivos usados pelo gerenciador de boot Armazena links para dispositivos de hardware
/etc
/var /proc
Tipos de Arquivos
Estrutura de dados mantida pelo kernel Tipo do arquivo, dono, grupo e permisses Datas de criao ou da ltima modificao Nmero de links para esse arquivo Tamanho do arquivo Endereo no disco rgido
Tipos de Arquivos
Tipo do arquivo
Nome do arquivo
Hard link count
bin 85924
Tamanho em bytes
Sep 27 2003 /usr/bin/su
-rwxr-xr-x
root
Tipos de Arquivos
Tipo de Arquivo Arquivo normal Diretrio Arquivo de dispositivo orientado a caractere Arquivo de dispositivo orientado a bloco Socket Descrio Programas executveis, figuras, arquivos de textos, comandos Pasta que contm qualquer tipo de arquivo Arquivo que a transferncia de/para o dispositivo realizada caractere a caractere Smbolo* d c
Arquivo que a transferncia feita em b blocos de caracteres, kernel faz o buffer (HD) Utilizados para a comunicao entre os processos (TCP/IP) s
Hard Link
Symbolic link
Tipos de Arquivos
Dispositivos de armazenamento
No Linux, os dispositivos so acessados atravs de arquivos, numa metodologia diferente de outros sistemas, assim como todos dispositivos, o que muitas vezes, confunde o usurio. Todos dispositivos se encontram na pasta /dev/. Exemplos:
/dev/sound: Placa de Som; /dev/eth0 : Placa de Rede; /dev/modem: Placa de Modem;
Dispositivos de armazenamento
Memria SWAP
A Memria Swap, nada mais que a rea de memria de troca, comumente conhecida com Memria Virtual. Sua funo manter os registros do processador salvos no disco, quando no h espao disponvel na memria fsica.
Permisses de arquivos
dono outros
1
read (r) write (w) execute (x)
0
grupo
= 751
Acesso
r w x
Iniciando o Linux....
No Linux, o setor de boot normalmente criado por um gerenciador de inicializao (um programa que permite escolher qual sistema operacional ser iniciado). Deste modo podemos usar mais de um SO no mesmo computador (como o Windows e Linux). Os gerenciadores de inicializao mais usados para Linux o LILO e o GRUB.
Iniciando o Linux....
Aps o carregamento do sistema pelo gerenciador de inicializao, o sistema estar apto a receber comandos do usurio aps o login, seja por modo Texto ou Grfico.
Reiniciando
O sistema pode ser reinicializado se necessrio, utilizando o conj. de teclas: CTRL + ALT + DEL Ou digitando no shell com permisso de administrador:
# reboot
ou
now # shutdown -rr
Desligando
O sistema pode ser desligado utilizando os comandos, com permisso de administrador: # halt ou # shutdown h now ou # poweroff Ateno: importante, se o sistema no desligar automaticamente, observar uma mensagem semelhante System Halted. Power Down. Para que no haja danos ao disco rgido.
Exerccio
1. 2. 3. 4. 5. 6. 7. 8. Como e quando foi criado o Sistema Operacional Linux? Crie um conceito sobre GNU/Linux. Quais as principais caractersticas do Linux? Por que tantas distribuies Linux? O que Shell? Para que serve o Crtl + D? Quais os principais diretrios do Linux? Cite os principais tipos de arquivos do Linux? Que informaes pode ser obtida a partir do arquivo:
drwxr-xr-x 5 analista analista 4,0K Fev 25 09:11 Maildir
9. Qual a funo da memria SWAP? 10. Que comandos so utilizados para desligar o Linux?
Exerccio
1. Identifique qual o diretrio atual do shell. 2. Ir para o diretrio /usr/share e depois voltar para o diretrio /usr. 3. Listar o contedo do diretrio /etc. 4. Crie o arquivo linux.txt em /home/ifpi, depois mova-o para o diretrio /tmp. 5. Crie o diretrio estudo dentro de /tmp, copie alguns arquivos dentro dele e depois remova esse diretrio. 6. Encontre o arquivo messages atravs do comando find, depois visualize o seu contedo. 7. Crie um arquivo qualquer com o editor vim, altere o dono desse arquivo, por ltimo modifique sua permisso para 755.
Deletar um usurio
# deluser nathan
Matando um processo
# ps 301 pp0 S 0:30 ssh # kill -9 301 # kill STOP 301
Compactador Livre
# gzip backup.tar backup.tar.gz
Descompactador Livre
# gunzip backup.tar.gz
Comandos de Edio
i inserir
# vim /etc/issue.net
Comandos de Localizao
/palavra pesquisar determinada palavra em todo o texto
Comandos de Execuo
:wq ou :x Salva e sai do documento em edio :w Salva o documento em edio :q Sai do editor :q! Sai sem salvar as alteraes
Verificar as rotas
# route n # route add default gw 192.168.100.254
Hora e data
# date Qua Jun 9 10:53:16 BRT 2010 # date 060910502010
Exerccio
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Crie um usurio com seu nome e depois altere a senha. Liste os usurios ativos no sistema. Liste os processos ativos na mquina, escolha um processo que no seja do sistema depois mate-o. Copie vrios arquivos para o diretrio /home/ifpi, depois junte e compacte todos criando um arquivo estudo.tar.gz. Descompacte o arquivo estudo.tar.gz Veja o manual dos comandos ifconfig, passwd e locate. Crie um arquivo qualquer com o editor vim e faa algumas edies. Liste as configuraes das interfaces de rede. Verifique se o endereo ip 192.168.2.1 est ativo. Veja os pontos de montagem do linux. Altere a data do sistema.
DHCP O que ?
DHCP - Dynamic Host Configuration Protocol um protocolo de servio TCP/IP que oferece configurao dinmica de terminais, com concesso de endereos IP de host e outros parmetros de configurao para clientes de rede.
DHCP Funcionamento
1. Host envia um pacote broadcast com um pedido DHCP 2. Servidor DHCP que capturar (receber) este pacote ir responder com um pacote com configuraes onde constar, pelo menos, um endereo IP, uma mscara de rede, tempo de expirao e outros dados opcionais, como o gateway da rede, servidores de DNS, nome do domnio, etc.
DHCP Instalao
Parar o servio:
# /etc/init.d/dhcp3-server stop
DHCP Configurao
O Arquivo de configurao do servio :
# nano /etc/dhcp3/dhcpd.conf Exemplo:
default-lease-time 600; max-lease-time 7200; authoritative; subnet 10.10.10.0 netmask 255.255.255.0 { range 10.10.10.10 10.10.10.250; option routers 10.10.10.254; option domain-name-servers 189.17.149.132, 189.17.149.134; option broadcast-address 10.10.10.255}
DHCP Configurao
default-lease-time: controla o tempo ( em segs) de renovao dos endereos IP. Verifica se as estaes esto on-line; max-lease-time: tempo (em segs) mximo que uma estao pode ficar com um end. IP (utilizado qdo tem mais host e menos IPs); Authoritative: usar se o servidor DHCP o servidor oficial da rede local;
DHCP Configurao
Subnet: Define os parmetros da rede interna (rede, mscara, dns, range,...) Range: Faixa de endereos IPs que sero alocados para as estaes. Retira os IPs que tero seus endereos fixos. Option-routers: Endereo do default gateway da rede (prpria int. DHCP). Option-domain-name-server: Servidores de DNS que sero usadas pelas estaes (separados por vrgula e sem espao).
DHCP Configurao
Definindo a placa de rede que ir funcionar o DHCP:
# nano /etc/default/dhcp3-server Altere a linha: INTERFACES="eth0"
DHCP Configurao
Caso seja necessrio definir mais de uma faixa de endereos IPs em placas diferentes devemos:
Definir a faixa e as opes da outra rede com o parmetro subnet no dhcpd.conf Acrescentar a nova interface em dhcp3-server separado por um espao: Ex: INTERFACES="eth0 eth1"
DHCP Configurao
Endereos IPs podem ser fixados para algumas estaes como:
Impressora, gerncia, cmera IP, PC do administrador da rede....
Esses endereos IPs no devem ficar na faixa de endereos definidos no range, pois podem ocorrer conflito de IPs na rede
DHCP Configurao
Ex. de endereos fixos:
Host Impressora { Hardware ethernet 00:00:00:00:AF:00; Fixed-address 10.0.0.5; } Host Admin { Hardware ethernet 00:00:00:00:00:AF; Fixed-address 10.0.0.5; }
Atualizar o dhcp
# dhclient eth0 #/etc/init.d/networking restart
Exerccio
Crie um servidor DHCP com as seguintes caractersticas:
default-lease-time 300; max-lease-time 8000; range 10.100.0.10 10.100.0.250 gateway 10.100.0.1 servidor dns 189.17.149.132, 189.17.149.134 Defina a interface eth3 Fixe a ip ao mac:
00:60: DC:00:00:AF 10.100.0.9
SERVIOS DNS
DNS O que ?
DNS Domain Name Sever um servidor responsvel pela traduo de nomes (domnios) em endereos IP e viceversa, ou seja, transforma um endereo IP num nome de domnio. BIND um dos servidores de DNS mais utilizados no mundo.
DNS Instalao
Para instalar o BIND verso 9:
# aptitude install bind9 dnsutils
Com isso sero instalados os pacotes necessrios para a configurao do DNS, como libbind9, libdns, entre outros. O Diretrio /etc/bind ser criado, onde estaro os principais arquivos de configurao do BIND.
DNS - Configurao
Os principais arquivos de configurao so:
Named.conf : principal arquivo (geralmente no alterado) db.local, db.0, db.255 e db.127 : zonas de loopback (Tb no alterado) Zones.rfc1918 : define os endereos reservados
10.0.0.0 a 10.255.255.255 (10/8 prefix) 172.16.0.0 a 172.31.255.255 (172.16/12 prefix) 192.168.0.0 a 192.168.255.255 (192.168/16 prefix)
DNS - Configurao
db.root : define os root servers, ou seja, os servidores DNS raiz (13 servidores espalhados pelo mundo). named.conf.options : arquivo com as opes de configurao do bind. Named.conf.local: onde vo ser definidas as zonas diretas e inversas da organizao. rndc.key : chave MD5 do servidor.
DNS - Configurao
Named.conf
Zone . -> zona que aponta para os roots servers Zone localhost , Zone 127.in-addr.arpa, Zone 0.in-addr.arpa, Zone 255.in-addr.arpa -> Zonas direta e inversa local Include named.conf.options e named.conf.local
DNS - Configurao
Named.conf.options
Listen-on : Interface e porta que o servidor ir responder as consultas DNS. Listen-on-v6: Ativa o BIND para escutar consultas IPv6 especificando a interface e a porta Auth-nxdomain: permite ou no que o servidor responder de forma autoritativa (default no); Forwarders: Que servidor DNS deve ser consultado antes de consultar os roots servers
DNS - Configurao
Para a configurao de um novo domnio teremos que configurar a zona direta que traduz nomes em endereos IP, e a zona inversa que faz o contrrio. Para isso as zonas devem ser definidas no arquivo named.conf.local.
DNS - Configurao
Definindo as zonas diretas e inversas: # nano /etc/bind/named.conf.local
//Zona direta do saraiva.com.br zone "saraiva.com.br" { type master; file "/etc/bind/saraiva.zone"; notify yes; }; //Zona inversa do saraiva.com.br zone 2.168.192.in-addr.arpa" { type master; file "/etc/bind/saraiva.zone.rev"; };
Serial: usa-se o formato AAAAMMDDXX para indicar o nmero serial que deve ser incrementado toda vez que o registro for alterado.
DNS - Teste
Reiniciar o BIND
Editar o arquivo /etc/resolv.conf colocando nameserver <ip do servidor> # /etc/init.d/bind9 restart
DNS - Teste
# nslookup
>www.saraiva.com.br >192.168.2.173 >www.uol.com.br
# dig @e.root-servers.net # dig pop-pi.rnp.br @200.137.160.130 Site para testar suas configuraes
http://www.dnsstuff.com/
DNS - Secundrio
Definir o DNS secundrio no arquivo de zonas do DNS primrio:
Adicione a linha nas zonas direta e inversa: @
IN
NS
dns2.saraiva.com.br.
DNS - Secundrio
Editar o arquivo named.conf.local adicionando as zonas # nano /etc/bind/named.conf.local
zone "saraiva.com.br" { type slave; file "/etc/bind/saraiva.zone"; masters {192.168.2.173;}; };
DNS - Secundrio
# /etc/init.d/bind9 restart Verificar se os arquivos de zonas foi copiado do servidor primrio para o secundrio:
# cd /etc/bind # ls l
DNS - Segurana
Esconder a verso do BIND
Verificar a verso: # dig txt chaos version.bind Editar o arquivo /etc/bind/named.conf.options Colocar: version none; Testar novamente!!!
allow-transfer Especificar que hosts so permitidos receber transferncias de zonas do servidor (zona direta)
Exerccio
Crie um servidor DNS com o domnio:
<seu_sobrenome>.com.br Adicione um servidor www.<seu_sobrenome>.com.br
SERVIOS DNS
WEB O que ?
WEB ou WWW World Wide Web Um servidor web um programa responsvel por disponibilizar pginas, fotos, ou qualquer outro tipo de objeto ao navegador do cliente Apache um servidor Web extremamente configurvel, robusto e de alta performance e com cdigo fonte disponvel gratuitamente via Internet.
Apache2 - Caractersticas
Suporta diversos mdulos um dos servidores WEB mais utilizados no mundo Possui mdulos de autenticao como mod_acess, mod_auth e mod_digest Permite a configurao de hosts virtuais e segurana SSL
Apache2 - Instalao
Para instalar use:
# aptitude install apache2 apache2-doc apache2utils
Apache2 - Configurao
O arquivo de configurao do apache2 o /etc/apache2/apache2.conf Ele deve ser editado para configurao de um site. Veremos alguns opes do apache2.conf # nano /etc/apache2/apache2.conf
Apache2 - Configurao
ServerRoot: Diretrio do apache Timeout: tempo (segundos) para timeout DocumentRoot: Indica o local onde dever ser colocada as pginas KeepAlive: Permite vrias requisies em cada conexo TCP. Mantenha ativo (ON) MaxKeepAliveRequests: Nmero mximo de requisies por conexo KeepAliveTimeout: Nmero de segundos que o servidor espera para a prxima requisio do mesmo cliente e na mesmo conexo. AcessFileName: Controla o nome do arquivo onde estaro as definies do controle de acesso a diretrios especficos.
Apache2 - Configurao
Criando sites virtuais baseados em nomes:
No apache2 as configuraes especficas de cada site virtual ficam em /etc/apache2/sites- available # cd /etc/apache2/sites-available # cp default saraiva # nano saraiva
Apache2 - Configurao
Criando site (Cont...):
Altere as linhas:
Se existir, comente a linha NameVirtualHost * VirtualHost * Adicione ServerName www.saraiva.com.br Alterar DocumentRoot /var/www/saraiva Se existir, Comentar o Redirect
Salve o arquivo
Apache2 - Configurao
#NameVirtualHost * <VirtualHost *> ServerName www.saraiva.com.br ServerAdmin webmaster@saraiva.com.br DocumentRoot /var/www/saraiva <Directory /> Options FollowSymlinks AllowOverride None </Directory> <Directory /var/ww/saraiva > Options Indexes FollowSymlinks MultiViews AllowOverride None Order allow,deny allow from all # RedirectMatch </Directory>
Apache2 - Configurao
Criando site (Cont...):
Habilitando o site: # a2ensite saraiva Para testes, altere o arquivo /etc/hosts:
127.0.0.1 www.saraiva.com.br
Copie o index.html para /var/www/saraiva /etc/init.d/apache2 reload Abra um navegador e acesse o site. O que apareceu???
Apache2 - Configurao
Criando outro site virtual:
# cd /etc/apache2/sites-available # cp saraiva sousa # nano sousa Altere as linhas: ServerName www.sousa.com.br DocumentRoot /var/www/sousa Directory /var/www/sousa
Apache2 - Configurao
Criando outro site virtual(cont..):
Habilitando o site: # a2ensite sousa Acrescente a linha no arquivo /etc/hosts:
127.0.0.1 www.sousa.com.br
/etc/init.d/apache2 reload Copie um index para o /var/www/sousa Acesse agora o site: www.sousa.com.br Acesse os dois sites ao mesmo tempo
Apache2 - Configurao
Para alterar a porta padro do apache mude no arquivo /etc/apache2/ports.conf . Para permitir diferentes tipos de index configure em apache.conf a seguinte linha como:
DirectoryIndex default.php index.html index.htm index.shtml index.cgi index.pl index.php index.xhtml
Apache2 - Configurao
Proteger uma pgina com senha(Autenticao):
# htdigest -c /etc/apache2/.usuarios Acesso nathan Ser pedido uma senha e confirmao Cria-se um arquivo chamado usuarios com a conta dos usurios que tero acesso pgina e no grupo Acesso. Acrescente o mdulo Digest
# a2enmod auth_digest
Apache2 - Configurao
Proteger uma pgina com senha (cont):
Acrescente as seguintes linhas em /etc/apache2/apache2.conf <Directory /var/www/sousa> Options Indexes FollowSymLinks MultiViews AllowOverride None Order deny,allow AuthName "Acesso" AuthType Digest AuthUserFile /etc/apache2/.usuarios Require valid-user </Directory>
Apache2 - Configurao
Para colocar uma autenticao somente numa pasta do site:
Acrescente as seguintes linhas em /etc/apache2/apache2.conf <Directory "/var/www/sousa/estatisticas"> AllowOverride None Order deny,allow Allow from all AuthType Digest AuthName Acesso" AuthUserFile "/etc/apache2/.usuarios" Require valid-user </Directory>
Apache2 - Configurao
Autorizao (permitir ou no o acesso):
Acrescentar as seguintes linhas no apache2.conf <Directory /var/www/saraiva > Order allow, deny Allow from all
Deny from 192.168.1.110
</Directory>
Apache2 - Configurao
Autorizao:
Apache2 - Configurao
Customizado as respostas de erro!
Caso no existe o documento acessado: Ex: www.floriano.ifpi.edu.br/errao.html Resposta: HTTP 404 Not Found Consertando isso.... # nano /etc/apache2/apache2.conf Descomente e modifique em:
ErrorDocument 404 Documento no encontrado! Por favor, solicito a vossa senhoria que digite novamente o endereo!
Apache2 - Desempenho
Mdulo prefork:
Mais rpido, porm sobrecarrega a mquina aumentando o consumo da memria pois ele inicia um processo para cada conexo
Mdulo worker:
Menos rpido, porm exige menos recursos da mquina pois utiliza threads compartilhando recursos e consumindo menos memria
Apache2 - Desempenho
KeepAlive: Aumenta a performance em documentos HTML com muitas imagens. MaxKeepAliveRequests: Manter um valor alto para uma performance mxima. O valor 0 permite uma quantidade ilimitada.
Apache2 - Desempenho
ab - Apache Benchmarcking - Ferramenta de medida de desempenho do servidor Web Apache. No testa o carregamento de css, javascript, imagens e no leva em considerao o cache que um browser faria, por exemplo. ab -n 300 -c 50 http://www.saraiva.com.br
Requests per second: 52.61 [#/sec] (mean) Time per request: 19.006 [ms] (mean, across all concurrent requests)
DICA
Teste o design web em diferentes browers:
http://browsershots.org/
Exerccio
Crie um site qualquer; Adicione uma senha para acesso a uma pasta do seu site: admin