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

Faculdades Ruy Barbosa

Ps Graduao em Redes
Hands-on administrao UNIX

Prof: Ivo Peixinho


Introduo
O que UNIX?
Histrico
1969 - UNIX foi criado por Ken Thompson nos Laboratrios Bell
( AT&T ), para um computador PDP-7 em Assembler
Logo aps o UNIX foi escrito em Linguagem C e disponibilizado em
1973 para as instituies acadmicas
Principais plos de desenvolvimento
Laboratrios Bell - System III, System V
Universidade Berkeley - BSD ( Berkeley Software Distribution )
Introduo
1988 - Open Software Foundation - OSF
Constituir padres para facilitar o uso, gerncia e
desenvolvimento para os UNIXs
CDE - Common Desktop Environment
UNIX: Sistema multitarefa e multiusurio
Modo texto predominante
Desenvolvimento de ambientes grficos
X-Windows
Motif
CDE
Introduo
UNIX Hoje:
Diversos sabores
AIX

FreeBSD, BSDI, NetBSD, OpenBSD

Solaris, SunOS

HP-UX

Digital UNIX

SCO UNIX

Linux
Linux
Implementao do UNIX
Desenvolvido por um estudante Finlands e
diversos colaboradores na Internet
Cdigo fonte aberto para qualquer pessoa sugerir
modificaes
Atualmente um sistema estvel, e compatvel
com diversos tipos de hardware e software
Linux
Em 1991 Linus Torvalds desenvolve o kernel do Linux e
programadores voluntrios desenvolveram o restante para
compor o Sistema Operacional ( suporte para hardware,
linguagens de programao, interfaces grficas, programas
auxiliares etc)
Linux = Kernel + Programas
Distribuies
Linux = Kernel + Programas
Programas que utilizam os recursos do kernel
Distribuio Linux: Pacote que envolve o kernel do
linux e os programas
Diversidade de distribuies
Slackware
Redhat
S.u.S.e
Conectiva Guarani
OpenLinux, CorelLinux, etc.
Distribuies
Kernel x Distribuies
Kernel
Diversas verses comuns em todas as distribuies

Kernel verso x.y.z


Atualmente na verso 2.4.7
Y indica se o kernel de desenvolvimento ou estvel
Nmero par Kernel estvel
Nmero mpar Kernel Instvel
Verso da distribuio != Verso do Kernel!!
Ex: Slackware 8.0 com kernel 2.2.17
Distribuies
Slackware
www.slackware.org
Uma das primeiras distribuies Linux, criada
em Abril de 1993
Hoje se encontra na verso 8.0
Mantida por Patrick Volkerding
Distribuies
Red Hat
www.redhat.com
Distribuio voltada para o mercado comercial
Atualmente na verso 7.1
Possui facilidades como o RPM, um
gerenciador de pacotes criado pela prpria
RedHat
Distribuies
Suse
www.suse.com
Distribuio mantida pela Suse gmbh, empresa
alem.
Atualmente na verso 7.2, possui distribuies
especficas para outras plataformas como
PowerPC e /390
Bastante usada no meio cientfico
Herdou do RedHat o uso de RPMs
Distribuies
Conectiva
www.conectiva.com.br
Atualmente na verso 6.0
Desenvolvido pela conectiva, uma empresa de
Curitiba, a partir de um acordo com a RedHat
Possui traduo de documentao e manuais,
alm de suporte a teclados e monitores
brasileiros
Distribuies
Outras distribuies
Debian
Corel Linux
Caldera
Mandrake
Immunix
Turbo Linux
Caractersticas
Caractersticas do Linux
Multitarefa Multiprocessamento
Multiusurio Processamento simtrico
Multiplataforma Cdigo aberto, aderente ao
POSIX
Modo protegido Desenvolvimento comunitrio

FREEWARE
Instalao
Instalando o Linux
Checklist inicial
Boot pelo CD
Disco de Boot

Instalando o sistema
Modo expert ou normal
Logon
Efetuando o logon
Permite acesso ao ambiente
Necessidade de autenticao
login e senha
Cuidado na escolha da senha
Prompt de comandos
Indicao de que o sistema est pronto
Possibilidade de entrada de comandos
Linux interagindo com o usurio
Logon
Logon
Aps a autenticao do logon iniciado um shell para o
usurio.
Shell um ambiente de entrada e sada de dados,
execuo de comandos e interface com o SO.

O primeiro logon deve ser com o usurio root


O root o administrador do sistema - superusurio
Consoles
Consoles
Linux vm com 6 consoles pr-configurados no
modo texto.
Cada console um ambiente (terminal)
independente
Alternar entre consoles : Alt+F1 at Alt+F6
Comandos de ajuda
man
provm informao sobre o tpico especificado
Section
sintaxe: man (section) tpico
1 Commands
2 System Calls
3 Subroutines
4 Special Files
5 File Formats

apropos (tpico) 7
8
Macro Packages and Conventions
Maintenance

listagem de comandos relacionados com o tpico especificado


