Professional Documents
Culture Documents
Prof. Edney
NDICE
ndice .................................................................................................................................. I Cronologia do Linux .......................................................................................................... 1 Viso Geral ........................................................................................................................ 2 Principais Caractersticas do Linux .................................................................................... 2 Onde Baixar ....................................................................................................................... 3 Instalao do Linux Slackware 12 ................................................................................... 4 Keymap Configurao De Teclado .............................................................................. 5 Partio Swap ................................................................................................................ 5 Diretrio Barra ( / ) ........................................................................................................ 5 Partio Windows .......................................................................................................... 5 Instalao Do Slackware ................................................................................................ 6 Make Bootdisk ............................................................................................................... 7 Modem Configuration .................................................................................................... 7 Enable Hotplug Subsystem at Boot ................................................................................ 7 Install Lilo (Linux Loader) ............................................................................................. 7 Configure Lilo to Use Frame Buffer Console ................................................................. 7 Optional Lilo Append = <Kernel Parameters> Line .................................................... 8 Select Lilo Destination ................................................................................................... 8 Mouse Configuration ..................................................................................................... 8 Configure Network ........................................................................................................ 8 Confirm Startup Services ............................................................................................... 9 Console Font Configuration ........................................................................................... 9 Hardware Clock Set to Utc ............................................................................................. 9 Time Zone Configuration ............................................................................................. 10 Select Default Window Manager for X......................................................................... 10 Warning: No Root Password Detected.......................................................................... 10 Setup Complete ............................................................................................................ 10 Padro POSIX.................................................................................................................. 10 Ambientes Grficos ......................................................................................................... 11 Estrutura de Diretrios do Linux ...................................................................................... 12 Manual de Comandos....................................................................................................... 13 Ls list ......................................................................................................................... 13 Navegao no Modo Texto .......................................................................................... 13 Man manual .............................................................................................................. 14 Who quem................................................................................................................. 14 W quem, o qu .......................................................................................................... 14 Date data ................................................................................................................... 14 Pwd path work directory ........................................................................................... 15 Cd change directory .................................................................................................. 15 Rmdir remove directory ............................................................................................ 16 Cat concatenete ......................................................................................................... 16 More e Less ................................................................................................................. 17 Head e Tail................................................................................................................... 17 Wc word count .......................................................................................................... 17
Pgina I
Sistemas Operacionais Linux Prof. Edney More e Less ................................................................................................................. 18 Mv move ................................................................................................................... 18 Rm remove................................................................................................................ 19 Ln Link ........................................................................................................................ 20 Diff diference file ...................................................................................................... 20 Find buscar................................................................................................................ 21 Grep ............................................................................................................................. 22 Comandos Para Filtros ..................................................................................................... 23 Sort .............................................................................................................................. 23 Cut cortar .................................................................................................................. 23 Redirecionamento de Entrada e Sada .............................................................................. 25 Gerenciamento de Pacotes................................................................................................ 26 Wget ............................................................................................................................ 26 Installpkg ..................................................................................................................... 26 Removepkg .................................................................................................................. 27 Compactao de Arquivos................................................................................................ 27 Tar ............................................................................................................................... 27 Gzip ............................................................................................................................. 27 Gerenciamento de Processos ............................................................................................ 27 Seqncia de Execuo de Um Processo ...................................................................... 29 Classificao de Processos ............................................................................................... 30 Controle de Tarefas (Job Control) .................................................................................... 31 Comandos Para Gerenciamento de Processos ............................................................... 31 Criando um Programa em C ......................................................................................... 32 Exibindo Processos em Execuo ................................................................................. 33 Exibindo processos em Execuo Calculando o Tempo de Execuo ............................... 34 Pstree process tree (rvore de processos) ................................................................... 34 Top .............................................................................................................................. 34 Free .............................................................................................................................. 35 Kill .............................................................................................................................. 36 Killall........................................................................................................................... 36 Gerenciamento de usurios, grupos e privilgios .............................................................. 36 Usurios e Grupos ........................................................................................................ 36 O que compe um usurio ............................................................................................ 37 O que compe um grupo .............................................................................................. 38 Arquivos e Diretrios de configurao ......................................................................... 38 Arquivo /etc/passwd ..................................................................................................... 38 Arquivo /etc/shadow .................................................................................................... 40 Arquivo /etc/group ....................................................................................................... 42 Arquivo /etc/default/useradd ........................................................................................ 43 Arquivo /etc/login.defs ................................................................................................. 43 useradd ou adduser ....................................................................................................... 44 chage ........................................................................................................................... 45 passwd ......................................................................................................................... 46 userdel ......................................................................................................................... 46 id ................................................................................................................................. 47 su ................................................................................................................................. 47 Pgina II
Sistemas Operacionais Linux Prof. Edney groupadd ...................................................................................................................... 48 gpasswd ....................................................................................................................... 48 groupdel ....................................................................................................................... 49 groups .......................................................................................................................... 49 Criando um usurio com poder de root ............................................................................. 49 Congelando (suspendendo) um usurio ............................................................................ 50 Removendo um usurio manualmente .............................................................................. 50 Gerenciamento de privilgios ........................................................................................... 51 Permisses e Privilgios ............................................................................................... 51 Bits de atributos especiais ............................................................................................ 51 Listagens de Privilgios ................................................................................................... 52 Listagens de Privilgios................................................................................................ 52 Comandos para gerenciamento de privilgios ................................................................... 53 chmod .......................................................................................................................... 53 chown .......................................................................................................................... 55 chgrp ............................................................................................................................ 56 umask [mscara] ........................................................................................................ 57 Gerenciamento de Sistemas de Arquivos .......................................................................... 57 Dispositivos de Armazenamento e rvores de diretrios ................................................... 58 Parties e Sistemas de Arquivos ..................................................................................... 59 Drives do linux e seus arquivos de dispositivos ............................................................ 59 Particionando um disco rgido .......................................................................................... 60 MS-DOS ...................................................................................................................... 60 Criando um sistema de arquivos num disco rgido ............................................................ 61 mkfs ............................................................................................................................. 61 Redimensionando sistemas de arquivos ............................................................................ 61 resize2fs ....................................................................................................................... 61 resize_reiserfs .............................................................................................................. 62 Formatao de baixo nvel em um disco flexvel .............................................................. 62 fdformat ....................................................................................................................... 62 Montando e desmontando os discos ................................................................................. 63 mount ........................................................................................................................... 63 Montando um Pendrive ................................................................................................ 64 umount ......................................................................................................................... 64 Verificando o espao livre ................................................................................................ 64 df ................................................................................................................................. 64 Verificando o tamanho de arquivos e diretrios ................................................................ 65 du................................................................................................................................. 65 Verificao e reparo de um sistema de arquivo ................................................................. 65 fsck .............................................................................................................................. 65 Obtendo informaes de um sistema de arquivos ext2 ...................................................... 66 dumpe2fs ..................................................................................................................... 66 Montando automaticamente sistemas de arquivos: o arquivo /etc/fstab ............................. 66 Montando automaticamente sistemas de arquivos: o arquivo /etc/fstab ............................. 67 Configuraes de Rede .................................................................................................... 68 Hostname ..................................................................................................................... 68 Domain Name .............................................................................................................. 68 Pgina III
Sistemas Operacionais Linux Prof. Edney Name Server (Domain Name Server Servido DNS) ................................................... 68 IP ................................................................................................................................. 68 Submask Address ......................................................................................................... 69 Default Gateway (Gateway Padro) ............................................................................. 69 Static IP ....................................................................................................................... 69 Como Configurar Rede Com IP Fixo............................................................................ 69 Comunicao Entre Redes................................................................................................ 70 Ative o Servio de Roteamento: ................................................................................... 71 Servidor DHCP ................................................................................................................ 71 O que o DHCP? ......................................................................................................... 71 Como Funciona? .......................................................................................................... 72 Para que Serve? ............................................................................................................ 73 Problemas .................................................................................................................... 74 Configurao do Servidor DHCP ................................................................................. 75 Comandos Importantes ................................................................................................. 76 Exemplo de Redes com Servidor DHCP ....................................................................... 77 Servidor HTTP - Apache.................................................................................................. 77 Importante:................................................................................................................... 81 Servidor FTP ................................................................................................................... 81 Segurana do Servidor FTP Bloqueando Usurios ..................................................... 81 Acessando FTP Via Browser ........................................................................................ 82 Servidor de Banco de Dados MySQL ............................................................................... 82 Instalao ..................................................................................................................... 82 Possveis Problemas ..................................................................................................... 83 Servidor DNS .................................................................................................................. 83 Introduo .................................................................................................................... 83 Como o Servidor DNS Funciona? ................................................................................ 84 Clientes DNS ............................................................................................................... 86 Configurao do Servidor DNS .................................................................................... 87 Configurao Passo a Passo ......................................................................................... 91 Configurando o Envio e Recebimento de E-mails com Servidor DNS .............................. 93 Contedo do Arquivo access ........................................................................................ 94 Contedo do Arquivo local-host-names ........................................................................ 94 Name Virtual Host ....................................................................................................... 94 Configurando o Name Virtual Host do httpd.conf (Apache) ............................................. 94 Observaes:.................................................................................................................... 95 Segurana Varreduras de Rede ...................................................................................... 95 Pesquisas Reversas de DNS ......................................................................................... 95 Host ............................................................................................................................. 95 Boas Prticas ................................................................................................................ 96 Mail Exchange ............................................................................................................. 96 Dig ............................................................................................................................... 96 Trasnferncias de Zonas ............................................................................................... 96 Host l ......................................................................................................................... 96 Boas Prticas ................................................................................................................ 97 Traceroute .................................................................................................................... 97 Traceroute .................................................................................................................... 97 Pgina IV
Sistemas Operacionais Linux Prof. Edney Traceroute -I ................................................................................................................ 97 Traceroute -p................................................................................................................ 98 Boas Prticas ................................................................................................................ 98 Ping ............................................................................................................................. 98 Ping ............................................................................................................................. 98 Utilizando o nmap para realizar uma varredura de ping .................................................... 98 Nmap sP..................................................................................................................... 98 Boas Prticas ................................................................................................................ 99 nmap PT..................................................................................................................... 99 Boas Prticas ................................................................................................................ 99 nmap sT ..................................................................................................................... 99 nmap sS ..................................................................................................................... 99 nmap O1 .................................................................................................................. 100 Segurana Manipulando IPTables ............................................................................... 100 Sintaxe Bsica................................................................................................................ 101 Exemplo:.................................................................................................................... 101 Segurana Samba ........................................................................................................ 102 Compartilhando Diretrio do Windows no Linux ....................................................... 103 Exemplo:.................................................................................................................... 103 Compartilhando Diretrio do Linux no Windows ....................................................... 103 Exemplo de Compartilhamento do Diretrio Geral: .................................................... 103 PDC em Linux ........................................................................................................... 104 Adicionando Usurio ao Samba ................................................................................. 104 Exemplo:.................................................................................................................... 104 Configurando o Cliente Windows .............................................................................. 104 Removendo Usurio do Samba................................................................................... 104 Desabilitando Usurio do Samba ................................................................................ 104 Habilitando Usurio do Samba ................................................................................... 104 Segurana Snort (IDS Intrusion Detection System) .................................................. 105 Instalando o Snort ...................................................................................................... 105 Removendo o Snort .................................................................................................... 106 Comandos do Snort .................................................................................................... 106 Instalando a Interface Grfica BASE ....................................................................... 106
Pgina V
CRONOLOGIA DO LINUX
Ano 1969 Acontecimento Criao do Unix na AT & T O Unix distribudo para as universidades. montado o cenrio para o 1974 surgimento em todo mundo de programadores de sistemas altamente capacitados 1983 1984 1988 1990 1991 Richard Stallman cria a Free Software Foundation O X Window criado no MIT Criao do Minix Linus Torvalds assiste sua primeira aula de C. Linus Torvalds inicia o desenvolvimento do Linux A verso 0.01 discutida na internet. lanada a verso 0.95 do Linux. A Yggdrasil lana a primeira distribuio do Linux em Dezembro. A Yggdrasil libera a produo da distribuio do Linux. lanada a verso 0.99pll5 do Linux. lanado o Xfree86. a Yggdrasil, o 1994 primeiro cd-rom contendo uma distribuio Linux . a Red Hat, a Slackware e outras distribuies surgem em cd-rom. 1995 Surge a primeira verso modularizada de Linux. A Caldeira lana a verso 1.0 com o Netscape incluso e com o WordPerfect for X A Conectiva lana a primeira verso brasileira do Linux, baseada na Red Hat.
1992
1993
1996
1998
Pgina 1
VISO GERAL
Kernel o ncleo do sistema operacional, a parte mais prxima do nvel fsico (hardware). Composta de chamadas ao sistema, de acesso aos dispositivos de entrada e sada e de gerncia de recursos da mquina. Shell o nome genrico de uma classe de programas que funcionam como interpretador de comandos e linguagem de programao script (interpretada) no Unix. Os shells mais populares so: bash, csh, tcsh, ksh e zsh. O shell a interface entre o usurio e o kernel. O usurio pode escolher qual dos shells vai utilizar. O shell padro do Linux o bash.
Pgina 2
Sistemas Operacionais Linux Prof. Edney Interface grfica com o usurio e ambiente de rea de trabalho; Dentre outras importantes caractersticas. Na verdade, o Linux no o sistema operacional em sua totalidade. Quando instala o que comumente denominado Linux, voc est instalando uma enorme quantidade de ferramentas que funcionam em conjunto como um sistema verdadeiramente funcional. O Linux, por si s, o kernel deste sistema operacional, seu corao, sua mente, seu sistema nervoso. O Kernel responsvel exclusivamente pelo transporte das tarefas de mais baixo nvel que tornam todo o resto possvel - fazendo malabarismos com diversos processos que ocorrem simultaneamente, gerenciando sua memria de forma que no interfiram uns nos outros, satisfazendo suas solicitaes de acesso a um disco e muito mais.
ONDE BAIXAR
http://www.debian.org
http://www.conectiva.com.br
http:// linux-mandrake.com
http://www.slackware.org/
http://www.redhat.com
http://www.linux.corel.com
Pgina 3
Partio Swap
Logo em seguida sua partio swap detectada pelo Linux. Para aceit-la basta responder com YES. Ento o Linux faz algumas conferncias nessa partio, faz novamente sua formatao e a reativa.
Diretrio Barra ( / )
O Linux pedir para que voc escolha em que partio deseja colocar o diretrio (/). lembre-se que este diretrio equivale a unidade c: do Windows. A partio que voc j criou para o Linux aparece como primeira opo, basta selecion-la. Aps escolhe-la, faa novamente a formatao desta partio (aqui, qualquer escolha errada poder significar a perda do Windows e todas as suas informaes). Ao mandar formatar essa partio voc poder escolher o tipo de filesystem que deseja (o filesystem o sistema de arquivos que ser usado pelo linux. Ele de suma importncia pois contm as regras de como o Linux ir tratar e interpretar seus dados). Escolha o reiserfs e d um OK. O Linux levar um tempo formatando est partio. Confirme com um OK no fim.
Partio Windows
Aps formatar sua partio o Linux encontrar, caso voc tenha, a partio onde o Windows foi instalado. Ele lhe perguntar se deseja adicionar informaes sobre essa partio no arquivo fstab para que seja possvel visualizar a partio Windows de dentro do Linux. Escolha a opo YES e tecle enter.
Pgina 5
Sistemas Operacionais Linux Prof. Edney Selecione a partio que aparecer e escolha a opo Select. Aps esse procedimento, ele lhe avisar que voc dever indicar o caminho onde essa partio dever ser montada dentro de sua estrutura de diretrios para que este procedimento seja feito automaticamente sempre o Linux for iniciado. Como j aprendemos anteriormente, o diretrio padro para montar dispositivos no Linux o /mnt/. Por isso, indicaremos na caixa de texto o seguinte caminho: /mnt/winXP/. Aps o OK o Linux nos avisar que a partio Windows ser montada no diretrio indicado.
Instalao Do Slackware
Aps todos esses passos prvios para a configurao do Slackware teremos que indicar a partir de onde o Slackware ser instalado (origem dos arquivos de instalao). Como estamos utilizando cd-rom para a instalao escolheremos a opo 1 Install from a Slackware CD or DVD. Aps essa escolha, basta dar OK. Existem dois tipos de instalao possveis: auto e a manual. Auto: todo o Slackware instalado automaticamente. Ou seja, todos os servios e servidores possveis so previamente instalados sem que voc tenha que ficar se preocupando em habilitar ou no qualquer aplicativo do pacote. Essa a instalao mais simples e a que faremos para que depois de instalado possamos comear a configurar todos os servios e servidores que o curso pretende. Manual: esta instalao exige que o usurio seja um usurio avanado pois ela mostra todas as opes dos pacotes que podero ou no ser instalados e cabe ao usurio escolher tudo. usualmente utilizado quando queremos preparar uma mquina Linux para um determinado fim. Escolha a opo auto e de OK. Voc ver agora a tela de PACKAGE SERIES SELECTION onde dever fazer uso das setas de movimentao para se posicionar em cada pacote e utilizar a barra de espao para marcar ou desmarcar o pacote conforme sua necessidade.
Pgina 6
Sistemas Operacionais Linux Prof. Edney Para o uso didtico no ser necessrio marcar nem desmarcar qualquer um dos pacotes. Basta dar OK. Escolha a instalao full para que todo o Slackware seja instalado em seu computador. D OK e agora basta aguardar enquanto o Slackware vai sendo instalado em seu micro. Aps alguns minutos de instalao voc ser perguntado sobre qual Kernel ir ser usado pelo Linux. Escolha a opo Skip this menu (use the default /boot/vmlinuz) e d OK para que o Linux use o kernel padro que j foi instalado em seu computador.
Make Bootdisk
A instalao lhe perguntar se deseja criar um disco de boot para eventuais problemas na instalao do Linux. Escolha a opo Skip making a bootdisk e d um SKIP.
Modem Configuration
A instalao lhe perguntar sobre o modem usado em seu computador. Escolha o modelo correto e d um OK (geralmente ser um modem pci).
Pgina 7
Mouse Configuration
Nesta opo voc escolhe o mouse que utilizado por voc. O mouse da escola a opo imps2 Microsoft PS/2 intellimouse. Faa essa escolha e d OK. Confirme sua escolha com a opo Yes.
Configure Network
Escolha a opo YES para fazer sua configurao de rede. Host Name nome de seu computador Domain Name domnio de rede onde o computador est. Static IP coloca um IP fixo no computador. Geralmente utilizado em servidores dentro de uma rede. DHCP configura o computador para pegar um IP na rede buscando-o em um servidor DHCP. Loopback o endereo da prpria placa de rede, geralmente usado para fazer testes. Escolha Static IP, d OK. Ponha o IP indicado pelo professor.
Pgina 8
Sistemas Operacionais Linux Prof. Edney NetMask mscara de rede. Indica no endereo IP quantos octetos foram destinados a endereos de rede e quantos octetos foram destinados a endereos de hosts (micros ou quaisquer equipamentos na rede). Coloque 255.255.255.0 Gateway Addres endereo utilizado quando um computador deseja se comunicar com outro e o ip deste outro micro no encontrado na rede local. Este Gateway Adrees pode ser considerado a porta de entrada e sada de uma rede local. Deixe-o em branco e d OK. Nameserver Servidor de nomes mais conhecido como DNS (Domain Name Server). Este servidor converte um IP vlido na minha rede para um endereo que mais fcil de se entender pelo usurio ou vice-versa. A princpio, nossa rede no ir acessar um nameserver. Escolha a opo No. Aps esse procedimento realizado basta escolher a opo Accept para aceitar suas novas configuraes de rede.
Setup Complete
A instalao do Linux foi bem sucedida e chegou ao fim. D OK, pressione crtl + alt + del e retire o DVD do Slackware do drive. Aps esse procedimento realizado, o computador ser reiniciado e voc ter acesso a tela do LILO para escolher em qual sistema operacional deseja entrar. Escolha Linux e tecle em enter para prosseguirmos nossa aula.
PADRO POSIX
Pgina 10
Sistemas Operacionais Linux Prof. Edney verses do Unix; porm, em 1990, o IEEE (Instituto de Engenheiros Eltricos e Eletrnicos) comeou a desenvolver o padro POSIX (Portable Operation System Interface Unix) para uniformizar as caractersticas dos Sistemas UNIX.
AMBIENTES GRFICOS
KDE The K Desktop Environment
Pgina 11
Pgina 12
Pgina 13
Man manual
Mostra as pginas do manual online dos comandos utilizados no Linux. man [opes] nome ... Exemplo: Mostra o manual on-line do utilitrio ls. $ man ls
Who quem
Mostra quem esta acessando o sistema. who [opes] [am i]
W quem, o qu
Mostra quem esta acessando o sistema e o que eles esto executando. w [opes] [usurio]
Parmetro Descrio -s Usa o formato curto. No lista o tempo de acesso JCPU ou PCPU; Usurio Mostra informaes somente sobre um usurio especificado.
Date data
Mostra a data e a hora do sistema. Este comando exibe a data e hora corrente, desde que aplicado sem argumentos. Somente o superusuario poder, atravs do uso de argumentos associados ao comando date, alterar a data e hora do sistema. Parmetro -ddatestr Descrio Mostra a hora e data especificados em date string a qual pode estar em quase qualquer formato comum. O mostrador est no formato padro de sada, ou se um argumento iniciando com + dado para date, no formato
Pgina 14
Sistemas Operacionais Linux Prof. Edney especificado pelo argumento; -u Imprime ou acerta a hora e data em Tempo Universal Coordenado (Coordinated Universal Time - tambm conhecido como Tempo Mdio de Greenwich) ao invs do horrio local (do relgio de parede). MMDDhhmm MM representa o ms; DD o dia dentro do ms; hh as horas; mm os minutos cc Yy -ss Representa os dois primeiros dgitos do ano Representa os dois ltimos dgitos do ano Representa os segundos
Cd change directory
Muda o diretrio corrente. cd [nome...] Parmetro Descrio nome Especifica o diretrio que deve ser acessado. A localizao do diretrio pode ser relativa ou absoluta, como mostrada nos exemplos seguintes. J para acessar o diretrio anterior ao corrente, deve-se utilizar no lugar do nome dois pontos em seqncia, ... Mkdir make directory Cria diretrio.
Pgina 15
Sistemas Operacionais Linux Prof. Edney mkdir [-p] nome... Parmetro Descrio -p Possibilita a criao de vrios diretrios concatenados, ou seja, um sendo subdiretrio do outro. nome Nome para o novo diretrio ou conjunto de diretrios. Com o comando mkdir e possvel criar novos diretrios a partir do diretrio corrente.
Cat concatenete
Encadeia e imprime arquivos na sada padro. cat [opes] [arquivo...] Parmetro Descrio -b Numera todas as linhas de sada que no esto vazias ou com espaos, comeando com 1. -n Numera todas as linhas comeando com 1. Exemplos: $ cat > texto.exemplo // cria o arquivo texto.exemplo O linux um sistema operacional de 32 bits (e 64 bits em cpus de 64 bits), semelhante ao UNIX, que gratuito, de fonte aberta e
Pgina 16
Sistemas Operacionais Linux Prof. Edney compatvel com padres. O linux tem tudo que voc pode esperar de um sistema operacional. <Ctrl>+<d> # Salva o contedo digitado no arquivo texto.exemplo
More e Less
Exibe o contedo de um arquivo pagina a pagina. more [opes] [arquivo...] Parmetro Descrio -num Determina a quantidade de linhas, num, que ser mostrada por vez na sada padro +num Inicia a exibio do arquivo a partir da linha num
Head e Tail
Exibe o incio de um arquivo na sada padro. Por default, as dez primeiras linhas so mostradas. head [opes] [arquivo...] Parmetro Descrio -num Lista as primeiras N linhas Exemplo: Exibe o contedo das duas primeiras linhas do arquivo texto.exemplo. $ head -n 2 texto.exemplo O linux um sistema operacional de 32 bits (e 64 bits em cpus de 64 bits),
Wc word count
Contagem de linhas, palavras e caracteres de arquivos. wc [opes] [arquivo...] Parmetro Descrio Pgina 17
Imprime a quantidade de bytes do arquivo Imprime a quantidade de linhas do arquivo Imprime a quantidade de palavras do arquivo O comando wc conta e apresenta o total de linhas, palavras e caracteres de um
More e Less
Exibe o conteudo de um arquivo pagina a pagina. more [opes] [arquivo...] Parmetro Descrio -num Determina a quantidade de linhas, num, que ser mostrada por vez na sada padro +num Inicia a exibio do arquivo a partir da linha num
Mv move
Move ou renomeia arquivos. mv [opes] arquivo... destino Parmetro Descrio -i Pergunta antes de mover um arquivo sobre outro que j existente.
Pgina 18
No pede confirmao, mesmo se o arquivo de destino j exista. Nome do arquivo ou conjunto de arquivos que sero movidos Pode ser um novo nome para o arquivo ou o nome do diretrio de destino para o arquivo O comando mv transfere um arquivo, ou uma lista de arquivos, para o diretrio
de destino. Podem ser usados metacaracteres para racionalizar a quantidade de argumentos. Ele tambm pode ser usado para renomear um arquivo. Exemplos: $ mv texto.exemplo documento.exemplo
Rm remove
Remove arquivos. rm [opes] arquivo... Parmetro Descrio -r Exclui um diretrio e o seu contedo -f No pede confirmao, para eliminar arquivos e/ou diretrios Este comando remove um arquivo, ou uma lista de arquivos, usando metacaracteres. Conforme a opo tambm pode ser utilizado para remover diretrios. Exemplos: $ cd copia $ ls texto.exemplo texto.exemplo.old $ rm texto.exemplo rm: remove regular file `texto.exemplo'? Y
Pgina 19
Ln Link
Freqentemente necessrio manter um arquivo em um diretrio e vincul-lo a outro. Por exemplo: voc poderia manter diversas verses de um programa, denominado prog.0.9, prog.1.1 etc, mas usar o nome prog para se referir a verso usada atualmente. Ou voc pode ter um arquivo instalado em uma partio, pois h espao em disco nela, mas o programa que usa o arquivo precisa estar em uma partio diferente porque o nome do caminho tem muito cdigo no programa. O Linux fornece ligaes para lidar com estas situaes. Uma delas, a ligao simblica um tipo de arquivo provisorio que apenas aponta para outro arquivo. Se voc editar, ler ou executar a ligao simblica, o sistema ser inteligente o suciente para fornecer o arquivo real. ln [opes] origem [destino] Exemplo $ ln -s ../texto.exemplo texto Parmetro Descrio -s Cria link simblico
Pgina 20
Find buscar
Procura arquivos por nomes ou outras caractersticas e processa alguma ao com os arquivos encontrados. Parmetro Descrio -name Procura pelo nome de um arquivo ou conjunto de arquivos. arquivo -size {+ | = | Procura baseada no tamanho dos arquivos. A expresso verdadeira: usando -} tamanho '+' se o tamanho do arquivo for maior que tamanho; usando '=' se for igual ao tamanho; e, usando '-', se for menor que tamanho. -newer x Procura arquivos mais novos que x ou que tenham sido atualizados mais recentemente que ele. \! Negao O comando find procura arquivos recursivamente em cada diretrio especificado em caminho, confrontando-os com a expresso passada. A expresso escrita utilizando-se vrios operadores do comando. Cada operador retorna verdadeiro ou falso. Podem-se compor os operadores usando-se and, or, not e parnteses. A expresso avaliada at que se possa verificar qual o seu valor: verdadeiro ou falso. Exemplos: $ find /home/root/ -name "aluno*" /home/root/aula/alunos /home/root/aula/alunos.copia $ find /home/root/ -size +1000k /home/root/Documents/Apostila de Linux.sxw /home/root/j2sdk-1_4_0_03-linux-i586-rpm.bin
Pgina 21
Sistemas Operacionais Linux Prof. Edney /home/root/j2sdk-1_4_0_03-fcs-linux-i586.rpm /home/root/mdk1.iso /home/root/mdk2.iso /home/root/mdk3.iso No exemplo acima comando find, o Linux procurar, a partir do diretrio /home/root, por arquivos maiores que 1000 kbytes. Observe que foram encontrados seis arquivos nessa situao: abrirei o diretrio /home/root e listarei o contedo para que observe.
$ ls -l mdk* -rw-r--r--rw-r--r--rw-r--r-1 root 1 root 1 root root root root 682471424 Set 30 09:24 mdk1.iso 681586688 Set 30 09:29 mdk2.iso 681881600 Set 30 09:34 mdk3.iso
Grep
Procura por um padro em um arquivo. grep [opes] padro arquivos... Parmetro Descrio -c Apresenta simplesmente o nmero de vezes que apareceu o parmetro padro. -l Mostra os nomes dos arquivos que contem o parmetro padro. Este comando pesquisa linhas nos arquivos de entrada que casam com uma expresso regular (parmetro padro). As linhas da entrada que possuam o padro so escoadas na sada, as linhas que no contenham o padro so rejeitadas. til para buscar denifies de variveis ou funes em programas. Exemplos :$ cat alunos Claudiane Matheus $ grep c alunos 2
Pgina 22
Sort
Ordena as linhas de arquivos texto. sort [opes] arquivo Parmetro Descrio -r Reverte o resultado da comparao, fazendo com que as linhas com valores maiores apaream antes das linhas de valor menor. -b Ignora espaos em branco iniciais ao encontrar os campos chaves de cada linha.
Cut cortar
Seleciona campos de uma tabela. cut {-c|-f|..} [opes] [arquivo...] Parmetro Descrio -c Lista-de-caracteres Lista somente caracteres listados em lista-de-caracteres
Pgina 23
Lista-de-campos Lista somente os campos listados na lista-de-campos. Campos so separados por um TAB por padro.
-d
Para uso com -f, onde os campos so separados pelo primeiro caractere em delimitador ao invs de TAB. Esta uma opo. A entrada padro tratada como uma tabela. O comando seleciona colunas da tabela para serem removidas ou copiadas na sada padro. Exemplos: $ cat alunos Claudiane Matheus Izaura $ cut -c1-7 alunos Claudia Matheus Izaura Este comando listou o contedo da 1 coluna at a coluna 7 $ cut -d 'u' -f 1 alunos Cla Mathe Iza Este comando listou o contedo das linhas at a letra 'u', ou seja a 1 metade. $ cut -d 'u' -f 2 alunos diane s
Pgina 24
Sistemas Operacionais Linux Prof. Edney ra Este comando listou o contedo das linhas aps a letra 'u', ou seja a 2 metade.
Pgina 25
Sistemas Operacionais Linux Prof. Edney ou $ cat aula1a.dat > aula1-completa.dat $ cat aula1b.dat >> aula1-completa.dat Ser visto agora a respeito de um recurso tambm importante de redirecionamento de E/S: o pipe (barra vertical, '|' ). Com o seu uso, o resultado da execuo de um comando a entrada para a execuo de outro comando. Exemplo: Suponha que se deseja visualizar e quantificar todos os processos pertencentes ao usurio root, para isso, existem duas possibilidades: Sem pipe: $ ps au > processos $ grep edney processos > processosroot $ wc -l processosroot 2 processosjosericard ou, com pipe: $ ps au | grep joseric| wc -l No primeiro caso, ainda seria necessrio remover os arquivos processos e procesosroot.
Installpkg
Instala pacotes de aplicativos no Slackware
Pgina 26
Sistemas Operacionais Linux Prof. Edney $ installpkg <nome do pacote a ser instalado>
Removepkg
Remove pacotes previamente instalados no Slackware. $ removepkg <nome do pacote a ser removido>
Gzip
Compacta / descompacta arquivos $ gzip <nome do arquivo a ser compactado> $ gunzip <nome do arquivo a ser descompactado>
GERENCIAMENTO DE PROCESSOS
Todo sistema oferece uma interface para que os usurios tenham algum controle sobre os processos que est executando.
Pgina 27
Sistemas Operacionais Linux Prof. Edney Definio de Processo: Processo um programa em execuo.Mais especificamente, do ponto de vista do sistema operacional, a estrutura responsvel pela manuteno de todas as informaes necessrias execuo de um programa. Os processos so entidades independentes, e cada processo individual possui permisses de acesso e atributo como o PID (Process Identification identificao do processo). O linux, como qualquer outro sistema operacional, responsvel por gerenciar os processos do sistema, de forma a otimizar a utilizao da CPU, de maneira que, se um processo tenta ler ou escrever dados no disco rgido, por exemplo, ficar em estado de waiting (espera) at que a operao de entrada e sada seja completada. Enquanto isso, outro processo ser executado, minizando assim o desperdcio do tempo da CPU, memria e perifricos. No diretrio /proc criado um subdiretrio para cada processo em execuo. Os nomes desses subdiretrios so os PIDs desses processos. Os arquivos cmdline, environ e status, dentro desses subdiretrios, contm informaes detalhadas sobre a execuo desses processos. Os comandos ps, pstree e top podem ser utilizados tambm para obter informaes sobre os processos em execuo. possvel tambm alterar a prioridade de execuo dos processos, por meio dos comandos nice e renice, que permitem um controle individual sobre a prioridade de um processo. Um processo pode ter prioridades variando entre -20 (maior prioridade) e 19 (menor prioridade). O comando nice permite executar um programa ou comando com uma determinada prioridade (a prioridade padro 10), enquanto o renice permite modificar a prioridade de um processo que est em execuo no momento. Contudo, somente o usurio root pode executar processos com prioridade negativa ou modificar a prioridade de processos em execuo para negativa. Um processo possui vrios atributos que controlam a sua execuo. Atributo PID Descrio (Process Identification identificao do processo) Identifica um processo em execuo, Nenhum PID pode ser repetido at nova inicializao do sistema. PPID (Parent Process Identification identificao do processo pai) - Identifica o
Pgina 28
Sistemas Operacionais Linux Prof. Edney processo pai que gerou o processo filho. UID (User Identification identificao do usurio) Identifica o usurio que criou o processo. Somente o usurio root pode abortar os processos criados por outros usurios. GID (Group Identification identificao do grupo) Identifica o grupo ao qual pertence o processo. EUID (Effective User Identification identificao do usurio efetivo) - Quando um programa for executado com seu setuid ligado (isto feito pelo comando chmod +s <arquivo>), o EUID deste processo passa a ser do dono do arquivo executvel, em vez do UID do usurio que est executando este programa. Por exemplo, se o programa que informa o espao em disco for propriedade do usurio root e o seu setuid estiver ligado, qualquer usurio que venha a execut-lo vai adquirir privilgios de usurio root somente para esse processo. EGID (Effective Group Identification identificao do grupo efetivo).
Pgina 29
CLASSIFICAO DE PROCESSOS
Quando execuo, os processos no Unix (e no Linux tambm) podem ser classificados em: Foreground (primeiro plano) Processos executando em foreground so inicializados no terminal de comandos, podem interagir com os usurios e exibem a sua execuo no monitor de vdeo. Esses processos prendem o prompt, impedindo que outros processos sejam inicializados pelo terminal de comandos. Background (segundo plano) Processos executando em background so inicializados no terminal de comandos, no exibem a sua execuo no monitor de vdeo. Esses processos no prendem o prompt e permitem que outros processos sejam inicializados pelo terminal de comandos. Quando ao tipo, os processos no Unix (e no Linux tambm) podem ser classificados em: Processos interativos Processos interativos so iniciados a partir de uma sesso de usurio no terminal de comandos e so controlados por ele. Quando um comando do shell executado, um processo executado em foreground, um program em foreground recebe dados da entrada-padro (stdin) do terminal que controla e envia dados para a sada-padro (stdout) ou para a sada-padro de erros (stderr) desse mesmo terminal. Teclando <ctrl> + <z>, esse processo suspenso e o shell envia a mensagem: stopped e o nmero do job desse processo. Teclando <ctrl> + <x>, esse processo abortado. Os shells possuem comandos para o controle de jobs como fg, bg, jobs. Processos em lote (batch) Processos em lote so controlados pelos comandos at, batch e cron. A sada desses comandos enviada por mail para o usurio, depois que a execuo for concluda. Quando ao tipo, os processos no Unix (e no Linux tambm) podem ser classificados em: Daemons Daemons so processos servidores normalmente executados quando o Linux inicializado, permanecendo em execuo enquanto o sistema estiver em Pgina 30
Sistemas Operacionais Linux Prof. Edney funcionamento esperando em background (segundo plano) que algum outro processo solicite o seu servio. o caso, por exemplo, do sendmail e do postfix, que so programas de transporte de mail atravs do computador ou para outros computadores interligados via rede.
Pgina 31
Sistemas Operacionais Linux Prof. Edney Exemplo: $ find / -iname "a*" > arquivoslocalizados <ctrl> <z> Par a execuo do processo $ jobs Lista os jobs ativos [1]+ Stopped find / -iname "a*" > arquivoslocalizados
$ bg 1 Continua a execuo do comando find em 2 plano (background) $ fg 1 Continua a execuo do comando find em 1 plano (foreground) outra maneira de executar um processo em segundo plano utilizando & no fim da linha de comando $ find / -iname a* > arquivoslocalizados & $ jobs l
Criando um Programa em C
Edite um arquivo chamado de letra.c com o editor vi $ vi letra.c //letra.c int main(){ char ch='a'; int i; for (i =1; i<8000;i++) { usleep(3000); printf("\n%c", ch++); if (ch=='z') ch = 'a'; } printf("\n.::Fim de Arquivo::.\n\n"); Pgina 32
Sistemas Operacionais Linux Prof. Edney } compile o arquivo com o comando $ gcc letra.c -o letra Edite um arquivo chamado de num.c com o editor vi $ vi num.c //num.c int main() { int i; for (i =1; i<8000;i++) { usleep(3000); printf("\n%d", ch++); } printf("\n.::Fim de Arquivo::.\n\n"); } compile o arquivo com o comando $ gcc num.c -o num
Pgina 33
Sistemas Operacionais Linux Prof. Edney -p Exibe o processo cujo o nmero pid. Execute os programas $ ./num & ./letra & abra um outro terminal $ ps au
Top
Exibe os processos com maior consumo de CPU top [opes]
Pgina 34
Parmetro Descrio -u Exibe apenas processos pertencentes ao usurio especificado <usurio> -U <usurio> -d <n> No mostra processos pertencentes ao usurio especificado Atualiza o monitor de vdeo a cada n segundos Para pedir ajuda, pressione <h> Para matar um processo pressione <k> e digite o pid Para sair pressione <q>
$ top
Free
Exibe a quantidade de memria livre usada no sistema free [opes] Parmetro Descrio -b Exibe as informaes em Bytes -k -m -o Exibe as informaes em KiloBytes Exibe as informaes em MegaBytes Exibe os dados sem levar em considerao a memria utilizada como buffer. -s <n> Exibe continuamente no intervalo (em n segundos) especificado os dados de memria Exemplo $ free -s 5
Pgina 35
Kill
Kill - Finaliza um processo pelo PID
kill [opes] [sinal] <pid_processo> Parmetro Descrio -n Sinal aplicado ao processo -l Exemplo: $ kill -9 2314 (mata (cancela ou aborta) o processo 2314 Lista todos os nomes e nmeros de sinais
Killall
Finaliza um processo pelo nome killall [opes] [sinal] <nome_processo> Parmetro Descrio -n Sinal aplicado ao processo -l Exemplo: $ killall -9 gedit (mata (cancela ou aborta) o processo gedit). Lista todos os nomes e nmeros de sinais
Usurios e Grupos
Pgina 36
Sistemas Operacionais Linux Prof. Edney Um usurio algum que possui uma identificao no sistema, um nome e um nmero. Essas informaes permitem ao Linux controlar como o acesso garantido aos usurios e o que eles podem fazer depois de obter a permisso de acesso. Um grupo um conjunto de usurios. Cada grupo tambm possui uma identificao nica no sistema, um nome e um nmero. Os administradores de sistema frequentemente controlam o acesso por grupos. A maioria das distribuies do Linux utiliza um sistema de grupo privado de usurios (UPG), tornando a administrao muito mais simples. O sistema UPG no altera o padro Unix, simplesmente oferece uma nova conveno no gerenciamento de grupos. Toda vez que um usurio novo criado, automaticamente criado um novo grupo com o mesmo nome de usurio, do qual ele o nico membro.
Descrio O nome do usurio. Cada nome de usurio deve ser nico A senha pela qual o usurio pode acessar o sistema. Abreviatura de User Identification (identificao de usurio). Esse nmero usado em conjunto com o nome do login para permitir o acesso do usurio ao sistema.
Abreviatura de Group Identification (identificao de Grupo). Descrio do usurio. Geralmente o nome completo do usurio. o diretrio do usurio quando ele acessa o sistema, onde seus
Pgina 37
Sistemas Operacionais Linux Prof. Edney Path arquivos so armazenados. Todos os seus arquivos de configurao pessoal tambm so mantidos aqui Shell o programa executado quando o usurio acessa o sistema. Geralmente um shell de comando como o bash.
Arquivo /etc/passwd
Obs.: Sintaxe desse arquivo : <usurio> : <senha criptografada> : <UID> : <GID> : <comentrio> : <home> : <shell> Incio do Arquivo
Pgina 38
Sistemas Operacionais Linux Prof. Edney # /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/bin/sh daemon:x:2:2:daemon:/sbin:/bin/sh adm:x:3:4:adm:/var/adm:/bin/sh lp:x:4:7:lp:/var/spool/lpd:/bin/sh sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/bin/sh news:x:9:13:news:/var/spool/news:/bin/sh uucp:x:10:14:uucp:/var/spool/uucp:/bin/sh operator:x:11:0:operator:/var:/bin/sh games:x:12:100:games:/usr/games:/bin/sh nobody:x:65534:65534:Nobody:/:/bin/sh rpm:x:13:101:system user for rpm:/var/lib/rpm:/bin/false vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin rpc:x:70:70:system user for portmap:/:/bin/false xfs:x:71:71:system user for XFree86:/etc/X11/fs:/bin/false apache:x:72:72:system user for apache-conf:/var/www:/bin/sh postfix:x:73:73:system user for postfix:/var/spool/postfix:/bin/false rpcuser:x:74:74:system user for nfs-utils:/var/lib/nfs:/bin/false sshd:x:75:75:system user for openssh:/var/empty:/bin/true gdm:x:76:76:system user for gdm:/var/lib/gdm:/bin/false
Pgina 39
Sistemas Operacionais Linux Prof. Edney ftp:x:77:77:system user for proftpd:/var/ftp:/bin/false postgres:x:78:78:system user for postgresql:/var/lib/pgsql:/bin/bash root:x:501:501:Jose ricardo:/home/root:/bin/bash mysql:x:79:79:system user for MySQL:/var/lib/mysql:/bin/bash aluno:x:502:500:aluno:/home/aluno:/bin/bashArquivo /etc/shadowObs.: Sintaxe desse arquivo : <usurio> : <senha criptografada> : <n dias aps 01/01/1970 a senha foi mudada pela ltima vez> : <n dias depois da criao do usurio, a senha pode ser modificada> : <n dias depois da criao do usurio, a senha deve ser modificada> : <notifica o usurio n dias antes que a senha expire> : <desabilita a conta n dias aps a senha ter expirado> : <n dias aps 01/01/1970 a conta ser expirada> : <campo reservado> para maiores informaes, execute o comando: $ man shadow Incio do Arquivo # /etc/shadow root:$1$oLz1JH5g$9Ru.bA5PHdlOFy.0LcsMc/:12438:0:99999:7::: bin:*:12438:0:99999:7::: daemon:*:12438:0:99999:7::: adm:*:12438:0:99999:7::: lp:*:12438:0:99999:7:::
Pgina 40
Sistemas Operacionais Linux Prof. Edney sync:*:12438:0:99999:7::: shutdown:*:12438:0:99999:7::: halt:*:12438:0:99999:7::: mail:*:12438:0:99999:7::: news:*:12438:0:99999:7::: uucp:*:12438:0:99999:7::: operator:*:12438:0:99999:7::: games:*:12438:0:99999:7::: nobody:*:12438:0:99999:7::: rpm:!!:12438:0:99999:7::: vcsa:!!:12438:0:99999:7::: rpc:!!:12438:0:99999:7::: xfs:!!:12438:0:99999:7::: apache:!!:12438:0:99999:7::: postfix:!!:12438:0:99999:7::: rpcuser:!!:12438:0:99999:7::: sshd:!!:12438:0:99999:7::: gdm:!!:12438:0:99999:7::: ftp:!!:12438:0:99999:7::: postgres:!!:12438:0:99999:7::: josericardo:$1$ABi/Noww$bPGIOJBA.g/Fm8cXyIJAj1:12438:0:99999:7::: mysql:!!:12445:0:99999:7::: aluno:$1$VKnE269n$cYEEpP2o.LsLMVJ9EHa410:12504::99999::::
Pgina 41
Arquivo /etc/group
Obs.: Sintaxe desse arquivo : <grupo> : <senha criptografada> : <GID> : <comentrio> : lista de usurios Voc no est vendo o arquivo group na ntegra pois eliminei algumas linhas para que coubesse num slide.Incio do arquivo # /etc/groups root:x:0: bin:x:1: daemon:x:2: sys:x:3: tty:x:5: disk:x:6: lp:x:7: mem:x:8: kmem:x:9: wheel:x:10: uucp:x:14: floppy:x:19: cdrom:x:22: users:x:100: xgrp:x:102:xfs,gdm rpc:x:70: xfs:x:71: apache:x:72: Pgina 42
Sistemas Operacionais Linux Prof. Edney postfix:x:73: pppusers:x:230: popusers:x:231: rpcuser:x:74: sshd:x:75: slocate:x:233: ftp:x:77: josericardo:x:501: mysql:x:79: aluno:*:500:
Arquivo /etc/default/useradd
Item GROUP=100 HOME=/home INACTIVE=-1 Descrio Indica o GID do primeiro usurio vlido a ser criado Indica onde sero criados os diretrios home dos usurios Indica quantos dias aps a expirao da senha a conta ir se tornar invlida EXPIRE= Indica a data na qual a conta ser desabilitada, se o valor for nulo, a conta no ser desabilitada SHELL=/bin/bash SKEL=/etc/skel Especifica o shell do usurio Copia recursivamente os arquivos e subdiretrios presentes no diretrio especificado para o diretrio home.
Arquivo /etc/login.defs
Item Descrio
Pgina 43
MAIL_DIR
PASS_MAX_DAYS 99999 # nmero de dias at que a senha expire PASS_MIN_DAYS PASS_MIN_LEN 0 # nmero mnimo de dias entre duas alteraes de senha 5# nmero mnimo de caracteres para uma senha
PASS_WARN_AGE 7# nmero de dias anteriores expirao da senha que o usurio deve ser notificado UID_MIN UID_MAX GID_MIN GID_MAX #USERDEL_CMD 500# nmero mnimo para UID de contas de usurios 60000 # nmero mximo para UID de contas de usurios 500# nmero mnimo para GID de contas de usurios 60000 # nmero mximo para GID de contas de usurios /usr/sbin/userdel_local # Comando a ser usado com o comando userdel na remoo de um usurio CREATE_HOME yes# indica se o diretrio home do usurio deve ou no ser criado.
useradd ou adduser
Adiciona usurios ao sistema useradd <usurio> [opes] adduser <usurio> [opes] Item -d <dir_home> Descrio Diretrio home do usurio que est sendo criado
Pgina 44
Comentrio
Grupos extras dos quais o usurio ser membro Programa que o usurio utilizar ao entrar no sistema (normalmente um shell) Especifica a data na qual a conta ser desabilitada
<num Indica quantos dias aps a expirao da senha a conta ser desabilitada.
# useradd aluno # adduser jose # adduser ricardo -d /home/ricardo -c Prof Jos Ricardo -g professores -s /bin/bash
chage
Muda as informaes de expirao de senha de um usurio chage <usurio> [opes] Item -l -M dias> -m <num Nmero mnimo de dias entre alteraes de senha. O Valor zero indica que o Descrio Exibe informaes de expirao de senha de um usurio <num Nmero mximo de dias at que a senha expire
Pgina 45
Sistemas Operacionais Linux Prof. Edney dias> -d <mm/dd/aa> -I dias> -E <mm/dd/aa> -W dias> <num Indica o nmero de dias anteriores expirao da senha que o usurio deve ser notificado Exemplos # chage aluno -l # chage aluno <num (letra i) Nmero de dias entre a expirao da senha e o bloqueio da conta do usurio Data de expirao da conta do usurio usurio pode alterar sua senha a qualquer tempo Data da ltima alterao da senha
passwd
Define a senha para um usurio passwd <usurio> Exemplo # passwd josericardo
userdel
Elimina um usurio do sistema userdel <opo> <usurio> Item -r Descrio Remove todos os arquivos do usurio, incluindo o seu diretrio home Exemplo: # userdel -r aluno
Pgina 46
id
Exibe o identificador do usurio id [opes] Item -u Descrio Exibe apenas o identificador efetivo do usurio
-g
Exemplo: $ id $ id -u
su
Troca o id efetivo do usurio. (loga como um outro usurio) su [opes] [usurio] Item -c <comando> -l Torna o interpretador um interpretador de acesso. Isso significa limpar todas as variveis de interpretador, exceto TERM, HOME, SHELL, USER e LOGNAME, e configura a varivel PATH, alterando a localizao para o diretrio pessoal do usurio. Descrio Executa apenas o comando especificado
Exemplos: Pgina 47
groupadd
Adicona grupos ao sistema groupadd <grupo> [opes] Item -g <GID> Descrio Nmero do grupo Exemplo: # groupadd laboratorio # groupadd sistemas -g 1000
gpasswd
Define senha para um grupo e realiza vrias funes de administrao de usurios e grupos. Obs.: Embora seja possvel definir e remover senhas para grupos, essa modalidade no funciona em alguns sistemas Linux/Unix. Neste caso, para permitir ou negar acesso de usurios em um determinado grupo, utilizamos as opes -a e -d. gpasswd [opes] [usurios] <grupo> Item -a -d -r -A -M Descrio Adiciona usurio ao grupo Exclui usurio do grupo Remove senha do grupo Define o administrador do grupo Define membros do grupo
Pgina 48
-R
Desabilita o acesso ao grupo pelo comando newgrp Exemplos: # useradd jose # passwd jose # gpasswd laboratorio // define a senha do grupo laboratorio # gpasswd -a jose laboratorio # gpasswd -d jose laboratorio # gpasswd -r laboratorio # userdel -r jose
groupdel
Remove um grupo do sistema groupdel <grupo> Exemplos: # groupdel sistemas # groupdel laboratorio
groups
Exibe os grupos de um usurio. Se nenhum usurio for especificado, mostrar informaes sobre o usurio que executou o comando. groups [grupo] Exemplos: $ groups $ groups root
Sistemas Operacionais Linux Prof. Edney # useradd jose # passwd jose Edite o arquivo /etc/passwd com um editor de texto qualquer e modifique o UID e o GID do usurio jose para 0: jose:x:501:501::/home/jose:/bin/bash passar a ser: jose:x:0:0::/home/jose:/bin/bash Ento o usurio jose ter todo o poder do root, por padro.
Pgina 50
GERENCIAMENTO DE PRIVILGIOS
O gerenciamento de privilgios permite o administrador do sistema definir polticas para acesso dos usurios e grupos aos arquivos, diretrios e programas executveis do sistema.
Permisses e Privilgios
O linux fornece facilidades de proteo dos arquivos e diretrios. Estas protees so organizadas em trs classes de privilgios: do dono, do grupo e dos outros. Cada classe composta de trs nveis bsicos de permisses: para leitura, para escrita e para execuo. O dono do arquivo normalmente aquele que criou o arquivo, ou dono ao o superusurio (root) definiu que o arquivo pertenceria. O grupo do arquivo normalmente, mas nem sempre, o grupo ao qual o usurio pertence (ou, depende do sistema, um dos grupos ao qual o usurio pertence). Normalmente os arquivos so criados com uma permisso padro, que, salvo meno em contrrio (comando umask) ser o dono com permisso para ler e escrever (e, se for o caso, executar), grupo e outros com permisso para ler (e, se for o caso, para escrever e/ou executar).
Pgina 51
Sticky
Um arquivo criado em um diretrio com o bit sticky ligado s pode ser apagado por seu proprietrio.
LISTAGENS DE PRIVILGIOS$ ls -l
-rwxrwxrwx -rw-rw-r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r-drwxrwxr-x drwxr-xr-x 1 1 1 1 1 1 1 2 2 josericardo josericardo josericardo josericardo josericardo josericardo josericardo josericardo josericardo josericardo josericardo josericardo josericardo josericardo josericardo josericardo josericardo josericardo 1162509 705 389 0 705 83 861 4096 4096 Nov Out Nov Nov Nov Nov Nov Out Nov 11 15 11 11 11 11 11 15 11 10:16 16:45 09:36 09:37 09:38 09:36 09:40 16:13 09:42 Apostila de Linux.sxw* arquivos.html exemplo1.dat exemplo2.dat exemplo3.dat exemplo.dat exemplo.zip Java/ textos/
Os dez primeiros caracteres das linhas listadas pelo comando ls -l, definem precisamente o que os usurios de cada classe podem fazer com seus arquivos e diretrios. Esses caracteres so chamados de modos de permisso. Para entender o que esses caracteres signicam, separe-os em quatro grupos com 1, 3, 3 e 3 caracteres O primeiro caracter define o tipo de entidade do sistema de arquivos (arquivo, diretorio, link etc): um - representa um arquivo normal; o d", um diretorio; o l", um link simblico. Outras possibilidades raramente utilizadas.
Listagens de Privilgios
Os outros nove caracteres devem ser separados em trs grupos de trs caracteres cada: o primeiro grupo define as permisses do dono; o segundo, as permisses do grupo; e o terceiro, as permisses dos outros usurios. Em cada grupo, as permisses sempre aparecem na ordem leitura, escrita, execuo. A permisso de leitura e sempre indicada com um r"; a permiss de escrita, com um w"; e, a permisso de execuo com um x". Enquanto, a permisso negada e indicada por um hfen, -", na posio adequada. Exemplo: $ ls -l arquivos.html -rw-rw-r-- 1 josericardo josericardo 705 Out 15 16:45 arquivos.html
rw-
rw-
r--
Pgina 52
<classe><operando><valor> separados por vrgula. Classe u g o a Descrio Permisses para o dono do arquivo. Permisses para o grupo do arquivo. Permisses para outros usurios. Todos os anteriores (all).
Operando + = -
Descrio Adiciona permisses as permisses existentes no arquivo. Assinala explicitamente uma permisso, retirando as outras. Retira permisses das permisses existentes no arquivo.
Pgina 53
Valor r w x s t
Descrio Permisso de Leitura Permisso de escrita Permisso de Execuo Bit setuid se atribudo a u, bit setgid se atribudo a g. Bit sticky Modo absoluto: definido na forma <atributo_especial>
<dono><grupo><outros> Obs.: O atributo especial opcional Atributo Especial 0 1 2 3 4 5 6 7 Dgito 0 Descrio Nenhum atributo especial ligado Bit sticky ligado. Bit setgid ligado. Bits sticky e setgid ligados Bit setuid ligado Bits sticky e setuid ligados Bits setuid e setgid ligados Bits setuid, setgid e sticky ligados Binrio Equivalente Permisses 000 --Descrio Nenhuma
Pgina 54
001
--x
execuo
2 3 4 5 6 7
escrita Escrita e execuo leitura Leitura e execuo Leitura e escrista Leitura, escrita e execuo
Exemplos# chmod u+x script Adiciona permisso de execuo para dono ao arquivo script # chmod u+wx,g-w,o=r Adiciona permisso de escrita e execuo para o dono, retira permisso de escrita do grupo e para os outros usurios permite apenas a leitura # chmod 750 teste dono = leitura, escrita e execuo grupo = leitura e execuo outros = nenhuma permisso # chmod 0750 teste equivalente ao anterior # chmod 777 /home/samba/share liga o bit sticky do diretrio e d permisso de leitura, escrita e execuo para todos os usurioschown Muda o dono de um arquivo
Pgina 55
Sistemas Operacionais Linux Prof. Edney chown [opes] <novo_dono[.novo_grupo]> <arquivo> Item -R -c -v -f Descrio Muda o dono de todos os arquivos e subdiretrios abaixo especificados. Mostra informaes sobre os arquivos modificados. Descreve detalhadamente as alteraes de atributos. No imprime mensagens de erro. Exemplos # chown josericardo apostilalinux.sxw S muda o proprietrio # chown root.root apostilalinux.sxw Muda o proprietrio e o grupo
chgrp
Muda o grupo de um arquivo chown [opes] <novo_grupo> <arquivo> Item -R Descrio Muda o grupo de todos os arquivos e subdiretrios abaixo especificados.
-c -v -f
Mostra informaes sobre os arquivos modificados. Descreve detalhadamente as alteraes de atributos. No imprime mensagens de erro. Exemplos # chgrp alunos exercicios.txt
Pgina 56
umask [mscara]
Altera o valor da mscara de criao de arquivos. Os valores do umask so baseados no valor 666, isto , a sada e a entrada do comando umask so subtradas deste valor. A mscar padro de criao de arquivos unix 022, isto , a permisso de criao de acesso dos arquivos 666 022 = 644 (rw-r--r--); o que significa que o usurio tem direito de leitura e escrita, o grupo e os demais usurios tm permisso de leitura. Exemplos $ umask Exibe a mscara que est sendo utilizada $ touch teste $ umask 002 A permisso 666 002 = 644 (rw-rw-r--) $ touch teste2 $ ls -l teste* -rw-rw-r--rw-r--r-1 1 josericardo josericardo josericardo josericardo 0 Abr 19 11:25 teste 0 Abr 19 11:26 teste2
Pgina 57
Pgina 58
Pgina 59
Disquete
/dev/fd(n)
Disco rgido
/dev/hd(.z)(n)
MS-DOS
Exemplo # fdisk /dev/hdb Digite m para obter uma lista de comandos que podem ser executados pelo fdisk.
Pgina 60
mkfs
Cria um sistema de arquivos em um dispositivo de armazenamento (formata logicamente o dispositivo). mkfs [opes] <dispositivo> Item -v -c -t Descrio Exibe as operaes que o comando mkfs executa Verifica a existncia de blocos ruins no dispositivo. sistema de arquivos, onde tipo_sistema pode ser ext2, ext3, reiserfs ou
resize2fs
Redimensiona os sistemas de arquivos ext2 e ext3 resize2fs [opes] <dispositivo> [tamanho] Item Descrio
Pgina 61
-f -p
Fora o redimensionamento Exibe uma barra de progresso da operao Exemplo: # resize2fs /dev/hda7 524288 obs.: tamanho em bytes
resize_reiserfs
Redimensiona os sistemas de arquivos Reiserfs resize_reiserfs [opes] <dispositivo> Item -f -s Descrio Fora o redimensionamento [+/-] Tamanho do sistema de arquivos
fdformat
Efetua a formatao de baixo nvel (cria trilhas e setores) de um disco flexvel, sem criar um sistema de arquivos fdformat [opes] <dispositivo><tipo_drive> Item -n H1200 Descrio No faz verificao aps a formatao tipo_drive: Drive 5 polegadas 1.2 Mb
Pgina 62
H1440
drive 3 polegadas 1.44 Mb Exemplo: # fdformat /dev/fd0H1440 Obs.: algumas distribuies utilizam u1440, u1200, antes de executar o
comando fdformat verifique no diretrio /dev/ o nome correto do link usando o comado ls l | less
mount
Monta sistemas de arquivos mount [opes] <dispositivo> <ponto_montagem> Item -a -h -r Descrio Monta todos os dispositivos referenciados no arquivo /etc/fstab Exibe mensagem de ajuda Monta o dispositivo somente para leitura (sem permisso para gravao) drive 3 polegadas 1.44 Mb -w -t<tipo> msdos vfat ntfs ext2 ext3 Monta o dispositivo para leitura e gravao Especifica o tipo de sistema de arquivo no dispositivo FAT 16 do MS-DOS FAT 32 Windows 95 OSR2/Windows 98 Windows NT 4.0 Linux Journaling do Linux (ext2 + journaling)
Pgina 63
Sistemas Operacionais Linux Prof. Edney reiserfs iso9660 nfs smbfs Exemplo: # mount -t vfat /dev/hda1 /mnt/windows Outro sistema de arquivo do Linux Sistema de arquivos para montagem de CD-ROM Sistema de arquivos de rede do Unix Sistema de arquivos de rede do Windows
Montando um Pendrive
Crie um ponto de montagem em /mnt (diretrio onde voc vai montar a imagem do pendrive em seu disco). # mkdir /mnt/pendrive Faa a montagem do pendrive # mount t vfat /dev/sdb /mnt/pendrive
umount
Desmonta sistemas de arquivos. O comando umount no permite desmontar um sistema de arquivos no qual estamos trabalhando. Se tentarmos fazer isto, o sistema operacional exibir uma mensagem de erro. umount <dispositivo> ou <ponto_montagem> Exemplo: # umount /dev/hda1 ou # umount /mnt/windows
Pgina 64
Sistemas Operacionais Linux Prof. Edney Item -i -k Descrio Mostra os valores em inodes Mostra os valores em kilobytes Exemplo: # df # df /dev/hda1
Pgina 65
-C -N -a -r -t <tipo_sistema>
Mostra barra de progresso (somente para ext2/ext3) No executa, somente mostra o que seria feito Repara automaticamente o sistema de arquivos. Repara interativamente o sistema de arquivos (solicita confirmao) Sistema de arquivos, onde tipo_sistema pode ser ext, ext3, reiserfs ou msdos
MONTANDO AUTOMATICAMENTE SISTEMAS DE ARQUIVOS: O ARQUIVO /ETC/FSTABO arquivo /etc/fstab contm as entradas dos dispositivos e/ou
parties que contm os sitemas de arquivos existentes no Linux. possvel adicionar mais dispositivos e/ou parties editando cuidadosamente esse arquivo. Exemplo do arquivo /etc/fstab
# /etc/fstab /dev/hda5 none /dev/hda7 none /dev/hda1 none /dev/hda6 /dev/sda1 / /dev/pts /home /mnt/windows swap /mnt/camera /mnt/cdrom ntfs /proc auto ext3 devpts ext3 supermount noatime mode=0620 noatime user,dev=/dev/scd0,fs=auto,ro,--,iocharset=iso8859-1,codepage=850,umask=0 exec,dev,suid,rw,umask=0,iocharset=iso8859-1 proc defaults defaults user,iocharset=iso8859-1,kudzu,codepage=850,noauto,umask=0,exec
swap
Pgina 66
noauto o dispositivo deve ser especificado para a montagem user rw ro 5 permite que os usurios comuns montem o dispositivo monta o dispositivo para leitura e escrita monta o dispositivo para somente leitura
Verificao e reparo do dispositivo 0 1 No faz verificao e reparo do dispositivo Faz verificao e reparo do dispositivo, isto , usa os comandos
Pgina 67
Sistemas Operacionais Linux Prof. Edney fsck, fsck.* e e2fsk para tal Obs.: a palavra supermount, contida na 3 coluna, diz que um sistema de arquivos virtual, que fica permanente montado sobre os dispositivos de mdia removvel, mesmo que no haja mdia inserida neles. Pois para acess-los basta abrir o seu diretrio /mnt/cdrom e para retirar o cd no h necessidade de desmont-lo para sair do diretrio e retirar a mdia.
CONFIGURAES DE REDE
Existem vrias formas de se configurar uma rede no Linux, atravs da manipulao direta de arquivos de configurao, utilizando o utilitrio netconfig etc.. Para tanto, preciso entender para que serve ada uma das opes solicitadas durante esta configurao:
Hostname
Nome que se deseja atriubuir ao host (equipamento de rede), que pode ser um computador, uma impressora ou qualquer outro dispositivo conectado a rede.
Domain Name
Domnio de rede ou, simplesmente, o nome atribudo a rede.
IP
O endereo IP um nmero formado por quatro octetos, cuja finalidade fornecer um endereo de rede e host para um determinado equipamento na rede. Atravs do endereo IP possvel acessar os recursos oferecidos por tal equipamento na rede.
Pgina 68
Submask Address
Mscara de rede, este nmero define como esto organizados os octetos em um endereo IP. O endereo IP formado por octetos ou partes de octetos que se referem ao endereo da rede e octetos ou partes de octetos que se referem ao nmero do host dentro de uma determinada rede.
Static IP
Quando se escolhe a opo Static IP, necessrio informar o endereo IP a ser atribudo ao host que se est configurando. Geralmente, este tipo de configurao com IP fixo feito apenas nos hosts que provero servios na rede (Servidores de Rede). Os demais hosts da rede que recebem tais servios so chamados de clientes e recebem estas informaes de rede de um servidor DHCP.
Possveis Problemas
Por padro o Slackware reconhece a placa de rede como eth0. Sendo assim, o comando netconfig funciona perfeitamente quando utilizado. Porm, em alguns casos, possvel que sua placa de rede seja reconhecida como eth1, eth2, ethx.
Pgina 69
Sistemas Operacionais Linux Prof. Edney Nestes casos preciso faz-la ser reconhecida pelo sistema operacional como eth0 pra que o netconfig funcione como se deve. Segue abaixo os passos: Configure uma rede qualquer na eth1. # ifconfig eth1 192.168.0.1 Execute o comando ifconfig para descobrir o MAC ADDRESS de sua placa de rede e anote-o. # ifconfig Derrube a placa de rede eth1. # ifconfig eth1 down Execute o comando nameif para fazer com que a eth0 seja o novo nome para o MAC ADDRESS desejado (que fora anotado anteriormente). # nameif eth0 00:0C:29:E8:29:C6 Reconfigure sua rede atravs do comando netconfig e, em seguida, reinicie a rede. # /etc/rc.d/rc.inet1 start Para se certificar que tudo funcionou conforme planejado execute o comando ifconfig novamente e veja se as configuraes de rede foram feitas na eth0. # ifconfig
Sistemas Operacionais Linux Prof. Edney Para fazer o roteamento entre essas redes no Linux necessrio atribuir um segundo IP para a placa de rede do roteador, fazendo com que esta placa de rede tenha um endereo IP pertencente as redes que devem se comunicar. Para tanto, execute os seguintes comandos supondo que seu IP o 192.168.0.1 e a mscara de rede est configurada com 255.255.255.0:
SERVIDOR DHCP
Numa rede de Arquitetura TCP/IP, todo computador tem que possuir um endereo IP distinto. O DHCP - Dynamic Host Configuration Protocol - o protocolo que prov um meio para alocar estes endereos dinamicamente.
O que o DHCP?
A configurao automtica e dinmica de computadores ligados a uma rede TCP/IP, no que tange aos inmeros parmetros de rede, j possvel utilizando-se o Dynamic Host Configuration Protocol (DHCP) ([RFC2131]). O DHCP, que e' hoje um protocolo recomendado, em vias de ser padronizado pelo Internet Activities Board (IAB),
Pgina 71
Sistemas Operacionais Linux Prof. Edney facilita, e ate' mesmo viabiliza, a gerencia de grandes redes IPs, assim como a vida dos usurios itinerantes com seus computadores portteis. Para o perfeito funcionamento de um computador ligado a uma rede Internet, no apenas precisa-se configurar o seu endereo IP, mas tambm uma serie de outros parmetros de rede. Um cliente DHCP busca encontrar um ou mais servidores DHCP que possam fornecer os parmetros desejados, para que sua maquina possa ser automaticamente configurada. Embora no seja o nico parmetro indispensvel, o endereo IP e', sem duvida, o mais importante deles, assim como o mais peculiar, posto que um determinado endereo no deve ser utilizado por mais de um cliente ao mesmo tempo. O DCHP possibilita a implementao uma poltica de alocao dinmica de endereos IPs, que possibilita a reutilizao de endereos disponveis ao longo do tempo.
Como Funciona?
Um servidor DHCP, respondendo a uma solicitao de parmetros de um cliente, oferece uma opo, dentre as que tiverem disponveis, para o solicitante, informando-lhe o tempo de arrendamento (leasing) dos parmetros oferecidos. Em resposta aos oferecimentos dos diversos servidores, o cliente poder optar por aceitar, ou no, uma das proposta, indicando o fato ao servidor da proposta eleita, ou optando por fazer nova requisio. Recebendo o aceite do cliente, o servidor reserva o endereo IP (se ainda estiver disponvel) e indica o fato ao cliente, que, a partir de ento, poder fazer a correta e almejada configurao do seu computador. facultado ao cliente, solicitar um re-arrendamento dos parmetros obtidos ao servidor. Tal solicitao devera' ser feita quando atingido a metade do tempo de arrendamento combinado, minorando assim a possibilidade de ocorrncia de problemas com eventuais descompassos entre os relgios dos dois equipamentos. Espera-se tambm que o cliente informe ao servidor quando no for mais utilizar os recursos alocados - por exemplo, quando estiver sendo desligado. Porem, esta atitude cordial do cliente, se no ocorrer, no far com que o endereo seja indefinidamente
Pgina 72
Sistemas Operacionais Linux Prof. Edney inutilizado, posto que, ao final do tempo de arrendamento, o servidor assumira' que tal endereo poder' ser re-alocado sem problemas. possvel que o servidor DHCP no esteja no mesmo enlace do cliente e que entre eles haja algum roteador que no faca o roteamento dos pacotes DHCP. Deve-se lembrar que o cliente DHCP, por no saber inicialmente quem e' o servidor DHCP, utiliza o broadcast para procur-lo, e que o mesmo pode ser feito pelo servidor at que o cliente tenha um endereo IP fixo. No caso ento de, entre o servidor e o cliente, haver um roteador que no encaminhe devidamente pacotes DHCP, h a necessidade de um elemento intermedirio: o relay DHCP. O relay DHCP e' uma mquina capaz de receber pacotes dos clientes DHCP de sua rede, por exemplo, e encaminhar essas solicitaes a um ou mais servidores em outras redes.
Sistemas Operacionais Linux Prof. Edney podem utilizar endereos alocados automaticamente, e maquinas moveis devem adquirir endereos de forma dinmica, por exemplo. Uma outra aplicao interessante e' utilizar o DHCP, em conjunto com o PPP, nos servidores de comunicao para alocao de endereos e parmetros de rede para clientes temporrios que utilizam o acesso discado. O PPP tem seu prprio jeito de alocar a um cliente um endereo IP: o IP Control Protocol - IPCP ([RFC1332]), que possibilita ao servidor de comunicao (servidor PPP) passar para o cliente um endereo IP. Onde, ento, entraria o DHCP? Alguns servidores de comunicao ([Wobus97]) podem solicitar via DHCP um determinado IP antes de pass-lo para o cliente, via IPCP.
Problemas
A alocao dinmica de endereos nem sempre e' conveniente para todas as maquinas de uma rede. Maquinas que so referenciadas pelos seus endereos IPs, e no por seus nomes, como os roteadores, por exemplo, devem ter um endereo IP fixo. H casos em que um determinado recurso e' associado a um determinado endereo IP definido pelo DNS, e.g. e' comum associar um endereo IP a um servidor Web. Dessa forma, no e' conveniente utilizar uma busca dinmica do endereo IP deste servidor. Pode-se utilizar alocao manual, associando no servidor DHCP o endereo de MAC do servidor Web a seu endereo IP. A alocao dinmica pode tambm inviabilizar os esquemas de segurana que se baseiam em permitir ou coibir o acesso a determinados recursos atravs da identificao do endereo IP ou do nome da maquina do solicitante (e.g. os comandos r's do UNIX ou os esquemas de controle de acesso por nome/endereos IP do apache). Em redes onde este tipo de controle e' feito a nvel de maquina, e' necessrio restringir o uso do DHCP dinmico. O uso do DHCP dinmico pode vir a comprometer seriamente a segurana de uma rede cujos pontos de acesso no so controlados, ou so utilizados por usurios no confiveis. Um usurio mal intencionado ou desavisado pode causar grandes transtornos, configurando um servidor DHCP no oficial, por exemplo. O DHCP e' construdo sobre o protocolo UDP, que e' um protocolo inseguro, herdando, portanto, as suas falhas de segurana.
Pgina 74
option pop-server 195.165.10.10; # Servidor de recebimento de e-mails subnet 195.165.10.0 netmask 255.255.255.0 { # Configurao da rede option broadcast-address 195.165.10.255; # Endereo de broadcast option routers 195.165.10.1; # Endereo do roteador ou default gateway range 195.165.10.101 195.165.10.240; # Faixa de Ips que o servidor DHCP poder distribuir } # Configurao especfica de Servidores group { # Criao de uma configurao especfica por MAC Address use-host-decl-names true; # host edy { # Nome do host hardware ethernet 00:11:5B:34:1A:D1; # Endereo fsico da placa de rede fixed-address 195.165.10.10; # IP fixo para esta placa de rede } host jricardo { hardware ethernet 00:08:0D:B6:CC:C2; fixed-address 195.165.10.5; } host fire { hardware ethernet 00:06:4F:06:24:34; fixed-address 195.165.10.1; } }
Pgina 75
Sistemas Operacionais Linux Prof. Edney Aps editar o arquivo dhcpd.conf, de acordo com sua necessidade, voc dever colocar o servio para ser iniciado junto com a inicializao do seu Linux. Para tanto, necessrio saber onde est localizado o executvel do servio de DHCP. Digite o comando type para descobrir onde se encontra o arquivo de inicializao do servidor DHCP type dhcpd mostra o caminho do programa echo /usr/sbin/dhcpd >> /etc/rc.d/rc.local Aps este procedimento, voc dever fazer a configurao de rede do seu servidor DHCP com IP esttico e pertencente a rede que fora configurada no arquivo de configurao do servidor DHCP.
Comandos Importantes
Parar a rede /etc/rc.d/rc.inet1 stop Reiniciar a rede /etc/rc.d/rc.inet1 start Aps esse momento, basta que os clientes do servidor DHCP sejam configurados e passem a buscar seus respectivos Ips e demais configuraes no servidor DHCP.
Pgina 76
Pgina 77
Sistemas Operacionais Linux Prof. Edney Neste tpico, faremos apenas as configuraes mnimas necessrias para que o servidor Apache funcione e responda as solicitaes HTML (de pginas estticas). Por isso, siga os seguintes passos: No diretrio /etc/apache existe o principal arquivo de configurao do Apache, o arquivo httpd.conf. Vamos editar esse arquivo: mcedit /etc/httpd/httpd.conf Voc dever comentar a linha DocumentRoot "/srv/httpd/htdocs" e reescrev-la da seguinte maneira: DocumentRoot "/home/" # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # #DocumentRoot "/srv/httpd/htdocs" # ALTEREI AQUI PARA AS PASTAS DOS USUARIOS DocumentRoot "/home/" Nota: perceba que existe um trecho de comentrio logo acima de cada parmetro de configurao cujo objetivo ensinar ou relembrar ao administrador do servidor seu significado, o que pressupe que o conhecimento da lngua inglesa fundamental. O parmetro DocumentRoot estabelece um diretrio inicial ou um diretrio raiz onde o administrador do servidor colocar todos os sites hospedados neste servidor, assim como no exemplo abaixo: Logo abaixo de DocumentRoot existe um parmetro chamado Directory que dever conter o mesmo caminho apontado em DocumentRoot, como mostrado abaixo: # This should be changed to whatever you set DocumentRoot to. # #<Directory "/srv/httpd/htdocs"> # # ALTEREI AQUI PARA AS PASTAS DOS USUARIOS Directory "/home/" http://192.168.100.1/edney endereo do site sem levar em conta um possvel servidor DNS para resolver o nome Pgina 78
Sistemas Operacionais Linux Prof. Edney http: protocolo utilizado para trafegar pginas HTML //192.168.100.1 endereo do servidor Apache na rede (internet ou intranet) edney nome do domnio ou pgina a que se deseja acessar Este endereo ser traduzido para uma estrutura de diretrios no sistema operacional, sendo o IP substitudo pelo parmetro DocumentRoot. Ento o servidor Apache procurar a pgina do usurio no diretrio /home/edney/. O prximo parmetro a ser configurado o DirectoryIndex. Ele indica a pgina inicial do site, ou seja, o arquivo a ser procurado pelo servidor Apache no diretrio onde o web site est. Est pgina ser mostrada inicialmente sempre que este site for acessado. # DirectoryIndex: Name of the file or files to use as a pre-written HTML # directory index. Separate multiple entries with spaces. # <IfModule mod_dir.c> DirectoryIndex index.html index.htm index.php default.html default.htm </IfModule> Nota: como se pode perceber, voc poder indicar vrias pginas como pgina inicial para o Apache e assim que cada web site for solicitado ele procurar por estes nomes de arquivos. O primeiro a ser encontrado ser mostrado no browser do usurio. Caso isto no acontea, o usurio receber uma pgina de erro padro do Apache. Para habilitar o mdulo de PHP descomente a seguinte linha: #Uncomment de following line to enable PHP # #Include /etc/httpd/mod_php.conf Salve este arquivo e feche-o. Agora voc dever iniciar o servio do Apache em seu Linux digitando o seguinte comando: /etc/rc.d/rc.httpd (start / stop / restart) start para iniciar o servio que antes no estava rodando stop para parar o servio que estava rodando restart para parar e iniciar novamente o servio que estava rodando
Pgina 79
Sistemas Operacionais Linux Prof. Edney Para saber se seu servio do Apache est rodando execute o comando: nmap localhost Ele varrer as portas de sua mquina procurando os servios que esto sendo executados, como mostrado abaixo: root@edy:~#nmap localhost Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2006-06-30 09:04 BRT Interesting ports on localhost (127.0.0.1): (The 1643 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 37/tcp open time 53/tcp open domain 80/tcp open http 110/tcp open pop3 111/tcp open rpcbind 113/tcp open auth 139/tcp open netbios-ssn 445/tcp open microsoft-ds 548/tcp open afpovertcp 587/tcp open submission 631/tcp open ipp 953/tcp open rndc 3306/tcp open mysql 6000/tcp open X11 Nmap run completed -- 1 IP address (1 host up) scanned in 1.147 seconds Nota: No momento de iniciar o servio do Apache voc poder receber uma mensagem de erro de permisso negada. Isso acontece porque o arquivo rc.httpd est sem permisso de execuo. Voc poder constatar isso vendo as permisses deste arquivo atravs do seguinte comando: ls -all Aps constatar esse fato, altere as permisses deste arquivo com o comando: chmod 754 rc.httpd. Novamente execute o passo anterior e inicie o servio do Apache.
Pgina 80
Importante:
Alteramos o parmetro DocumentRoot para /home/ porque este diretrio o diretrio de usurios do Linux. Ento, apartir deste momento, cada usurio adicionado ao Linux passa a ter um subdiretrio com todas as permisses de leitura e gravao no diretrio /home. Sendo assim, cada usurio adicionado no sistema operacional passa a ser dono de um web site.
SERVIDOR FTP
FTP significa File Tranfer Protocol (Protocolo de Transferncia de Arquivos). Este protocolo muito difundido na internet por ser uma maneira fcil e rpida de fazer transferncia de arquivos (upload / download). O nome FTP pode se referir tanto ao protocolo de transferncia de arquivos quanto a programas que utilizam este protocolo, com intuito de facilitar a interface com usurios. Essa transferncia de arquivos envolve normalmente o acesso a computadores remotos atravs de usurio e senha. Para configurar o servidor de FTP no Slackware, basta seguir os passos abaixo: Edite o arquivo inetd.conf:
mcedit /etc/inetd.conf
Reinicie o servio:
/etc/rc.d/rc.inetd restart
Pgina 81
Sistemas Operacionais Linux Prof. Edney Para tanto, edite-o e acrescente ou remova / comente os nomes dos usurios que voc deseja que tenha ou no permisso a fazer FTP em seu servidor:
mcedit /etc/ftpusers
Por questes de segurana, no bom que o usurio root tenha permisso para fazer FTP porque ele um usurio muito poderoso dentro do Linux e se suas permisses forem seqestradas voc poder ter problemas.
Execute o seguinte comando pra instalar o dicionrio de dados do servidor de banco de dados MySQL:
# mysql_install_db
D o comando
mysql> show databases;
Pgina 82
Sistemas Operacionais Linux Prof. Edney Se receber as informaes dos bancos de dados criados com o comando mysql_install_db poder sair que o banco de dados foi instalado corretamente.
# exit
Possveis Problemas
Se receber a mensagem de permisso negada no momento de iniciar o servidor MySQL, d a seguinte permisso ao arquivo rc.mysqld:
# chmod 777 /etc/rc.d/rc.mysqld
Nunca execute o comando mysql_install_db se o usurio mysql no estiver logado. Caso tenha feito, execute o seguinte comando:
# chown -R mysql.mysql /var/lib/mysql
Pgina 83
Sistemas Operacionais Linux Prof. Edney digitarmos um nome de site qualquer em nosso browser, haver sempre um DNS que vai descobrir pra ns onde est o site que queremos, ou melhor, qual o IP da mquina onde esse site est hospedado. Mas o DNS no atua apenas quando digitamos algo do tipo WWW. H outros servios em que o trabalho de um DNS fundamental. O envio de mensagens eletrnicas (e-mail) e a transferncia de arquivos na Internet (FTP), so outros exemplos que podemos citar. Para que o trabalho do DNS seja realmente vlido, existe um outro elemento nessa histria toda, so os domnios. Podemos citar o domnio estudolinux.com.br como exemplo. Esse domnio (veja que o www no aparece, pois www no faz parte dos nomes de domnio) foi registrado por algum em um rgo nacional que cuida do registro de domnios no Brasil. Estamos falando da Fapesp Para que um domnio seja vlido, necessrio que o mesmo tenha sido registrado na Fapesp (isso no caso do Brasil). Aps o registro, podemos usar o domnio para diversas finalidades, inclusive montar servidores DNS. Imagine um servidor DNS com o nome de mail.estudolinux.com.br. Observe que apenas acrescentamos o mail ao nome do domnio. A mesma coisa pode acontecer com uma conta de e-mail, como por exemplo: edney@mail.estudolinux.com.br. Note a presena do domnio nas duas situaes. Em ambas as situaes ns no temos a presena explcita de nmero de IP, apenas o nome do domnio. Como vimos anteriormente, quem se encarrega de traduzir domnios em nmero de IP so os servidores DNS.
Pgina 84
Sistemas Operacionais Linux Prof. Edney Com o passar do tempo o nmero de computadores comeou a crescer e virou isto que temos hoje. O que aconteceu com o hosts.txt? Ficou sendo o tempo inteiro atualizado e redistribudo na rede? Lgico que no. Para isso foi inventado o DNS. Com a chegada do DNS, a informao pode ser descentralizada e espalhada em diversos computadores. Hoje o que acontece que temos milhares de DNS espalhados no mundo e, cada um deles, possui informaes sobre uma quantidade de domnios especfica. A coisa comea a ficar mais clara agora, pois se vrios computadores so responsveis por uma quantidade de domnios X, ento, quando o meu browser pergunta a um DNS sobre um domnio especfico e este no possui a informao, ento ele sai perguntando a outros DNS afora at alcanar a resposta. como quando chegamos a um lugar desconhecido e estamos procurando a casa de algum. Perguntamos a uma pessoa que, caso no saiba, nos indica outra e assim sucessivamente at encontrarmos a tal casa. Com os servidores DNS acontece a mesma coisa. Ao fazer uma conexo com a Internet, automaticamente o nosso provedor diz a nossa mquina quais so os DNS que vo responder pelos domnios que forem solicitados durante a navegao, envio de e-mail ou transferncia de arquivos, etc. Se esses DNS no forem capazes de responder as minhas solicitaes, ento eles sairo buscando a informao em outros DNS na web. Assim como em quase tudo, os domnios obedecem a uma hierarquia. Os servidores de Internet responsveis pelos domnios de mais alto nvel so os root servers. Neles encontram-se os "top level-domains" ou domnios de mais alto nvel. Lembra que a nossa mquina pergunta por um determinado domnio ao DNS indicado pelo nosso provedor? Pois , quando esse DNS no sabe a resposta, ento ele pergunta aos root servers. Os root servers podem no ter informaes sobre um domnio X e ento vo precisar perguntar para outros DNS no mundo. Mas, perguntar a quem? Sigamos o exemplo do estudolinux.com.br. Voc digita na barra de endereos do seu browser o domnio
estudolinux.com.br;
Pgina 85
Sistemas Operacionais Linux Prof. Edney Nesse instante o browser vai solicitar informaes ao DNS indicado pelo provedor. Este no sabe nada sobre esse domnio e vai perguntar aos root servers, que tambm no conhecem o domnio. E agora? Os root servers analisam o domnio e verificam que o mesmo possui o final ".br". Opa!!! Quem capaz de responder por esse final? Isso o root server sabe e enderea rapidamente a requisio para os servidores da Fapesp onde esto registrados os domnios "br". Os servidores da Fapesp no so responsveis pelo estudolinux, porm, sabem em que servidor o domnio se encontra e fazem a pergunta ao mesmo. O.k., o DNS responsvel responde.: "o.k., eu sou o responsvel por esse domnio". A busca foi encerrada.
Clientes DNS
Neste tpico citei o DNS como um dos mais importantes (talvez o mais importante) servios da Internet. No h exagero algum nisso. O esquema acima mostrou o que acontece com a mquina de um usurio brasileiro que requisita um web site. Vimos que ela precisa saber quem so os DNS que primeiro iro atend-la. Pois , ento ns, usurios de Internet com conexo discada ou no, somos todos clientes DNS. O arquivo que devemos editar como um cliente DNS o /etc/resolv.conf. Vamos observar o arquivo resolv.conf abaixo.
nameserver 192.168.100.213 nameserver 192.168.100.1
Veja que temos apenas duas linhas com entradas nameserver, com os respectivos IP's dos servidores DNS que a minha mquina usou durante a conexo. Poderamos especificar mais um, caso quisssemos. A pesquisa feita preferencialmente ao primeiro da lista. Caso o primeiro no responda, a pesquisa dirigida ao segundo e assim por diante at que o nmero mximo de tentativas seja feita. Use um editor de textos qualquer para criar o seu arquivo resolv.conf. Dois outros arquivos importantes na configurao de um cliente DNS so o /etc/hosts e o /etc/hosts.conf. Pgina 86
Sistemas Operacionais Linux Prof. Edney No /etc/hosts podemos especificar hosts. Os hosts especificados nesse arquivo no so procurados via DNS, pois o arquivo /etc/hosts consultado sempre antes do /etc/resolv.conf, ou seja, se um host encontrado dentro de /etc/hosts, ento a busca no olha para /etc/resolv.conf. Veja abaixo um arquivo /etc/hosts.
127.0.0.1 localhost.localdomain localhost
O contedo desse arquivo : IP da mquina fullname hostname Nesse caso especfico h apenas uma mquina citada no arquivo, ou seja, um nico host. Todas as vezes que tentarmos localizar "localhost", quem vai responder por esse nome o /etc/hosts e no o /etc/resolv.conf. Por ltimo, vamos falar sobre o /etc/hosts.conf. Este arquivo possui a diretiva "order" que estabelece por onde deve comear o processo de resoluo de nomes. No caso acima, a busca feita primeiro em /etc/hosts e, em seguida em /etc/resolv.conf. Observe que esta escrito "Bind", pois esse o pacote que, ao ser instalado, responsvel por todo conjunto de tarefas referentes ao DNS. Resumindo, na configurao de um cliente DNS, temos trs arquivos importantes nessa histria toda. So eles: /etc/resolv.conf; /etc/hosts; /etc/host.conf O primeiro indica quais servidores DNS sero usados por nossa mquina, o segundo possui uma listas de hosts que no precisaro ser perguntados aos DNS do resolv.conf e o terceiro indica em qual ordem a resoluo de nomes feita.
Pgina 87
Sistemas Operacionais Linux Prof. Edney cd /etc cd /var/named Dentro de /etc temos o arquivo named.conf. Dentro de /var/named temos os arquivos correspondentes a cada domnio pelo qual nosso servidor responsvel. Abaixo temos um exemplo de /etc/named.conf. Observe onde aparece o termo "zone". Cada vez que encontr-lo significa que ali existe a indicao de um domnio. Note tambm o incio do arquivo onde aparece "directory /var/named", etc. Essa a parte do arquivo em que dizemos ao BIND em qual diretrio os arquivos dos domnios devem ser procurados. Ento a coisa funciona assim: crio uma nova zona para um domnio novo qualquer crio em /var/named o arquivo referente a essa zona (domnio) Vamos apontar para os arquivos de configurao da zona estudolinux.com.br atravs do arquivo abaixo (/etc/named.conf), basta imitar ou copiar e alterar a rea que aponta para a zona j existente.
options { directory "/var/named"; }; zone "." { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" { type master; file "0.0.127.in-addr.arpa.zone"; }; zone "localhost" { type master; file "localhost.zone"; }; zone "estudolinux.com.br" { type master; file "estudolinux.zone"; };
OK, no foi difcil. Uma outra coisa que devemos prestar ateno na diretiva type. Na zona que criamos, estabelecemos como "master". Isto significa que o nosso servidor o servidor primrio dessa zona. Se fssemos o servidor secundrio, trocaramos
Pgina 88
Sistemas Operacionais Linux Prof. Edney "master" por "slave". Vamos ver isso depois. Salve o named.conf e v para o diretrio /var/named e copie o arquivo "named.local" para "meudomnio.com.br". Use o comando:
# cp named.local meudominio.com.br
Vamos agora editar esse arquivo e deix-lo OK, mas antes vamos ver alguns detalhes do mesmo. No incio do arquivo temos uma informao TTL (time to live) 3600 (Ex.: $TTL 86400). Essa diretiva indica a quantidade de tempo que as informaes desse domnio so vlidas para outros servidores. Calma, vamos entender melhor. Quando um outro DNS recebe a informao sobre esse domnio, a mesma ficar no cache dessa mquina durante 3600 segundos (ou uma hora). Com essa informao em cache, a prxima vez que algum perguntar por esse domnio, a consulta no precisa ser feita ao DNS responsvel (ao menos durante aquela 1 hora em que a informao est no cache). Se houver uma outra consulta aps essa 1 hora, a sim, haver uma nova consulta ao DNS responsvel. Vamos ver sobre as outras informaes:
2003072401 ;Serial 28800 ;Refresh 14400 ;Retry 3600000 ;Expire 86400 ;Minimum
SERIAL: uma verso do arquivo. Toda vez que houver uma alterao no arquivo do domnio, precisamos alterar esse nmero para que o servidor secundrio saiba e possa copiar essa nova verso. No exemplo acima temos: 2003072401. Analisando da direita para esquerda, podemos dizer que temos a verso 01 de um arquivo criado em 24/07/2003. No existe uma regra fixa pra essa informao, mas voc deve cri-la de uma forma que possa interpret-la depois. REFRESH: indica o tempo, em segundos, em que o servidor secundrio deve fazer uma consulta ao primrio para saber sobre os domnios do mesmo. nessa hora que a informao serial importante, pois, caso o serial de algum domnio tem sido alterado, ento o servidor secundrio realiza uma nova cpia do mesmo. No exemplo acima o refresh deve ser feito em 28800 segundos, ou seja, de 8 em 8 horas.
Pgina 89
Sistemas Operacionais Linux Prof. Edney RETRY: se por algum motivo, na hora em que o servidor secundrio fizer o "refresh" no primrio, e o mesmo no responder, ento ele tentar uma nova consulta no tempo estabelecido em "retry". EXPIRE: o tempo mximo que o servidor secundrio pode ficar sem consultar o primrio. Aps esse tempo, a informao sobre o domnio ser expirada. Vamos agora para as outras informaes.
definio do servidor DNS @ IN NS localhost. ;definio do servidor de e-mail @ IN MX mail.estudolinux.com.br ; definio dos hosts localhost IN A 127.0.0.1 www IN A 192.168.100.213 mail IN A 192.168.100.213 ftp IN A 192.168.100.213 ; Informaes iniciadas com ";" so consideradas comentrios.
A linha: @
IN
NS
para "estudolinux.com.br (representado pelo smbolo @)". A linha: @ IN MX mail.estudolinux.com.br informa quem o servidor
de e-mail (MX) para "meudomnio.com.br (representado pelo smbolo @)". Por fim temos a definio dos hosts, ou seja, os endereos IP das mquinas que respondem por determinados servios como: www, ftp, mail, etc.
localhost www mail ftp IN IN IN IN A A A A 127.0.0.1 127.0.0.1 200.198.71.220 127.0.0.1
Observe por exemplo na linha iniciada em "mail". Essa linha resolve a indicao MX (mail exchanger) feita acima. Na indicao MX, dissemos que o servidor de e-mail desse domnio o "mail.estudolinux.com.br". Quando fazemos isso, devemos dizer quem e a mquina "mail" (que no nosso caso a 192.168.100.213). Observe tambm que indicamos qual o IP para o servio WWW, ou seja, quando algum buscar por "www.estudolinux.com.br", ento, conforme a nossa configurao, o servidor ser o 192.168.100.213, assim como para o servio FTP.
Pgina 90
Sistemas Operacionais Linux Prof. Edney Para testarmos esse domnio preciso reiniciarmos o servio NAMED. Para fazer isso vamos para o diretrio onde esto os principais servios do nosso sistema. O diretrio o /etc/rc.d/. Dentro do diretrio digite:
# ./rc.bind status
Esse comando nos dir se o servio est sendo executado ou parado. Se estiver sendo executado, ento voc pode usar ./rc.bind restart para parar e iniciar o servio imediatamente. Se estiver parado, ento use ./rc.bind start. Para testarmos o nosso domnio podemos fazer alguns testes usando o comando ping. $ ping www.estudolinux.com.br $ ping mail.estudolinux.com.br $ ping ftp.estudolinux.com.br Esperamos ter clareado um pouco a idia de DNS nesse artigo. Aproveitamos tambm para pedir a sua colaborao para deixar esse artigo mais completo, pois sabemos que h muitas outras coisas a serem aqui acrescentadas e isso far com que o site (www.useredhat.com.br) armazene uma quantidade grande e importante de informaes que cada vez mais usurios podero utilizar.
Pgina 91
IN SOA root.notebook.estudolinux.com.br. ( ; serial ; refresh ; retry ; expiry ; minimum notebook.estudolinux.com.br. notebook edy fire notebook.fabiano.com.br.
mcedit /etc/named.conf
options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; // // a caching only nameserver config // zone "." IN { type hint; file "caching-example/named.ca"; }; zone "localhost" IN { type master; file "caching-example/localhost.zone";
Pgina 92
chmod 744 /var/named/estudolinux.zone chmod 744 /var/named/estudolinux.rev /etc/rc.d/rc.bind start nmap localhost
SERVIDOR DE E-MAIL
Edite o arquivo /etc/inetd.conf e remova o comentrio da seguinte linha: #pop3 stream tcp nowait root /usr/sbin/popa3d
Em sua configurao remova o comentrio desta linha (#), salve e feche o arquivo. Reinicie o servio: /etc/rc.d/rc.inetd restart
Pgina 93
Sistemas Operacionais Linux Prof. Edney Estes arquivos so responsveis pela segurana do servidor de e-mail e neles devem ser configuradas as informaes de envio e recebimento de e-mails que o seu servidor permitir.
Pgina 94
OBSERVAES:
No coloque o comentrio na frente das configuraes. Mesmo sendo comentrios, fazem com que as configuraes apresentem erros; Para cada novo site hospedado em seu servidor haver uma nova rea d configurao compreenda entre as TAGS <VirtualHost> e </VirtualHost>; Nome domnio de cada site dever ser cadastrado no servidor DNS para que o Apache possa responder a solicitaes. Para as configuraes acima foram cadastrados os seguintes domnios: www.edney e www.fundacao, ambos apontando para o mesmo IP (neste caso o IP 192.168.100.213).
Host
host <10.0.0.1> O resultado informa que o host provavelmente est em execuo e sua localizao.
Pgina 95
Boas Prticas
No atribua hostnames que possam revelar quaisquer tipos de informaes sobre os hosts; Considere atribuir hostnames que incluam o IP como parte do hostname. Este esquema ajuda a organizar os hosts disponveis a partir de uma perspectiva administrativa e, ao mesmo tempo, no revela informaes extras.
Mail Exchange
O comando dig consulta os registros MX de um domnio em seu servidor DNS padro e retorna seu servidor de correio.
Dig
dig mx UOL.com.br
Trasnferncias de Zonas
Geralmente, os servidores DNS so configurados para agirem como um servidor primrio ou como servidor secundrio de modo a fornecerem hierarquia e redundncia. Uma transferncia de zona ocorre quando um servidor DNS secundrio contata um servidor DNS primrio a fim de atualizar suas informaes sobre as zonas. Essas transferncias de zona podem revelar o papel ou a localizao de hosts particulares. Alguns servidores DNS primrios so configurados incorretamente e permitem que qualquer host realize uma transferncia de zona. Para tentar uma transferncia de zona para uma organizao particular, requerido o IP de um servidor DNS. Se essa informao no estiver disponvel possvel tentar uma consulta whois ao domnio alvo.
Host l
host l <domnio> <IP do servidor DNS> host l uol.com.br 10.0.0.1
Pgina 96
Sistemas Operacionais Linux Prof. Edney Se o invasor for bem sucedido na realizao de transferncia de zona ele pode conseguir informaes sobre os papis dos hosts dentro de uma organizao e seus respectivos endereos IP.
Boas Prticas
No permita que hosts no-autorizados realizem transferncias de zona a partir de seu DNS; Como as transferncias de zona so realizadas atravs da porta TCP 53, configure seu firewall para bloquear conexes internas nesta porta; Instale um servidor DNS separado para hosts da intranet. Esse servidor no deve ser acessvel externamente.
Traceroute
O programa traceroute funciona enviando pacotes UDP a portas altas no destino com os valores de TTL (time to live) inicialmente configurados como 1 e ento incrementados em 1 para cada pacote subseqente. Gateways decrementam o campo TTL de um pacote IP em 1 antes de encaminh-lo ao longo da rota. Se o TTL de um pacote for igual a zero, o gateway particular enviar um pacote ICMP Time to Live Exceeded de volta origem. Assim a ferramenta traceroute determina os endereos IP dos gateways ao longo do caminho para o destino examinando os pacotes ICMP Time To Live Exceeded retornados.
Traceroute
traceroute <IP ou domnio de destino>
Traceroute -I
A ferramenta traceroute envia pacotes UDP por padro, mas ela pode utilizar pacotes ICMP quando executada com a opo I. traceroute I <IP ou domnio de destino>
Pgina 97
Traceroute -p
Alguns firewalls so configurados para permitir pacotes cuja porta de origem 20 (FTP) ou 53 (DNS). A opo p em traceroute pode, portanto, ser utilizada para configurar a porta de origem dos pacotes UDP saintes a fim de tentar tirar proveito dessa regra. traceroute p53 <IP ou domnio de destino> traceroute p20 <IP ou domnio de destino>
Boas Prticas
Configure seu firewall para remover pacotes UDP e ICMP entrantes; Configure seu firewall para remover pacotes ICMP Time to Live Exceeded de sada; Se precisar permitir pacotes UDP entrantes para DNS, configure o firewall para permitir apenas pacotes UDP entrantes com porta de origem 53 (DNS) originados a partir do endereo IP especfico de um servidor DNS.
Ping
A maneira mais rpida de determinar se um host est on-line atravs do comando ping. Ele envia uma solicitao de ICMP echo request, fazendo com que o alvo responda com um pacote ICMP reply. Observe que um host no pode ser configurado para responder as solicitaes de ICMP echo request. Portanto, mesmo que um host no responda a solicitaes de eco, ele pode estar on-line.
Ping
ping <ip ou domnio alvo>
Pgina 98
Sistemas Operacionais Linux Prof. Edney nmap sP <ip da rede> * Exemplo: # nmap sP 192.168.100.*
Boas Prticas
Configure seu firewall para descartar solicitaes de ICMP echo requests entrantes e respostas de ICMP echo replies de sada. Isso evitar que hosts em sua rede respondam a solicitaes de ICMP echo requests.
nmap PT
A opo PT troca a porta padro do ping com nmap. A porta padro a 80. # nmap PT8080 192.168.0.1 se um host responder com o pacote RST o nmap o considerar ativo e a varredura ser feita.
Boas Prticas
Configure seu firewall para descartar pacotes ACK que no pertenam a uma conexo j estabelecida.
nmap sT
Realizar uma varredura TCP. # nmap sT 10.0.0.1 Os nmeros de portas TCP variam de 1 a 65535. Por padro o nmap varre apenas as portas conhecidas. O parmetro p indica o range de portas a ser varrida. # nmap sT 192.168.1.1 p 1-65535
nmap sS
Esse tipo de varredura faz com que o scanner envie pacotes SYN ao host alvo. Como este mtodo no completa o three way handshake, considerado secreto, j que frequentemente no registrado pelo log do host alvo. # nmap sS 192.168.1.150 Pgina 99
nmap O1
Usado para descobrir o sistema operacional do host alvo. # nmap O1 uol.com.br
Tabela Filter
a tabela padro do netfilter e trata das situaes implementadas por um firewall de filtro de pacotes. Estas situaes so: Input: tudo que entra no host; Forward: tudo que chega ao host mas deve ser redirecionado a um host secundrio ou a outra interface de rede; Output: tudo que sai do host;
Tabela Nat
Implementa funes de NAT (Network Address Translation) ao host firewall. Suas situaes so: Prerouting: utilizada quando h a necessidade de se fazer alteraes em pacotes antes que os mesmos sejam roteados;
Pgina 100
Sistemas Operacionais Linux Prof. Edney Postrouting: utilizado quando h a necessidade de se fazer alteraes em pacotes aps o tratamento de roteamento;
Tabela Mangle
Implementa alteraes especiais em pacotes em um nvel mais complexo. A tabela mangle capaz de, por exemplo, alterar a prioridade de entrada e sada de um pacote baseado do tipo de servio o qual o pacote se baseava. Suas situaes so: Prerouting: modifica pacotes dando-lhes um tratamento especial antes que os mesmos sejam roteados; Output: altera os pacotes de forma especial gerados localmente antes que os mesmos sejam roteados.
Ao
Significado Exclui o pacote Rejeita o pacote Aceita o pacote Cria um log do pacote redirecionando a algum arquivo
SINTAXE BSICA
iptables [-t tabela] [opo] [chain] [dados] j [ao]
Exemplo:
# iptables A FORWARD d 192.168.1.1 j DROP Onde: Tabela: filter a tabela default (opo A); Chain: FORWARD; Dados: -d 192.168.1.1; Ao: DROP
Pgina 101
Parmetro Significado -p Especifica o protocolo aplicado a regra. Pode ser qualquer valor numrico especificado no arquivo /etc/protocols ou o prprio nome do protocolo (tcp, icmp, udp etc.) -i Especifica a interface de entrada a ser utilizada; Ex.: -i eth0 Pode-se tambm especificar todas as interfaces de rede do nosso host da seguinte forma: -i eth+ -o Especifica a interface de sada a ser utilizada e se aplica da mesma forma que o parmetro i, porm, somente nas chains de OUTPUT e FORWARD. -s Especifica o origem (source) do pacote ao qual a regra deve ser aplicada. Nesta opo geralmente usamos o IP seguido de sua sub-rede. Ex.: -s 10.0.10.0/155.0.0.0 A mscara pode ser omitida e, neste caso, o IPTables optar pela mscara 255.255.255.0. possvel utilizar este parmetro com o nome ao invs do IP. Ex.: -s www.gnu.org -d Especifica o destino do pacote (destination) ao qual a regra deve ser aplicada. Sua utilizao se d da mesma forma que o s. ! Significa excluso e utilizado quando se deseja aplicar uma exceo a uma regra. utilizado juntamente com as aes -s, -p, -i, -o etc Ex.: -s ! 10.0.0.3 # refere-se a todos os endereos possveis com exceo do 10.0.0.3. Ex.: -p ! icmp # refere-se a todos os protocolos com exceo do icmp -j Define o alvo (target) do pacote caso o mesmo se encaixe em alguma regra. As principais aes so ACCEPT, DROP, REJECT e LOG ---sport Porta de origem (source port), com esta regra possvel aplicar filtros com base na porta de origem do pacote. S pode ser aplicada a portas referentes aos protocolos UDP e TCP. Ex.: -p tcp ---sport 80 # refere-se a porta 80 do protocolo TCP ---dport Porta de destino (destination port), especifica a porta de destino do pacote e funciona de forma similar a regra ---sport.
SEGURANA SAMBA
Cada seo do arquivo /etc/samba/smb.conf descreve um compartilhamento especfico, exceto a seo [global] que aplicada a todos os compartilhamentos do servidor. O nome da seo igual ao nome do recurso compartilhado. H trs sees com nomes especiais: [global], [homes] e [printers]. As permisses de acesso so definidas de acordo com os padres Unix. Pgina 102
Exemplo:
# smbmount //WinMachine/comum /mnt/comum -o username=edney, passwd edney Para tornar esse ponto de montagem padro na inicializao basta adicionar a linha de comando ao final do arquivo /etc/rc.d/rc.local # echo smbmount //WinMachine/comum /mnt/comum -o username=edney, passwd edney >> /etc/rc.d/rc.local
Alterar a permisso do diretrio criado conforme desejo. Para permitir gravaes colocar 777 # chmod 777 <caminho> Inserir a rea de referncia do diretrio compartilhado em rede no
Sistemas Operacionais Linux Prof. Edney # Audited directory through experimental VFS audit.so module: Uncomment next line. # vfs object = /usr/lib/samba/vfs/audit.so # INDISPONIBILIZA O COMPARTILHAMENTO
PDC em Linux
Edite o arquivo /etc/samba/smb.conf na rea [global] conforme mostrado abaixo: # TRANSFORMANDO O SAMBA EM UM PDC security = user os level 65 local master = yes domain master = yes preferred master = yes domain logons = yes wins support = yes
Exemplo:
# smbpasswd a edney
Pgina 104
Pgina 105
Sistemas Operacionais Linux Prof. Edney Para saber onde se localiza o daemon que inicializar o Snort basta digitar o seguinte comando: # type snort snort is /usr/local/bin/snort Ento edite o arquivo /etc/rc.d/rc.local adicionando ao final do arquivo o seguinte texto: # INICIANDO O SNORT E O GUARDIAN /usr/local/bin/snort D /usr/sbin/guardian.pl Este arquivo ir inicializar o servio do Snort e do Guardian na inicializao do Linux.
Removendo o Snort
Como no momento da gerao da instalao do snort o diretrio criado estava com o nome de snort-2.4.0, este ser o nome do pacote do snort no sistema operacional. Por isso, para remov-lo, basta entrar com a seguinte linha de comando no Shell: # removepkg snort-2.4.0
Comandos do Snort
Parmetro -v -vd -vde Significado Mostra os cabealhos dos pacotes Capturar os cabealhos IPs Mostrar os dados dos pacotes Arquivos Importantes
Arquivo Significado /var/log/snort/alert Logs de alerta do snort, indicam possveis tentativas de invaso
Pgina 106
Sistemas Operacionais Linux Prof. Edney Publique o diretrio base no Apache e o acesse via browser atravs do endereo http://localhost/base e siga os 5 passos de configurao da interface grfica. Note que antes necessrio instalar a base de dados no MySQL.
Pgina 107