Shell
Propsito dos Shells
Interface do usurio com o UNIX
Interpretador de linguagem de comandos :
Interpreta o comando que se d entrada
Seleciona e executa um comando ou programa
Provem resultados em tela ou arquivo
Shells disponveis no Linux :
C Shell
Bourne Shell
Korn Shell
Bourne Again Shell
Shell
Sumrio das caractersticas dos Shells
Bourne Korn
Caracterstica Shell C Shell Shell Funo
Programao Shell X X X Linguagem de programao com loop e if
Signal trapping X X X Interrupes Traps e sinais enviados pelo SO
Shell restritivo X Ambiente Shell controlado limite acesso usurio
Aliases de comandos X X Abreviatura e "apelidos" de comandos
Histrico de comandos X X Histrico de comandos para rexecuo
Complementao de nome de arquivo X X Completa nome de arquivo informado incompleto
Array X X Permite que dados sejam agrupados e manipulados
Aritimtica de inteiros X X Funes aritimticas de inteiros
Controle de Jobs X X Monitorar jobs em background
Edio de linha de comando X Vrios comandos em sequncia
Bourne Again Shell
Shell
Shell BASH
Prompt de comandos
Usurios: $

Administrador (root): #

Indica que o sistema est pronto para receber


comandos do usurio
Comandos
Executveis existentes no sistema (programas)

Comandos internos do shell


Shell
Histrico de comandos
history
Setas do teclado
Equivalente ao DOSKEY do DOS

Caracter bang (!)


! 21

Completando comandos
<TAB>
Comandos
Comandos bsicos
cd - Mudar o diretrio corrente
ls - Listar arquivos e diretrios
cp - Copiar arquivos
mv - Mover arquivos
rm - Apagar arquivos
mkdir - Criar diretrio
Comandos
Comandos bsicos
rmdir - Apagar diretrio
clear - Limpar a tela
Mtools Srie de comandos para lidar com
arquivos do DOS em disquetes
Mcopy
Mdir
Editando arquivos
Editando arquivos
Diversos editores no UNIX
vi, pico, emacs, joe, jed, etc.

VI
Editor pardo em sistemas UNIX

:help

PICO
Editor intuitivo e fcil de usar

pico <nome_do_arquivo>
PICO
Comandos bsicos
CTRL+G Ajuda do programa
CTRL+X Sair do programa
CTRL+O Salva o texto sem sair do programa
CTRL+R L um arquivo do disco
CTRL+W Localiza arquivos
PICO
Comandos bsicos
CTRL+Y Pgina anterior
CTRL+V Pgina seguinte
CTRL+K Corta a linha corrente ou o texto
selecionado
CTRL+U Cola a(s) linha(s) cortadas
CTRL+C Mostra a posio corrente (linha e
coluna)
CTRL+^ - Marca e desmarca texto
X-Windows
Ambiente grfico (X-Windows)
Facilita o uso do sistema
Ambiente texto continua existindo
terminais

Gerenciador de Janelas
KDE

WindowMaker
X-Windows
Configurao
Xconfigurator
Disponvel apenas em distribuies baseadas em RedHat
Conectiva Linux
XF86Setup
Ferramenta padro do XFree86
Ferramenta grfica
Xf86config
Ferramenta texto, nica disponvel em verses mais antigas
X-Windows
Arquivo /etc/XF86Config
Arquivo que contm todas as definies de
configurao, como clocks da placa de vdeo,
frequncias do monitor, configuraes de
mouse, etc.
Criado pelas ferramentas de configurao
Interfaces Grficas
Gnome
Modelo de objetos baseado em CORBA
Integrao com gerenciador de janelas de terceiros
Windowmaker
KWM
Baseado na biblioteca GTK
KDE
Gerenciador de janelas prprio (KWM)
Baseado na biblioteca QT
Lembra o CDE - Common Desktop Enviroment
AIX, Solaris, HPUX, Compaq Tru64 Unix
Arquivos
Sistema de arquivos
Administrador controla o uso e permisses do sistema
de arquivos
Cada arquivo possui um dono, um grupo, uma data de
criao e uma srie de permisses referentes ao dono,
ao grupo e ao resto dos usurios
ls -la - Listando os arquivos e as informaes referentes
a eles
Arquivos e Diretrios
Tipos de Arquivos
Regulares
Contm informaes/dados ( Caracter ASCII, Binrio )
Diretrios
/ - raiz da rvore de diretrios
Cada usurio tem um diretrio chamado home. Aps o logon,
o usurio iniciado neste diretrio.
Especiais
O Unix trata dispositivos (devices) como se fossem arquivos
Estes arquivos esto alocados no diretrio /dev
file <arquivo> : informa qual o tipo do arquivo especificado

File *
Arquivos e Diretrios
Nome de arquivos e diretrios
Aceita qualquer combinao de caracteres com letras,
nmeros, pontos ( . ) e underscores ( _ ).
Excees : !@ # $ % ^ & * ( ) [ ] { } * \ / | ; < >

Utilize extenses para indicar o contedo do arquivo


arq.c , arq.txt , arq.dat , arq.txt.Z , arq.c.31Ago1999 , etc

Arquivos e diretrios iniciados por ( . ) so ocultos.


.arquivo.txt , .profile
Arquivos
Links simblicos
Arquivos especiais que apontam para arquivos
em outros lugares
ivocarv@yako:/etc > ls -la magic
lrwxrwxrwx 1 root root 21 Apr 25 1970
magic -> /usr/share/misc/magic
ivocarv@yako:/etc >
Arquivos
Devices
Arquivos especiais
Geralmente se encontram no /dev
Arquivos de bloco
Referenciam dispositivos de bloco (discos, cd-roms)

Arquivos de caracter
Referenciam dispositivos de caracter (impressoras,
video, portas seriais)
ivocarv@yako:/dev > ls -la fd0
brw-rw-rw- 1 root disk 2, 0 Oct 28 2000 fd0
Arquivos e Diretrios

Estrutura de diretrios do Linux


bin
arquivos binrios de comandos essenciais ao sistema
boot
arquivos estticos de boot ( Inicializao )
dev
arquivos de dispositivos de entrada/sada
etc
tabelas de configurao/administrao do sistema
home
diretrio local dos usurios
lib
arquivos de bibliotecas compartilhadas
Arquivos e Diretrios

Estrutura de diretrios do Linux


mnt
Ponto de montagem de parties temporrias
root
diretrio local (home) do superusurio root
sbin
arquivos do sistema essenciais
tmp
diretrio para arquivos temporrios
usr
comandos, bibliotecas, documentao, utilitrios, programas
var
arquivos de configurao, de logs de servios, mail, spool
Arquivos e Diretrios
Permisses de arquivos e diretrios
Constitui-se pr 3 categorias
permisses do dono do arquivo ou diretrio
permisses de grupo de usurios ( geralmente o grupo do dono )

permisses para outros usurios

Permisso de leitura ( R ), escrita ( W ) e execuo ( X )


-rwx rwx rwx 1 aluno1 curso 10 Ago 23 21:34 teste.txt

outros

grupo

dono
Arquivos e Diretrios
Permisses de arquivos e diretrios
chmod
Comando que define as permisses de arquivos e diretrios
Para um conjunto de permisses do arquivo teste.txt ser
rwxr-xr-- a sintaxe : Somatrio das
chmod u+rwx,g+rx-w,o+r-wx teste.txt permisses de:
ou
chmod 754 teste.txt
onde, 4 - read outros
2 - write
grupo
1 - execute
dono
Arquivos e Diretrios
Chmod
Notao simblica
u (user), g (group), o (others) e a (all)

Modificadores: =, +, -

Permisses: r, w, x

Exemplos
Chmod u=x,g=rw,o= /usr/local/bin/ssh

Chmod a-r /usr/local/apache/conf/httpd.conf


Arquivos
Manipulando o sistema de arquivos
Listando arquivos com ls
ls la Lista arquivos mostrando uma srie de

parmetros, como permisses

-rw------- 1 ivocarv users 964 Aug 25 19:07 .bash_history


-rw-r--r-- 1 ivocarv users 1392 Jun 7 14:06 .bashrc
-rw-r--r-- 1 ivocarv users 0 Jun 7 14:06 .dayplan
Arquivos
Copiando, movendo e removendo
cp, mv e rm <origem> <destino>
cp transparencias.ppt /home/ivocarv/cursos/frb
rm /home/ivocarv/lixo/*
mv ~/arquivo.secreto ~/secret-files
cp R * /windows
rm f *
cp a /home/* /mnt
Arquivos
Visualizando arquivos
cat
Equivale ao type do DOS
Visualiza arquivos sem paginar
more/less
Visualizam arquivos paginando
Espao pula uma pgina
b retrocede uma pgina
<ENTER> pula uma linha
/ procura uma string
q sai do programa
Arquivos
Touch
Modifica a data de criao de um arquivo para
a data corrente (toca o arquivo)
Cria um arquivo vazio, caso ele no exista
ivocarv@yako:~ > ls -la .vimrc
-rw-r--r-- 1 ivocarv users 341 Jun 7 14:06 .vimrc
ivocarv@yako:~ > touch .vimrc
ivocarv@yako:~ > ls -la .vimrc
-rw-r--r-- 1 ivocarv users 341 Sep 7 21:39 .vimrc
ivocarv@yako:~ >
Arquivos
Manipulando o sistema de arquivos
chown - Muda o dono de um arquivo
chgrp - Muda o grupo de um arquivo
chmod - Muda o conjunto de permisses
df - Mostra o espao em disco disponvel no
sistema
Locate e find Procurando arquivos
updatedb
Arquivos
Find procurando arquivos
find / -name curso.doc print
find /windows /home/ivocarv hash.c print
find / ( -name btree.c o bplus.c ) print
find / -name *.txt exec grep ivocarv {} \;
find size 100 atime 2
Arquivos
Compactando e descompactando arquivos
Gzip, bzip
gzip modulo1.doc

bzip2 d util.bz2

Zcat
zcat arquivo_texto_compactado.gz

Zip, unzip, unarj


Interoperabilidade com DOS/Windows
Arquivos
tar Agrupando arquivos
tar cvf curso.tar /home/ivocarv/curso
tar cvf backup-conf.tar /etc/*
tar xvf arquivo.tar
Compactando com gzip
tar zcvf binarios.tar.gz /usr/bin
tar zxvf programa-novo.tar.gz
Processos
O que um processo ?
um programa em execuo
Pode ser criado ou destrudo
Tm recursos do sistema alocados para ele
Tm um ambiente associado a ele :
herdado do processo pai
Consiste de todas as informaes relativas ao processo
Pode ser modificado atravs de comandos shell
Pode criar outros processos
Pode se comunicar com outros processos
Possui um nmero que o identifica no sistema - PID
Processos
Criando um processo
Fork
Duplica um processo existente

Uso de flag, que diferencia pai do filho

Hierarquia de processos
Formam uma rvore at o init

pstree
Processos
Entrada e sada
Cada processo possui trs arquivos
Entrada padro (stdin)

teclado
Sada padro (stdout)
monitor
Sada de erros padro (stderr)
Mensagens de erro e diagnstico
Processos
Gerenciando Processos
Sistema operacional multitarefa
Vrios processos (tarefas) rodando ao mesmo tempo
Sistema Operacional coordena a execuo das tarefas
Designao do tempo de execuo para cada processo
Multiprocessamento com um nico processador fsico
Processos
Obtendo status dos processos
Comando ps [opes]
opo a : lista os processos inclusive de outros usurios
opo u : lista processos incluindo o nome do usurio
opo x : lista os processos internos do kernel
opo l : listagem de processos em formato longo

Header Descrio
PID Nmero de identificao do processo
TT Terminal que controla o processo
STAT Estado do processo
TIME Tempo de execuo acumulado do processo
COMMAND Nome do comando e seus argumentos
Processos
Obtendo status dos processos
Comando top [opes]
top -S : viso instantnea do ambiente

Executando processos
Modo background
Uso de &
Fg e bg
Jobs
Processos
Enviando sinais para processos
Comando kill
sintaxe : kill [sinal] PID
Valores possveis de sinais

-1 - Reiniciar
-9 - Encerrar (forado)
-15 - Encerrar (padro)
Para listagem : kill -l
Shell
Entendendo o shell
Em qual shell me encontro?
echo $shell
Variveis de ambiente (var=valor)
TERM
SHELL
PATH
HOME
LOGNAME
PWD
Shell
Tornando variveis permanentes
Arquivo .profile
Arquivo /etc/profile
Definindo aliases
alias
alias la=ls la
unalias
Shell
Visualizando variveis
set
env
Exportando variveis
export
Torna a varivel disponvel nos shells
subsequentes.
Shell
Wildcards
* - zero ou mais caracteres
ls *.txt
rm *linux*.ppt
? zero ou um caracter
rm *.do?
[] Um caracter pertencente a uma faixa
ls [A-Z]*
cp syslog.4[0-5] /tmp/antigo
rm [A-Z,a-z]*
ls messages.[12345]
Shell
Manipulando a entrada e sada
Pipes
Conecta a sada padro de um processo com a

entrada padro de outro


ls la | more
cat exemplo.txt | cut d f2,3 | sort rn | more
pstree | grep bash
cat enderecos.txt | sort | uniq
Shell
Redirecionando entrada e sada
mail ivocarv < email.txt
date > hora.txt
ls >> arquivos
ls lR > /arquivos.todos
sort < agenda.txt >> hora.txt
mail ivocarv root < hora.txt
unarj 2> stderr.txt
tar 2> &1
Shell
Substituio de comandos
echo `date` >> data.txt
echo data de hoje: `date`
Agrupando comandos
ls ; clear
Evitando expanso do shell
ls *.txt
echo $LOGNAME.*
echo $LOGNAME.`date`
echo \teste\
Shell
Processamento em background
Ampersand (&)
sort arquivo_grande.txt > ordenado.txt &
updatedb &
Ctrl-z
Interrompe execuo do processo
Bg
Coloca o processo interrompido em background
Fg
Retorna o processo para foreground
Shell
Processamento em background
Jobs
Lista os processos relacionados ao shell atual

%n referencia o processo desejado

Fg %2
Bg %1
Kill 9 %3
Shell
Agendando processos
At
at now + 1 day <<XX
ls
XX
Crontab
0,20,40 * * * 1-5 calendar -
Minuto, hora, dia, mes, dia da semana, comando
crontab l
crontab -e
Shell
Shell scripts
Similares aos arquivos .bat do DOS
Pequenos programas interpretados pelo shell
Criam comandos mais poderosos
Simplifica operao do sistema
Criando shell scripts
Editando arquivos texto
Pico
vi
Adicionando permisso de execuo
Chmod +x
Shell
Escrevendo shell scripts
Echo
Mostra mensagens

Echo executando script aguarde

echo Quem est logado no sistema?


who
echo Qual a data de hoje?
date
echo Script finalizado
Shell
Comentrios
# este um comentrio, o shell vai ignorar
Variveis
telefone=230-4500
echo $telefone
read parametro
diretorioatual=`pwd`
Shell
Parmetros da linha de comando
$0 comando
$1, $2, $3, - Parmetros da linha de comando
script1 t ivocarv testando parametros
$0 = script1

$1 = -t

$2 = ivocarv

$3 = testando parametros
Shell
Sofisticando shell scripts
Case
case $opcao in

A|a) echo opo A;;

B|b) echo opo B;;

*) echo outras opes;;

esac
Shell
Case

# Script estalogado
# proposito: verificar se uma pessoa est logada

case `who | grep $1 > /dev/null` in


0) echo $1 est on-line!!;;
*) echo $1 no est on-line;;
esac
echo script finalizado
Shell
If, then, else, fi
# Script estalogado
# proposito: verificar se uma pessoa est logada
# agora usando if

if
who | grep $1 > /dev/null
then
echo $1 est logado
else
echo $1 no est on-line
fi
Shell
Test
Testa arquivos e nmeros
test f abc.txt
if test d $1

-f testa se arquivo existe e um arquivo comum


-d testa se diretrio
-r testa se o arquivo tem permisso de leitura
-s testa se o arquivo no est vazio
-w testa se o arquivo pode ser gravado
-x testa se o arquivo executvel
Shell
Test
test $hora gt 12
test $opcao eq 1

-eq igual
-ne diferente
-ge maior que ou igual
-gt maior que
-le menor que ou igual
-lt menor que
Shell
Estruturas iterativas
For

for i in *.txt
do
cp $i /tmp
done

for i in $*
do
echo $i
done
Shell
While

cp $MAIL omail
while diff omail $MAIL > /dev/null
do
cp $MAIL omail
sleep 30 # pausa de 30 segundos
done
echo Novo email!
Dispositivos
Arquivos especiais de dispositivos ( devices )
Unix trata todos os devices como arquivos especiais
Existem dois tipos de arquivos especiais de devices :
Bloco
Caracter
/dev - diretrio onde se localiza os arquivos especias de devices
Discos - Hard disks
So identificados no sistema pelo mnemnico hda,
onde a letra identifica o disco. Exemplo :
hda - disco master primrio hdb - disco slave primrio
hdc - disco master secundrio hdd - disco slave secundrio
Discos e Parties
Parties dos discos
hda1- 1 partio do disco master primrio
hda2- 2 partio do disco master primrio
e assim pr diante
Disponibilizando parties/discos para o sistema
Processo chamado pr montagem
mount
comando para montagem do dispositivo
mount -t <sistema_arquivos> <dispositivo> <ponto_montagem>
umount
comando para desmontagem do dispositivo
umount <dispositivo> ou <ponto_montagem>
Discos e Parties
Montagem permanente de dispositivos
Incluso de uma entrada no arquivo /etc/fstab. Este contm os
dispositivos/sistemas de arquivos que so montados no momento
da inicializao do sistema ( boot )
Utilitrio linuxconf
Espao em disco
Comando df - <opes>
opo T - informa o tipo do sistema de arquivos das parties
opo k - informa valores em Kbytes. No linux este o default
tornando esta opo desnecessria, mas em alguns unixs o
default em blocos de 512 bytes.
Sistema de Arquivos

Suid Bit
chmod +s
Sticky Bit
chmod +t
Diretrio /tmp
Parties
Criando filesystems (mkfs)
mkfs /dev/hda1
Checando filesystems (fsck)
fsck /dev/hda1
Administrao UNIX

Administrador x Usurio
Administrador: Zela pelo funcionamento do sistema
Usurio: Utiliza os recursos do sistema

Administrando o UNIX
Logon como root
Prompt diferenciado
Administrao
Ferramentas de administrao
Linuxconf
Arquivos de configurao
Webmin
Gerenciador web para sistemas UNIX

Fcil de usar

Funciona em diversos UNIX

Necessita browser web

Permite gerenciamento remoto


Usurios
Gerenciando Usurios
Arquivos /etc/passwd, /etc/shadow, /etc/group
Comando adduser, linuxconf ou webmin para criar
usurios
Diretrio home (/home/usuario)
Shell (/etc/shells)
Arquivos de inicializao
Removendo usurios
chown, chgrp e chmod para modificar permisses
Pacotes de Software
Gerenciando Pacotes
RPM - Redhat Package Manager
Atualizar e instalar software

Listagem de software instalado

Verificao de anormalidades

Montando o CD de instalao para instalar os


pacotes:
mount /dev/cdrom /cdrom
Pacotes de Software
Gerenciando pacotes
Instalando pacotes
rpm -ivh
Removendo pacotes
rpm -e
Atualizando pacotes
rpm -Uvh
Consultando pacotes
rpm -q
Verificando pacotes
rpm -v
Ambiente
Arquivos de inicalizao
/etc/inittab
Runlevels

Diretrio /etc/rc.d
Diretrio init.d

Modelo SysV
Linux e Internet
A Internet
Rede iniciada como um programa de pesquisa
do departamento de defesa americano
(DARPA). ARPANET criada em 1969.
Extino da ARPANET e instalao da Internet
em 1990
Rede inicialmente acadmica e militar, sendo
posteriormente expandida para a parte
comercial
Linux e Internet
Protocolo da Internet (TCP/IP)
Amplamente difundido e disponvel para
qualquer hardware e sistema operacional
Independncia do hardware fsico da rede
Sistema de endereamento que permite
identificao nica de uma mquina na rede
inteira.
Linux e Internet
Arquitetura do TCP/IP
Diviso do protocolo em camadas
A informao dividida em pacotes, que
passaro por todas as camadas do protocolo,
sendo adicionadas informaes de entrega do
pacote em cada camada, at entrar na rede
Linux e Internet
Camadas TCP/IP
Camada Fsica: Camada mais baixa,
representada pelo hardware da rede, sendo mais
comum o hardware Ethernet.
Camada Internet: Formada principalmente pelo
protocolo IP. O protocolo IP realiza o servio
de entrega de pacotes na rede. Todos os
protocolos acima dele usam ele pra entrega de
pacotes.
Linux e Internet
Camada de Transporte: Formada
principalmente pelos protocols TCP e UDP.
Ambos tem basicamente a mesma funo,
sendo que o TCP inclui correo de erros e
orientado a conexo, enquanto que o UDP
mais simples e traz menos overhead.
Linux e Internet
Camada de Aplicao: onde residem as
aplicaes, como telnet, ftp e mail. As
aplicaes usam os protocolos TCP ou UDP
para criar conexes e transmitir suas
informaes.
Linux e Internet
Linux e Internet
O Endereo IP
Usado pelo Internet Protocol (IP) para
identificar nicamente uma mquina na rede.
Formado por 32 bits e representado por 4
numeros entre 0-255 separados por pontos. (Ex:
192.188.11.36)
dividido em duas partes, parte rede e parte
host. Essas partes so diferentes dependendo da
classe do endereco.
Linux e Internet
Se o primeiro bit de um endereo IP for 0, ele
um endereo de uma rede Classe A. Os
proximos 7 bits identificam a rede, e os ultimos
24 bits identificam o host. Uma rede Classe A
pode ter mais de 16 milhes de mquinas. Os
endereos Classe A j esgotaram.
Linux e Internet
Se os dois primeiros bits do endereo so 1 0,
ele pertence a uma rede Classe B. Os prximos
14 bits identificam a rede e os ltimos 16 bits
identificam o host. Uma rede classe B pode
enderear mais de 65 mil mquinas. Todas as
redes classe B j esgotaram.
Linux e Internet
Se os trs bits do endereo so 1 1 0, ele um
endereo de uma rede Classe C. Os prximos
21 bits identificam a rede, e os ultimos 8 bits
identificam a mquina. Uma rede classe C pode
enderear 254 mquinas. Esta a unica classe
que tem endereos disponveis atualmente.
Linux e Internet
As demais classes (D e E) so reservadas e no
estao liberadas para uso.
Linux e Internet
Simplificando a identificao das classes:
Como os endereos IP aparecem sempre na
forma de 4 numeros separados por pontos,
existe uma forma mais simples de identificar a
qual classe ele pertence, utilizando o primeiro
nmero do endereo, como mostra a figura a
seguir:
Linux e Internet
Classe A -> 0-128
Classe B -> 128-191
Classe C -> 192-223
Reservados -> 223-255

OBS: o Classe A 127.0.0.0 tambm reservado


(loopback).
Linux e Internet
Subnets e Netmasks
A Fronteira entre os bits da parte rede e da
parte host de um endereo IP pode ser
modificada, usando subnetting. Bsicamente
consiste em mudar essa fronteira de lugar.
Para tanto definimos uma Subnet mask, que ira
refletir a nova diviso.
Linux e Internet
Protocolo ARP
Responsvel pela converso dos enderecos IP
para os endereos fsicos que so entendidos
pela camada fsica.
Comando ARP.
Mostra a tabela ARP da mquina.
Linux e Internet
Roteamento
Transmisso de pacotes entre redes
diferentes. Realizado pelos roteadores que,
atravs de tabelas de rotas, determinam o
prximo destino do pacote. Cada tabela de
rotas contm entradas para cada rede
adjacente e uma rota default, que indica o
caminho padro a seguir.
Linux e Internet
Exemplo de Roteamento:
Linux e Internet
Comando netstat -rn (route): Mostra a tabela de
rotas da mquina corrente.
Comando ifconfig: mostra a atual configurao IP
das interfaces de rede da mquina.
Comando ping: testa uma conexo entre duas
mquinas.
Comando traceroute: mostra o caminho que o
pacote leva pra chegar no destino.
Linux e Internet
Portas
Depois que a informao corretamente
enviada ao computador destino, ele deve ser
enviado ao processo correto na mquina. Para
tanto, os processos so associados portas,
para que o pacote chegue na aplicao correta.
Cada porta identificada com um nmero.
Linux e Internet
Well known ports
Algumas portas so reservadas para aplicaes
j conhecidas, para facilitar a identificao.
Essas portas so chamadas de Well known
ports. No UNIX, esses servios ficam listados
no arquivo /etc/services. As portas reservadas
tem nmero menor que 1024.
Linux e Internet
Diagrama de entrega de pacotes para aplicaes.
Linux e Internet
Conexo entre aplicaes:
As conexes geralmente so feitas entre 2 tipos
de aplicaes, o cliente, e o servidor. O
servidor sempre possui uma porta conhecida,
assim o cliente sabe para qual porta ir mandar
o pacote. O cliente por sua vez, escolhe uma
porta livre para o seu uso. Ento feita uma
conexo entre o IP e porta do cliente com o IP e
porta do servidor.
Linux e Internet
O Servidor ento usa essa conexo para
combinar uma nova porta para conversar com
esse cliente. Da ele gera um processo igual a
ele, que conversa com o cliente na porta
negociada. Este processo feito para liberar a
porta conhecida para futuras conexes com
outros clientes.
Linux e Internet
Esquema de conexo cliente - servidor
Servios de rede
NFS
Network File System
Permite montagem de sistemas de arquivos
remotos
Exportando diretrios
/etc/exports
Montando diretrios remotos
mount server:/home /mnt/home

/etc/fstab
Servios de rede
NIS
Network Information System
Criado pela sun
Permite compartilhamento de mapas entre
mquinas diferentes
Hosts
Usurios e senhas
Cria um potencial furo de segurana
Servios de rede
LPR
Servio de impresso do UNIX
lpr P impressora arquivo.txt
Filtros de impresso para arquivos no texto
Visualizando a fila com lpq
Gerenciando impresso com lprm, lpc
SAMBA
Samba
Servidores UNIX interagindo com mquinas
Windows
SMB (Server Message Block) Protocolo
Windows para interao de arquivos e
impressoras
Suporta VMS, MVS, UNIX, OS/2, Amiga, etc.
Samba
Samba como Cliente
Smbclient
smbclient \\projetos\drive_c teste -U administrador
Added interface ip=200.18.226.176 bcast=200.18.226.255
nmask=255.255.255.0
Got a positive name query response from 200.18.226.36
(200.18.226.36)
Domain=[CPD_DISUP] OS=[Windows NT 4.0] Server=[NT LAN Manager 4.0]
smb: \>
Samba
Smbclient
Funciona como um cliente FTP
Dir

Get

Cd

Put

Rm
Samba
Smbmount
Permite montagem de discos via SMB, de modo
que eles se tornam parte do sistema de arquivos
Disponvel apenas no Linux

smbmount '\\projetos\drive_c' teste -c 'mount /mnt -u1 -g1' -U


administrador
Samba
Samba como Servidor
Programas servidores
Nmbd Servio de nomes

Smbd Servio de compartilhamentos

Configurao: Arquivo smb.conf


Opes globais

Compartilhamentos
Samba
SWAT
Interface para configurao do Samba via um
Browser WWW
Fcil de usar
Possui um servidor de pginas interno, que
ouve a porta 901
Samba
Nmblookup
Ferramenta para resolver nomes windows
nmblookup M
nmblookup B <endereo_broadcast>
servidor
nmblookup U
<endereo_IP_do_servidor_wins> -R
servidor
nmblookup M <workgroup> -S d1
Samba
Linneighborhood
Interface grfica para o nmblookup
Funciona de forma anloga ao ambiente de rede
do windows
Permite visualizao dos domnios e servidores,
alm de montagem dos discos
automaticamente.
Servios Internet

Domain Name Service (DNS)


Servio que converte os nomes das mquinas
para os nmeros IP correspondentes. Cada
mquina tem pelo menos um nome, para
facilitar a identificao.
Os nomes Internet possuem uma hierarquia de
rvore, conhecida como hierarquia de
domnios.
Servios Internet

O primeiro domnio de toda a Internet


conhecido como root, e representado por
um ponto (.).
Abaixo do root, temos domnios
representado pases, e, no caso dos Estados
Unidos, representando o tipo de organizao
a qual o domnio pertence.
Servios Internet

No 3o nvel, temos a natureza da


organizao (no caso de domnios no
USA).
Os domnios subsequentes indicam o nome
da instituio e, caso necessrio, suas
subdivises.
Servios Internet
Exemplo de hierarquia de domnio
.

net edu br com

com

compos
Servios Internet

Configurao DNS
Arquivo named.conf: Arquivo de configurao
primrio do DNS. Ele determina o diretrio
onde os outros arquivos sero encontrados, e
tem apontadores para cada domnio criado pelo
servidor.
Servios Internet

Diretivas do arquivo named.conf


directory: Especifica o diretrio onde sero
encontrados os arquivos de mapa do domnio.
Diretiva zone: cria uma zona
master: configura um domnio primrio, indica tanto
domnios diretos quanto reversos.
hint: determina o nome de um arquivo de cache.
Esse arquivo tem apontadores para os responsveis
pelo root domain.
Servios Internet

slave: Determina que o servidor local um servidor


secundrio (backup) de outro servidor.
Forwarders: especifica outros servidores de
DNS, que sero usados pelo servidor local para
fazer perguntas.
Servios Internet
Arquivos de mapa
Os arquivos de mapa so os arquivos
especificados no named.conf. Para cada
domnio, existem pelo menos 2 arquivos. Um
para o domnio direto (mapeia nomes para
nmeros), e outro para o domnio reverso
(mapeia nmeros para nomes). Para cada classe
C da sua rede, um novo arquivo de domnio
reverso precisa ser criado.
Servios Internet

Diretivas dos arquivos de mapa


Registro SOA (Start of Authority). Indica que
este servidor a melhor fonte de informao
para os dados deste domnio.
Registros NS (Name Server). Apontam
Servidores de domnio para o domnio em
questo. Um ou mais Registros NS podem ser
usados por domnio.
Servios Internet

Registros CNAME (Cannonical Name).


Indicam aliases para mquinas do domnio.
Registros A (Address). Mapeiam nomes para
nmeros IP. Para cada mquina no domnio, um
registro A inserido.
Registros PTR (Pointer). Usados nos mapas
reversos, mapeiam nmeros para nomes. Cada
Registro A, tem seu PTR associado.
Servios Internet

Registros MX (Mail eXchangers). Determinam


a ordem de entrega dos mails naquele domnio.
Testando a configurao do DNS
Comando nslookup.
Testando registros A e PTR
Verificando os pontos . no final dos hosts
Nmero serial dos mapas
Servios Internet

Configurando uma mquina UNIX para


usar o servidor de DNS do seu domnio
Arquivo /etc/resolv.conf
Diretiva nameserver. Indica o endereo IP do
servidor de DNS do seu domnio.
Diretiva search. Indica a ordem de procura de
domnios ao fazer as perguntas ao servidor de
DNS.
Servios Internet

Diretiva domain. Especifica o domnio a


qual a mquina pertence.
Servios Internet

Inetd - Internet super-server


Servidores UNIX geralmente possuem muitos
servios que ouvem muitas portas, e isso pode
causar uma sobrecarga de processos no
servidor. Para resolver esse problema, criou-se
um nico processo que, atravs de uma tabela,
ouve diversas portas de uma vez e chama a
aplicao correspondente caso haja um pedido.
Servios Internet

O Inetd usa um arquivo de configurao,


localizado em /etc/inetd.conf, que contm
entradas para cada servio que o inetd vai
ouvir.
O arquivo /etc/services mapeia os servios para
as suas respectivas portas.
Servios Internet

Telnet
Servio que permite uma sesso remota de um
servidor UNIX.
Utiliza a porta 23 TCP.
Utiliza o inetd.
Servios Internet

FTP - File Transfer Protocol


Utilizado para tranferncia de arquivos entre
servidores.
Utiliza a porta 21 TCP (control) e a porta 20
(ftp-data).
Utiliza Inetd.
Parte de controle baseada em telnet.
Servios Internet

Arquivos de configurao do FTP


ftpaccess
ftpconversions
ftpgroups
ftpusers
Servios Internet

Mail
Servio de entrega de mensagens entre
servidores.
Utiliza os registros MX do DNS para
determinar a ordem de tentativa de entrega. A
mensagem entregue na primeira mquina
disponvel.
Servios Internet

Sendmail
Servidor responsvel por esperar na rede por
novas mensagens, e de entregar as mensagens
para outros servidores.
Utiliza a porta 25 TCP.
Utiliza-se de um arquivo de configurao para
entrega das mensagens (/etc/sendmail.cf).
Servios Internet
Oferece suporte a alias.
Configurao do sendmail
Algumas diretivas do arquivo sendmail.cf
OA - Determina a localizao do arquivo de alias. A
localizao default /etc/aliases
OQ - Determina o diretrio onde as mensagens
sero enfileiradas antes de serem entreques. O
default /var/spool/mqueue
Servios Internet

Cw - Determina os domnios que so considerados


locais para a mquina. Qualquer mensagem recebida
de um domnio no especificado aqui, devolvida.
Arquivos extras
Local-host-names: Arquivo que indica dominios
pelos quais esta maquina responde. Corresponde ao
Cw.
Relay-domains: Limita o uso deste servidor como
relay. Muito usado para bloquear SPAM.
Servios Internet

WWW (World Wide Web)


Servio mais famoso da Internet. Transfere
arquivos texto com uma linguagem de
formatao baseada em hipertexto (HTML)
para os clientes, chamados browsers. Os mais
famosos so o Internet Explorer (microsoft) e o
Netscape.
Utiliza a porta 80 TCP.
Servios Internet

Servidor Apache
Servidor WWW freeware, incluso no pacote de
instalao do Linux. Formado por uma diviso
da NCSA, com o projeto de fazer um servidor
free, j que o servidor NCSA passaria a ser
comercial.
Servios Internet

Configurao do Servidor
httpd.conf
access.conf
srm.conf
mime.types
Bibliografia

http://www.linux.org - Informaoes gerais


sobre Linux.
TCP/IP - Network administrator, O Reilly
& Associates (http://www.ora.com).
DNS and BIND, O Reilly & Associates
Administrao de redes TCP/IP, Unicamp
Using Linux - Especial Edition, QUE
Bibliografia
http://www.linuxhq.com
http://www.xfree86.org
http://www.sendmail.org
http://www.apache.org
http://www.samba.org
http://www.kernel.org

Вам также может понравиться