SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Debian para servidores 1
                                                                                           Carlos Melo

1. O Linux

O Linux é um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na
Finlândia. É um sistema Operacional de código aberto distribuído gratuitamente pela Internet. Seu código
fonte é liberado como Free Software (software livre), sob licença GPL, o aviso de copyright do kernel feito
por Linus descreve detalhadamente isto e mesmo ele não pode fechar o sistema para que seja usado apenas
comercialmente.

Isto quer dizer que você não precisa pagar nada para usar o Linux, e não é crime fazer cópias para instalar
em outros computadores, nós inclusive incentivamos você a fazer isto. Ser um sistema de código aberto
pode explicar a performance, estabilidade e velocidade em que novos recursos são adicionados ao sistema.

Para rodar o Linux você precisa, no mínimo, de um computador 386 SX com 2 MB de memória (para um
kernel até a série 2.2.x) ou 4MB (para kernels 2.4 e 2.6) e 100MB disponíveis em seu disco rígido para uma
instalação básica e funcional.

O sistema segue o padrão POSIX que é o mesmo usado por sistemas UNIX e suas variantes. Assim,
aprendendo o Linux você não encontrará muita dificuldade em operar um sistema do tipo UNIX, FreeBSD,
HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados em cada sistema.

O código fonte aberto permite que qualquer pessoa veja como o sistema funciona (útil para aprendizado),
corrija alguma problema ou faça alguma sugestão sobre sua melhoria, esse é um dos motivos de seu rápido
crescimento, do aumento da compatibilidade de periféricos (como novas placas sendo suportadas logo após
seu lançamento) e de sua estabilidade.

Outro ponto em que ele se destaca é o suporte que oferece a placas, CD-Roms e outros tipos de dispositivos
de última geração e mais antigos (a maioria deles já ultrapassados e sendo completamente suportados pelo
sistema operacional). Este é um ponto forte para empresas que desejam manter seus micros em
funcionamento e pretendem investir em avanços tecnológicos com as máquinas que possui.

Hoje o Linux é desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo sua
contribuição ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha em seu
desenvolvimento e na coordenação dos grupos de trabalho do kernel.

O suporte ao sistema também se destaca como sendo o mais eficiente e rápido do que qualquer programa
comercial disponível no mercado. Existem centenas de consultores especializados espalhados ao redor do
mundo. Você pode se inscrever em uma lista de discussão e relatar sua dúvida ou alguma falha, e sua
mensagem será vista por centenas de usuários na Internet e algum irá te ajudar ou avisará as pessoas
responsáveis sobre a falha encontrada para devida correção.

Algumas Características do Linux

   •   É livre e desenvolvido voluntariamente por programadores experientes, hackers, e contribuidores
       espalhados ao redor do mundo que tem como objetivo a contribuição para a melhoria e crescimento
       deste sistema operacional.

       Muitos deles estavam cansados do excesso de propaganda (Marketing) e baixa qualidade de
       sistemas comerciais existentes

   •   Também recebe apoio de grandes empresas como IBM, Sun, HP, etc. para seu desenvolvimento
Debian para servidores 2
                                                                                      Carlos Melo

•   Convivem sem nenhum tipo de conflito com outros sistemas operacionais (com o DOS, Windows,
    OS/2) no mesmo computador.
•   Multitarefa real
•   Multiusuário
•   Suporte a nomes extensos de arquivos e diretórios (255 caracteres)
•   Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha, PowerPc,
    ARM, Unix, Windows, DOS, etc.
•   Utiliza permissões de acesso a arquivos, diretórios e programas em execução na memória RAM.
•   Proteção entre processos executados na memória RAM
•   Suporte a mais de 63 terminais virtuais (consoles)
•   Modularização - O Linux somente carrega para a memória o que é usado durante o processamento,
    liberando totalmente a memória assim que o programa/dispositivo é finalizado
•   Devido a modularização, os drivers dos periféricos e recursos do sistema podem ser carregados e
    removidos completamente da memória RAM a qualquer momento. Os drivers (módulos) ocupam
    pouco espaço quando carregados na memória RAM (cerca de 6Kb para a Placa de rede NE 2000, por
    exemplo)
•   Não há a necessidade de se reiniciar o sistema após a modificar a configuração de qualquer
    periférico ou parâmetros de rede. Somente é necessário reiniciar o sistema no caso de uma
    instalação interna de um novo periférico, falha em algum hardware (queima do processador, placa
    mãe, etc.).
•   Não precisa de um processador potente para funcionar. O sistema roda bem em computadores
    386Sx 25 com 4MB de memória RAM (sem rodar o sistema gráfico X, que é recomendado 32MB de
    RAM). Já pensou no seu desempenho em um Pentium, Xeon, ou Athlon? ;-)
•   Suporte nativo a múltiplas CPUs, assim processadores como Dual Core Athlon Duo, Quad Core tem
    seu poder de processamento integralmente aproveitado.
•   Suporte nativo a dispositivos SATA, PATA, Fiber Channel
•   Suporte nativo a virtualização, onde o Linux se destaca como plataforma preferida para execução de
    outros sistemas operacionais.
•   O crescimento e novas versões do sistema não provocam lentidão, pelo contrário, a cada nova
    versão os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos úteis e
    melhor desempenho do sistema (como o que aconteceu na passagem do kernel 2.0.x para 2.2.x, da
    2.2.x para a 2.4.x).
•   Não é requerido pagamento de licença para usa-lo. O GNU/Linux é licenciado de acordo com os
    termos da GPL.
•   Acessa corretamente discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SunOS, Amiga,
    Atari, Mac, etc.
•   O LINUX NÃO É VULNERÁVEL A VÍRUS! Devido a separação de privilégios entre processos e
    respeitadas as recomendações padrão de política de segurança e uso de contas privilegiadas (como
    a de root, como veremos adiante), programas como vírus tornam-se inúteis pois tem sua ação
    limitada pelas restrições de acesso do sistema de arquivos e execução.

    Qualquer programa (nocivo ou não) poderá alterar partes do sistema que possui permissões (será
    abordado como alterar permissões e tornar seu sistema mais restrito no decorrer do guia).
    Frequentemente são criados exploits que tentam se aproveitar de falhas existentes em sistemas
    desatualizados e usa-las para danificar o sistema. Erroneamente este tipo de ataque é classificado
    como vírus por pessoas mal informadas e são resolvidas com sistemas bem mantidos. Em geral,
    usando uma boa distribuição que tenha um bom sistema de atualização, 99.9% dos problemas com
    exploits são resolvidos.
Debian para servidores 3
                                                                                             Carlos Melo

   •   Rede TCP/IP mais rápida que no Windows e tem sua pilha constantemente melhorada. O GNU/Linux
       tem suporte nativo a redes TCP/IP e não depende de uma camada intermediária como o WinSock.
       Em acessos via modem a Internet, a velocidade de transmissão é 10% maior.

       Jogadores do Quake ou qualquer outro tipo de jogo via Internet preferem o GNU/Linux por causa da
       maior velocidade do Jogo em rede. É fácil rodar um servidor Quake em seu computador e assim
       jogar contra vários adversários via Internet.

   •   Roda aplicações DOS através do DOSEMU, QEMU, BOCHS. Para se ter uma idéia, é possível dar o
       boot em um sistema DOS qualquer dentro dele e ao mesmo tempo usar a multitarefa deste sistema.
   •   Roda aplicações Windows através do WINE.
   •   Suporte a dispositivos infravermelho.
   •   Suporte a rede via rádio amador.
   •   Suporte a dispositivos Plug-and-Play.
   •   Suporte a dispositivos USB.
   •   Suporte nativo a cartões de memória
   •   Suporte nativo a dispositivos I2C
   •   Integração com gerenciamento de energia ACPI e APM
   •   Suporte a Fireware.
   •   Dispositivos Wireless.
   •   Vários tipos de firewalls de alta qualidade e com grande poder de segurança de graça.
   •   Roteamento estático e dinâmico de pacotes.
   •   Ponte entre Redes, proxy arp
   •   Proxy Tradicional e Transparente.
   •   Possui recursos para atender a mais de um endereço IP na mesma placa de rede, sendo muito útil
       para situações de manutenção em servidores de redes ou para a emulação de "mais computadores"
       virtualmente.

       O servidor WEB e FTP podem estar localizados no mesmo computador, mas o usuário que se
       conecta tem a impressão que a rede possui servidores diferentes.

   •   Os sistemas de arquivos usados pelo GNU/Linux (Ext3, Ext3, reiserfs, xfs, jfs) organiza os arquivos de
       forma inteligente evitando a fragmentação e fazendo-o um poderoso sistema para aplicações multi-
       usuárias exigentes e gravações intensivas.
   •   Permite a montagem de um servidor de publicação Web, E-mail, News, etc. com um baixo custo e
       alta performance. O melhor servidor Web do mercado, o Apache, é distribuído gratuitamente junto
       com a maioria das distribuições Linux. O mesmo acontece com o Sendmail.
   •   Por ser um sistema operacional de código aberto, você pode ver o que o código fonte (instruções
       digitadadas pelo programador) faz e adapta-lo as suas necessidades ou de sua empresa. Esta
       característica é uma segurança a mais para empresas sérias e outros que não querem ter seus dados
       roubados (você não sabe o que um sistema sem código fonte faz na realidade enquanto esta
       processando o programa).
   •   Suporte a diversos dispositivos e periféricos disponíveis no mercado, tanto os novos como obsoletos.
   •   Pode ser executado em 16 arquiteturas diferentes (Intel, Macintosh, Alpha, Arm, etc.) e diversas
       outras sub-arquiteturas.
   •   Empresas especializadas e consultores especializados no suporte ao sistema espalhados por todo o
       mundo.
   •   Entre muitas outras características que você descobrirá durante o uso do sistema.

TODOS OS ÍTENS DESCRITOS ACIMA SÃO VERDADEIROS E TESTADOS PARA QUE TIVESSE PLENA CERTEZA DE
SEU FUNCIONAMENTO.
Debian para servidores 4
                                                                                            Carlos Melo

2. Arquivos

É onde gravamos nossos dados. Um arquivo pode conter um texto feito por nós, uma música, programa,
planilha, etc.

Cada arquivo deve ser identificado por um nome, assim ele pode ser encontrado facilmente quando desejar
usa-lo. Se estiver fazendo um trabalho de história, nada melhor que salva-lo com o nome historia. Um
arquivo pode ser binário ou texto (para detalhes veja Arquivo texto e binário, Seção 2.2.3).

O GNU/Linux é Case Sensitive ou seja, ele diferencia letras maiúsculas e minúsculas nos arquivos. O arquivo
historia é completamente diferente de Historia. Esta regra também é válido para os comandos e diretórios.
Prefira, sempre que possível, usar letras minúsculas para identificar seus arquivos, pois quase todos os
comandos do sistema estão em minúsculas.

Um arquivo oculto no GNU/Linux é identificado por um "." no inicio do nome (por exemplo, .bashrc).
Arquivos ocultos não aparecem em listagens normais de diretórios, deve ser usado o comando ls -a para
também listar arquivos ocultos.

2.1 Extensão de arquivos

A extensão serve para identificar o tipo do arquivo. A extensão são as letras após um "." no nome de um
arquivo, explicando melhor:

   •   relatório.txt - O .txt indica que o conteúdo é um arquivo texto.

   •   script.sh - Arquivo de Script (interpretado por /bin/sh).

   •   system.log - Registro de algum programa no sistema.

   •   arquivo.gz - Arquivo compactado pelo utilitário gzip.

   •   index.html - Página de Internet (formato Hypertexto).

A extensão de um arquivo também ajuda a saber o que precisamos fazer para abri-lo. Por exemplo, o
arquivo relatório.txt é um texto simples e podemos ver seu conteúdo através do comando cat, Seção 7.1, já
o arquivo index.html contém uma página de Internet e precisaremos de um navegador para poder visualiza-
lo (como o lynx, Firefox ou o Konqueror).

A extensão (na maioria dos casos) não é requerida pelo sistema operacional GNU/Linux, mas é conveniente
o seu uso para determinarmos facilmente o tipo de arquivo e que programa precisaremos usar para abri-lo.

2.2 Tamanho de arquivos

A unidade de medida padrão nos computadores é o bit. A um conjunto de 8 bits nós chamamos de byte.
Cada arquivo/diretório possui um tamanho, que indica o espaço que ele ocupa no disco e isto é medido em
bytes. O byte representa uma letra. Assim, se você criar um arquivo vazio e escrever o nome Linux e salvar o
arquivo, este terá o tamanho de 5 bytes. Espaços em branco e novas linhas também ocupam bytes.

Além do byte existem as medidas Kbytes, Mbytes, Gbytes. Os prefixos K (quilo), M (mega), G (giga), T (tera)
etc. vêem da matemática. O "K" significa multiplicar por 10^3, o "M" por 10^6, e assim por diante. Esta
Debian para servidores 5
                                                                                             Carlos Melo

letras servem para facilitar a leitura em arquivos de grande tamanho. Um arquivo de 1K é a mesma coisa de
um arquivo de 1024 bytes. Uma forma que pode inicialmente lhe ajudar a lembrar: K vem de Kilo que é igual
a 1000 - 1Kilo é igual a 1000 gramas certo?.

Da mesma forma 1Mb (ou 1M) é igual a um arquivo de 1024K ou 1.048.576 bytes

1Gb (ou 1G) é igual a um arquivo de 1024Mb ou 1048576Kb ou 1.073.741.824 bytes (1 Gb é igual a
1.073.741.824 bytes, são muitos números!). Deu pra notar que é mais fácil escrever e entender como 1Gb
do que 1.073.741.824 bytes :-)

A lista completa em ordem progressiva das unidades de medida é a seguinte:

  Símbolo            10^       2^        Nome

  K         3        10        Quilo
  M         6        20        Mega
  G         9        30        Giga
  T         12       40        Tera
  P         15       50        Peta
  E         18       60        Eta
  Z         21       70        Zetta
  Y         24       80        Yotta


2.3 Arquivo texto e binário

Quanto ao tipo, um arquivo pode ser de texto ou binário:

texto

          Seu conteúdo é compreendido pelas pessoas. Um arquivo texto pode ser uma carta, um script, um
          programa de computador escrito pelo programador, arquivo de configuração, etc.

binário

          Seu conteúdo somente pode ser entendido por computadores. Contém caracteres incompreensíveis
          para pessoas normais. Um arquivo binário é gerado através de um arquivo de programa (formato
          texto) através de um processo chamado de compilação. Compilação é basicamente a conversão de
          um programa em linguagem humana para a linguagem de máquina.

3. Diretório

Diretório é o local utilizado para armazenar conjuntos arquivos para melhor organização e localização. O
diretório, como o arquivo, também é "Case Sensitive" (diretório /teste é completamente diferente do
diretório /Teste).

Não podem existir dois arquivos com o mesmo nome em um diretório, ou um sub-diretório com um mesmo
nome de um arquivo em um mesmo diretório.
Debian para servidores 6
                                                                                             Carlos Melo

Um diretório nos sistemas Linux/UNIX são especificados por uma "/" e não uma "" como é feito no DOS.
Para detalhes sobre como criar um diretório, veja o comando mkdir (mkdir, Seção 6.4).

3.1 Diretório Raiz

Este é o diretório principal do sistema. Dentro dele estão todos os diretórios do sistema. O diretório Raíz é
representado por uma "/", assim se você digitar o comando cd / você estará acessando este diretório.

Nele estão localizados outros diretórios como o /bin, /sbin, /usr, /usr/local, /mnt, /tmp, /var, /home, etc.
Estes são chamados de sub-diretórios pois estão dentro do diretório "/". A estrutura de diretórios e sub-
diretórios pode ser identificada da seguinte maneira:

    •   /
    •   /bin
    •   /sbin
    •   /usr
    •   /usr/local
    •   /mnt
    •   /tmp
    •   /var
    •   /home

A estrutura de diretórios também é chamada de Árvore de Diretórios porque é parecida com uma árvore de
cabeça para baixo. Cada diretório do sistema tem seus respectivos arquivos que são armazenados conforme
regras definidas pela FHS (FileSystem Hierarchy Standard - Hierarquia Padrão do Sistema de Arquivos) versão
2.0, definindo que tipo de arquivo deve ser armazenado em cada diretório.

3.2 Diretório atual

É o diretório em que nos encontramos no momento. Você pode digitar pwd (veja pwd, Seção 6.3) para
verificar qual é seu diretório atual.

O diretório atual também é identificado por um "." (ponto). O comando comando ls . pode ser usado para
listar seus arquivos (é claro que isto é desnecessário porque se não digitar nenhum diretório, o comando ls
listará o conteúdo do diretório atual).

3.3 Diretório home

Também chamado de diretório de usuário. Em sistemas GNU/Linux cada usuário (inclusive o root) possui seu
próprio diretório onde poderá armazenar seus programas e arquivos pessoais.

Este diretório está localizado em /home/[login], neste caso se o seu login for "joao" o seu diretório home
será /home/joao. O diretório home também é identificado por um ~(til), você pode digitar tanto o comando
ls /home/joao como ls ~ para listar os arquivos de seu diretório home.

O diretório home do usuário root (na maioria das distribuições GNU/Linux) está localizado em /root.

Dependendo de sua configuração e do número de usuários em seu sistema, o diretório de usuário pode ter a
seguinte forma: /home/[1letra_do_nome]/[login], neste caso se o seu login for "joao" o seu diretório home
será /home/j/joao.
Debian para servidores 7
                                                                                                 Carlos Melo

3.4 Diretório Superior

O diretório superior (Upper Directory) é identificado por .. (2 pontos).

Caso estiver no diretório /usr/local e quiser listar os arquivos do diretório /usr você pode digitar, ls .. Este
recurso também pode ser usado para copiar, mover arquivos/diretórios, etc.

3.5 Diretório Anterior

O diretório anterior é identificado por "-". É útil para retornar ao último diretório usado.

Se estive no diretório /usr/local e digitar cd /lib, você pode retornar facilmente para o diretório /usr/local
usando cd -.

3.6 Caminho na estrutura de diretórios

São os diretórios que teremos que percorrer até chegar no arquivo ou diretório que que procuramos. Se
desejar ver o arquivo /usr/doc/copyright/GPL você tem duas opções:

    •   Mudar o diretório padrão para /usr/doc/copyright com o comando cd /usr/doc/copyright e usar o
        comando cat GPL
    •   Usar o comando "cat" especificando o caminho completo na estrutura de diretórios e o nome de
        arquivo: cat /usr/doc/copyright/GPL.

As duas soluções acima permitem que você veja o arquivo GPL. A diferença entre as duas é a seguinte:

    •   Na primeira, você muda o diretório padrão para /usr/doc/copyright (confira digitando pwd) e depois
        o comando cat GPL. Você pode ver os arquivos de /usr/doc/copyright com o comando "ls".

        /usr/doc/copyright é o caminho de diretório que devemos percorrer para chegar até o arquivo GPL.

    •   Na segunda, é digitado o caminho completo para o "cat" localizar o arquivo GPL: cat
        /usr/doc/copyright/GPL. Neste caso, você continuará no diretório padrão (confira digitando pwd).
        Digitando ls, os arquivos do diretório atual serão listados.

O caminho de diretórios é necessário para dizer ao sistema operacional onde encontrar um arquivo na
"árvore" de diretórios.

3.7 Exemplo de diretório

Um exemplo de diretório é o seu diretório de usuário, todos seus arquivos essenciais devem ser colocadas
neste diretório. Um diretório pode conter outro diretório, isto é útil quando temos muitos arquivos e
queremos melhorar sua organização. Abaixo um exemplo de uma empresa que precisa controlar os arquivos
de Pedidos que emite para as fábricas:

/pub/vendas - diretório principal de vendas /pub/vendas/mes01-99 - diretório contendo vendas do mês
01/1999 /pub/vendas/mes02-07 - diretório contendo vendas do mês 02/2007 /pub/vendas/mes01-08 -
diretório contendo vendas do mês 03/2008
Debian para servidores 8
                                                                                             Carlos Melo

mes01-99, mes02-07, mes01-08 são diretórios usados para armazenar os arquivos de pedidos do mês e ano
correspondente. Isto é essencial para organização, pois se todos os pedidos fossem colocados diretamente
no diretório vendas, seria muito difícil encontrar o arquivo do cliente "João" do mês 01/2007.

Você deve ter reparado que usei a palavra sub-diretório para mes01-99, mes02-07 e mes03-08, porque que
eles estão dentro do diretório vendas. Da mesma forma, vendas é um sub-diretório de pub.

3.8 Estrutura básica de diretórios do Sistema Linux

O sistema GNU/Linux possui a seguinte estrutura básica de diretórios organizados segundo o FHS (Filesystem
Hierarchy Standard):

/bin

          Contém arquivos programas do sistema que são usados com freqüência pelos usuários.

/boot

          Contém arquivos necessários para a inicialização do sistema.

/cdrom

          Ponto de montagem da unidade de CD-ROM.

/media

          Ponto de montagem de dispositivos diversos do sistema (rede, pen-drives, CD-ROM em distribuições
          mais novas).

/dev

          Contém arquivos usados para acessar dispositivos (periféricos) existentes no computador.

/etc

          Arquivos de configuração de seu computador local.

/floppy

          Ponto de montagem de unidade de disquetes

/home

          Diretórios contendo os arquivos dos usuários.

/lib

          Bibliotecas compartilhadas pelos programas do sistema e módulos do kernel.

/lost+found
Debian para servidores 9
                                                                                              Carlos Melo

        Local para a gravação de arquivos/diretórios recuperados pelo utilitário fsck.ext2. Cada partição
        possui seu próprio diretório lost+found.

/mnt

        Ponto de montagem temporário.

/proc

        Sistema de arquivos do kernel. Este diretório não existe em seu disco rígido, ele é colocado lá pelo
        kernel e usado por diversos programas que fazem sua leitura, verificam configurações do sistema ou
        modificar o funcionamento de dispositivos do sistema através da alteração em seus arquivos.

/root

        Diretório do usuário root.

/sbin

        Diretório de programas usados pelo superusuário (root) para administração e controle do
        funcionamento do sistema.

/tmp

        Diretório para armazenamento de arquivos temporários criados por programas.

/usr

        Contém maior parte de seus programas. Normalmente acessível somente como leitura.

/var

        Contém maior parte dos arquivos que são gravados com freqüência pelos programas do sistema, e-
        mails, spool de impressora, cache, etc.

4. Nomeando Arquivos e Diretórios
No GNU/Linux, os arquivos e diretórios pode ter o tamanho de até 255 letras. Você pode identifica-lo com
uma extensão (um conjunto de letras separadas do nome do arquivo por um ".").

Os programas executáveis do GNU/Linux, ao contrário dos programas de DOS e Windows, não são
executados a partir de extensões .exe, .com ou .bat. O GNU/Linux (como todos os sistemas POSIX) usa a
permissão de execução de arquivo para identificar se um arquivo pode ou não ser executado.

No exemplo anterior, nosso trabalho de história pode ser identificado mais facilmente caso fosse gravado
com o nome trabalho.text ou trabalho.txt. Também é permitido gravar o arquivo com o nome Trabalho de
Historia.txt mas não é recomendado gravar nomes de arquivos e diretórios com espaços. Porque será
necessário colocar o nome do arquivo entre "aspas" para acessá-lo (por exemplo, cat "Trabalho de
Historia.txt"). Ao invés de usar espaços, prefira capitalizar o arquivo (usar letras maiúsculas e minúsculas
para identificá-lo): TrabalhodeHistoria.txt.
Debian para servidores 10
                                                                                              Carlos Melo

5. Comandos

Vamos abordar agora comandos básicos uitlizados nos sistemas Unix e Linux, apesar de existirem diversos
aplicativos gráficos e interfaces para a configuração das tarefas administrativas disponíveis será importante
um forte conhecimento dos comandos Shell do Linux, nosso curso terá todo foco em cima de administração
sistemas por linha de comando.

No Linux utilizamos normalmente o BASH (ou Bourne Again Shell), derivado do CSH, e possui várias
características interessantes.

É comum que o prompt de comandos padrão bash venha no formato: u@h:W $ , onde:

    • u representa o nome do usuário.
    • h representa o nome do sistema.
    • W o diretório corrente.

Onde podemos ter como exemplo: carlos@casa:home$, veja a imagem abaixo:




         Para executar um comando, ele precisa ser válido e estar listado nos diretórios da variável PATH ou
explicitando a sua localização. O comando pode requerer opções, geralmente precedidos pelo símbolo “-“
ou “—“ e por argumentos. O importante é que cada comando tem a sua sintaxe única e pode haver
variações dependendo da distribuição.
Vamos tomar como exemplo o comando ls:
$ ls
Este comnado lista o conteúdo do diretório atual. Ele não requer nenhuma opção ou argumento para ser
executado. O argumento –l pode ser acrescentado para gerar uma lista de arquivos detalhada.
Debian para servidores 11
                                                                                            Carlos Melo

$ ls -l
Podemos ainda colocar mais opções para o comando ls:
$ ls –l –a –t ou $ ls –lta
Neste caso, do comando ls, as opções podem ser repassadas separadamente ou podem ser combinadas. –a
mostra todos os arquivos, até os ocultos, -t mostra os arquivos ordenados pela ultima data de modificação.

6. Comandos de edição de texto
O Linux tem diversas ferramentas para trabalhar e transformar arquivos textos puros, sem formatação
especial. Estas ferramentas são úteis quando estamos trabalhando com scripts no Shell, verificando arquivos
de log, e etc.

6.1 Cat

Uso:
cat [opções] arquivo

O comando cat concatena arquivos, imprime seu conteúdo na tela e ainda pode
receber texto digitado pelo teclado para um arquivo.
Para criar um arquivo com apenas algumas linhas de texto:
$ cat > teste.txt
Agora você pode digitar qualquer texto. Quando terminar, pressione Crtl + d em uma linha vazia para
finalizar a entrada de dados e salvar o arquivo teste.txt.
Para ver o conteúdo: $ cat teste.txt.

6.2 Head

Uso

Head [opções] arquivos
O comando head mostra as primeiras 10 linhas do início do texto.
A opção frequentemente utilizada é: -n número configura o numero de linhas que vai mostrar.

Exemplo: $ head –n 50 leiame.txt

7. Configuração das interfaces de rede.
7.1 Básico de rede IP

Um sistema Debian pode ter várias interfaces, cada uma com um endereço de Protocolo de Internet (IP)
diferente. As interfaces podem ser de diferentes tipos, incluindo:

      •   Loopback: lo
      •   Ethernet: eth0, eth1, ...
      •   Wi-Fi: wlan0, wlan1, ...
      •   Token Ring: tr0, tr1, ...
      •   PPP: ppp0, ppp1, ...
Debian para servidores 12
                                                                                               Carlos Melo

    Há uma grande faixa de outros dispositivos de rede disponíveis, incluindo SLIP, PLIP (IP em linha serial e
paralela), dispositivos "shaper" para controlar o tráfego em certas interfaces, frame relay, AX.25, X.25,
ARCnet, e LocalTalk.

    Toda interface de rede conectada diretamente à Internet (ou a qualquer rede baseada em IP) é
identificada por um endereço IP de 32 bit’s único. O endereço IP pode ser dividido na parte que endereça a
rede e na parte que endereça o sistema (host). Se você tiver um endereço IP, defina para 1 os bits que são
parte do endereço de rede e defina para 0 os bits que são parte do endereço do sistema e então você obtém
a máscara da rede.

   Tradicionalmente, redes IP foram agrupadas em classes cujas partes do endereço de rede foram de
comprimento 8, 16 ou 24 bits.

               endereços IP                      máscara rede            comprimento
Classe A       1.0.0.0 - 126.255.255.255         255.0.0.0               = /8
Classe B       128.0.0.0 -191.255.255.255        255.255.0.0             = /16
Classe C       192.0.0.0-223.255.255.255         255.255.255.0           = /24

Endereços IP fora dessas faixas são usados para propósitos especiais.

        Há faixas de endereços em cada classe reservados para uso em redes locais (LANs). Esses endereços
têm a garantia de não conflitar com nenhum endereço no domínio da Internet. (Pelo mesmo motivo, se um
desses endereços é designado para um sistema então esse sistema não pode acessar a Internet diretamente,
precisa acessá-la através de um gateway que atua como um proxy para serviços individuais ou que faça
Translação de Endereço de Rede (Network Address Translation).) Essas faixas de endereços são dadas na
tabela a seguir junto com o número de faixas em cada classe.

               endereços de rede                 compr.                  quantidade
Classe A       10.x.x.x                          /8                      1
Classe B       172.16.x.x - 172.31.x.x           /16                     16
Classe C       192.168.0.x - 192.168.255.x       /24                     256

        O primeiro endereço em uma rede IP é o endereço da própria rede. O último endereço é o endereço
de broadcast da rede. Todos os outros endereços podem ser alocados a sistemas na rede. Desses, o primeiro
ou o último endereço normalmente é alocado para o gateway de Internet para a rede.

       A tabela de roteamento contém a informação do kernel sobre como enviar pacotes IP aos seus
destinos. Aqui está uma amostra de tabela de roteamento para um sistema Debian em uma rede local (LAN)
com endereço IP 192.168.50.x/24. O sistema 192.168.50.1 (também na LAN) é um roteador para a rede
corporativa 172.20.x.x/16 e o sistema 192.168.50.254 (também na LAN) é um roteador para a Internet para
todos.

  # route
  Kernel IP routing table

Destination    Gateway           Genmask          Flags       Metric       Ref         Use        Iface
127.0.0.0      *                 255.0.0.0        U           0            0           2          lo
192.168.50.0   *                 255.255.255.0    U           0            0           137        eth0
172.20.0.0     192.168.50.1      255.255.0.0      UG          1            0           7          eth0
default        192.168.50.254    0.0.0.0          UG          1            0           36         eth0
Debian para servidores 13
                                                                                                Carlos Melo


    •   A primeira linha depois do cabeçalho diz que o tráfego destinado à rede 127.x.x.x será roteado para
        lo a interface de loopback.
    •   A segunda linha diz que o tráfego destinado aos sistemas na LAN serão roteados através de eth0.
    •   A terceira linha diz que o tráfego destinado à rede corporativa será roteado para o gateway
        192.168.50.1 e também através de eth0.
    •   A quarta linha diz que o tráfego destinado à Internet será roteado para o gateway 192.168.50.254 e
        também através de eth0.

Os endereços IP na tabela também podem aparecer como nomes que são obtidos procurando endereços em
/etc/networks ou usando o resolvedor da Biblioteca C.

Além de rotear, o kernel pode fazer tradução de endereço de rede, shaping, e filtro.

7.2 Configuração de rede de baixo nível

As ferramentas de configuração de rede de baixo nível tradicionais nos sistemas GNU/Linux são os
programas ifconfig e route que vêm no pacote net-tools. Essas ferramentas oficialmente foram superadas
pelo ip que vem no pacote iproute. O programa ip funciona no Linux 2.2 e superiores e é mais capaz que as
ferramentas antigas. Entretanto, as ferramentas antigas ainda funcionam e são mais familiares a muitos
usuários.

7.3 Configuração de rede de baixo nível – ifconfig e route

Aqui está uma ilustração de como mudar o endereço IP da interface eth0 de 192.168.0.3 para 192.168.0.111
e tornar a eth0 como rota para a rede 10.0.0.0 via 192.168.0.1. Nós começamos executando ifconfig e route
sem argumentos de interface para exibir o estado atual de todas as interfaces de rede e roteamento.

# ifconfig

   eth0 Link encap:Ethernet HWaddr 08:00:46:7A:02:B0
      inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
      RX packets:23363 errors:0 dropped:0 overruns:0 frame:0
      TX packets:21798 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:100
      RX bytes:13479541 (12.8 MiB) TX bytes:20262643 (19.3 MiB)
      Interrupt:9

   lo Link encap:Local Loopback
      inet addr:127.0.0.1 Mask:255.0.0.0
      UP LOOPBACK RUNNING MTU:16436 Metric:1
      RX packets:230172 errors:0 dropped:0 overruns:0 frame:0
      TX packets:230172 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:22685256 (21.6 MiB) TX bytes:22685256 (21.6 MiB)
   # route
   Kernel IP routing table
   Destination Gateway Genmask           Flags Metric Ref Use Iface
   192.168.0.0 *         255.255.0.0 U 0 0 0 eth0
   default 192.168.0.1 255.255.255.255 UG 0 0 0 eth0
Debian para servidores 14
                                                                                           Carlos Melo

Primeiro nós desativamos a interface.

# ifconfig eth0 inet down

# ifconfig

     lo        Link encap:Local Loopback

       ... (agora sem a entrada eth0)
# route
       ... (agora sem entradas de roteamento na tabela)

Então nós a ativamos com o novo endereço IP e novo roteamento.

  # ifconfig eth0 inet up 192.168.0.111   netmask 255.255.0.0 broadcast
192.168.255.255
  # route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.1 dev eth0

O resultado:

   # ifconfig
       eth0 Link encap:Ethernet HWaddr 08:00:46:7A:02:B0
       inet addr:192.168.0.111 Bcast:192.168.255.255 Mask:255.255.0.0
       UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
       ...
  lo Link encap:Local Loopback
       inet addr:127.0.0.1 Mask:255.0.0.0
       ...
   # route
   Kernel IP routing table

Destination Gateway           Genmask     Flags       Metric      Ref       Use       Iface
192.168.0.0 *                 255.255.0.0 U           0           0         0         eth0
10.0.0.0    192.168.0.1       255.0.0.0   UG          0           0         0         eth0


Para adicionar uma rota padrão para a saída dos pacotes, em outras palavras adicionando o caminho para
internet:

#route add default gw IP_servidor_de_compartilhamento

Para adicionar o servidor de DNS deve-se adicionar no arquivo /etc/resolv.conf a adicionar uma linha com o
servidor de DNS.

#vi /etc/resolv.conf

nameserver IP_do_servidor_DNS
Debian para servidores 15
                                                                                             Carlos Melo

    7.4 Configurando o apt-get.

    O apt-get é uma ferramenta extremamente poderosa e prática depois que você aprende os conceitos
básicos. Ele pode ser encontrado não apenas no Debian, Ubuntu e no Carlos, mas em outras distribuições
baseadas no Debian, como o Xandros, Memphis e até mesmo no Linspire. Ferramentas como o urpmi, do
Mandrake, o synaptic, do Conectiva e o yum, do Fedora também são baseados nele.

        Em primeiro lugar, o apt-get utiliza um conceito de fontes de atualização. Ele pode obter pacotes
de praticamente qualquer lugar, incluindo CD-ROMs do Debian, unidades de rede, etc. Mas o meio mais
usado é justamente baixar os pacotes via internet, o que permite obter sempre as versões mais recentes
dos programas.

        Para usar o apt-get, o primeiro passo é rodar o comando "apt-get update", que faz com que o
apt-get verifique todos os repositórios disponíveis e baixe a lista com os pacotes disponíveis em cada um.
Isso permite que ele crie uma espécie de banco de dados, com os pacotes disponíveis, onde cada um
pode ser encontrado e qual endereço contém a versão mais recente. Este comando deve ser executado
periodicamente. O ideal é que você o use uma vez por semana, ou sempre que for fazer alguma
instalação importante:

# apt-get update
       Lembre-se de que para virar root, basta digitar "su" no terminal e fornecer a senha configurada
durante a instalação. Ao rodar o Carlos a partir do CD, use o comando "sudo su" para definir a senha.

       Terminado, você pode começar a instalar os programas, usando o comando "apt-get install",
seguido do pacote desejado. Para instalar o Proftpd, por exemplo, use o comando:

# apt-get install proftpd
         Veja que o apt-get cuida de toda a parte trabalhosa. O apt-get instala automaticamente junto com o
pacote principal todos os pacotes necessários sem deixar dependências, depois de te pedir uma
confirmação.
Terminada a instalação, o proftpd já está pronto para usar. Isto se repete para qualquer um dos mais de
20.000 pacotes atualmente disponíveis nos repositórios que vêm ativados por padrão no Debian. Basta
saber o nome do programa e você pode instalá-lo rapidamente a qualquer momento. Você pode ver uma
lista dos pacotes disponíveis nos FTPs oficiais do Debian no: http://www.debian.org/distrib/packages.
        Além de instalar, é possível usar o apt-get para atualizar qualquer pacote do sistema. Para isso,
repita o comando de instalação, como em:


# apt-get install proftpd
# apt-get install k3b
# apt-get install mplayer
... e assim por diante.

        Quando o programa solicitado já está instalado, o apt-get verifica se existe uma versão atualizada
e, em caso afirmativo, já a baixa e instalada automaticamente. Caso contrário, ele simplesmente avisa
que a versão mais recente já está instalada e não faz nada. Quando você não se lembrar do nome
completo do programa, digite apenas as primeiras letras e pressione a tecla TAB duas vezes, assim você
verá uma lista com as alternativas possíveis.
Debian para servidores 16
                                                                                           Carlos Melo

        Uma vez instalado o programa, o comando para chamá-lo pelo terminal (em 99% dos casos) é o
próprio nome do pacote.

       Em casos onde o programa realmente "desapareça" depois de instalado, sem rastros aparentes,
você pode procurá-lo usando o comando "whereis" (onde está), como em:

$ sudo updatedb
$ whereis realplay
realplayer: /usr/bin/realplay


Em muitos casos, o programa pode ser instalado em uma pasta fora do PATH (as pastas /bin, /usr/bin,
/usr/local/bin, etc.), fazendo com que o sistema não encontre o comando. Nestes casos, chame-o
indicando o caminho completo ou crie um link para ele (usando o comando "ln -s") dentro da pasta
"/usr/bin", ou "/usr/local/bin", onde o sistema consiga localizá-lo diretamente, como em:

# ln -s /usr/lib/realplayer10/realplay /usr/bin/realplay
       Lembre-se de que em muitos casos o nome do executável do programa pode ser diferente do
nome do programa. Por exemplo, o executável do Realplayer é "realplay" e o do VMware Player é
"vmplayer".
        Um detalhe interessante é que, mesmo ao atualizar um programa, as suas configurações são
mantidas. Ao atualizar o Firefox ou o Konqueror, por exemplo, você não perde seus bookmarks. Isso
acontece porque as configurações e arquivos referentes aos programas são armazenados em pastas
ocultas dentro do seu diretório de usuário. “Os bookmarks, cache, cookies e outros arquivos do Firefox,
por exemplo, vão para a pasta “mozilla/firefox", dentro do seu home. O apt-get nunca altera estes
arquivos, de forma que suas preferências sempre são preservadas durante os upgrades.
        Um segundo tipo são os arquivos de configuração do sistema, que também fazem parte dos
pacotes. Quando um pacote traz uma nova versão de um determinado arquivo de configuração, mas o
apt-get percebe que o arquivo anterior foi alterado por você, ele pergunta se você quer manter o arquivo
atual ou se você quer substituí-lo pela nova versão. O conselho geral nestes casos é responder não à
substituição (que é o default). Isso mantém o arquivo atual, que, afinal, está funcionando. Autorize a
substituição apenas quando você souber do que se trata.
        Lembre-se de rodar o "apt-get update" periodicamente, de preferência uma vez por semana ou
antes de instalar qualquer programa ou atualização importante. Assim você terá certeza de que o apt
instalará sempre as versões mais recentes dos programas.
        O apt não apenas torna a instalação de novos programas bem mais simples, mas diminui também
a necessidade de estar sempre instalando versões mais recentes da distribuição, já que você pode ir
atualizando os programas mais usados sempre que souber de uma versão mais nova. É possível também
remover pacotes instalados, neste caso usando o parâmetro "remove", como em:


# apt-get remove proftpd


Caso os arquivos referentes ao programa tenham se corrompido de alguma maneira (desligamentos
incorretos, problemas de BIOS, etc. ;), você pode forçar sua reinstalação, usando o parâmetro "--
reinstall".

Normalmente o apt-get avisa que o programa já está em sua versão mais recente e não faz nada:
Debian para servidores 17
                                                                                             Carlos Melo

# apt-get install emac
Lendo Lista de Pacotes... Pronto
Construindo Árvore de Dependências... Pronto
emac já é a versão mais nova.


Adicionando o "--reinstall" ele prossegue com a instalação, mesmo que o pacote já seja a versão mais
recente, substituindo todos os arquivos referentes a ele e resolvendo o problema.


# apt-get install --reinstall emacs


Finalmente, existe a opção de atualizar todo o sistema, o que é feito usando os comandos:

# apt-get update
# apt-get upgrade
Configurando o apt-get numa rede com proxy transparente.
# vi /etc/apt/apt.conf
E adicione as seguintes linhas:
Acquire{
HTTP::proxy "http://192.168.1.254:3128";
FTP::proxy "http://192.168.1.254:3128";
}
Obs.: Novamente altere as informações de IP e Porta para do seu servidor de proxy e salve o arquivo.
Agora vamos alterar o arquivo: /etc/profile
# echo "export http_proxy ftp_proxy" >> /etc/profile
Pronto !
OBS: Você também deve informar o endereço e a porta do seu Servidor Proxy (SQUID), no exemplo foi
utilizado o IP: 192.168.1.254 e a Porta: 3128, altere para o IP e Porta do seu servidor de proxy e salve o
arquivo.

8. Configurando o compartilhamento de rede - iptables.
       Muitas vezes temos em casa mais de um computador e nossa conexão nao permite o
compartilhamento ou até você tem uma conexão de Dial-up em um servidor e gostaria de dividir ela com a
rede corporativa. Os passos abaixo vão ajudá-los.

Requerimentos

Se você vai compartilhar a adsl/3g com outro micro, você irá precisar de:

    •   Uma Placa de rede 10/100
    •   Um Hub/Swithc ou Cabo crossover ( no caso do cabo crossover(cruzado), só pode usar com mais
        uma máquina) uma conexão com a internet.

8.1 Criando uma rede

      Bom, para compartilhar a internet, iremos precisar inicialmente de criar uma rede, se for
compartilhar a internet, e sua conexão for ADSL/3G, então mantenha a seguinte estrutura
Debian para servidores 18
                                                                                            Carlos Melo

Placa de rede 1 ( eth0 ) -   conexão com a internet
Placa de rede 2 ( eth1 )     conexao de Rede Local através de Hub/Switch ou cabo crossover.




Caso seja preciso compartilhar uma conexão dial-up então sua placa de rede será quem fará a conexão da
rede local; Inicialmente você já deve ter um IP configurado para comunicação com o seu modem, para
verificar qual é o seu IP, abra um terminal (xterm, konsole, gnome-terminal... ) e digite o seguinte comando

/sbin/ifconfig

a saída do comando será algo semelhante ao seguinte:

eth0       Encapsulamento do Link: Ethernet Endereço de HW 00:E0:7D:A2:EF:3A
       inet end.: 200.250.241.209 Bcast:255.255.255.255 Masc:255.255.255.0
       endereço inet6: fe80::2e0:7dff:fea2:ef3a/64 Escopo:Link
       UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1
       RX packets:5304553 errors:1 dropped:0 overruns:0 frame:0
       TX packets:3404353 errors:0 dropped:0 overruns:16 carrier:0
       colisões:0 txqueuelen:1000
       RX bytes:1683936055 (1.5 GiB) TX bytes:3471646904 (3.2 GiB)
       IRQ:5 Endereço de E/S:0xc400

lo       Encapsulamento do Link: Loopback Local
       inet end.: 127.0.0.1 Masc:255.0.0.0
       endereço inet6: ::1/128 Escopo:Máquina
       UP LOOPBACKRUNNING MTU:16436 Métrica:1
       RX packets:1245431 errors:0 dropped:0 overruns:0 frame:0
       TX packets:1245431 errors:0 dropped:0 overruns:0 carrier:0
       colisões:0 txqueuelen:0
       RX bytes:297554646 (283.7 MiB) TX bytes:297554646 (283.7 MiB)

        Então neste caso podemos ver que o meu IP é o IP 200.250.241.209, no meu caso, eu tenho uma
conexão da banda larga ( velox ), esse IP é pego automaticamente por um cliente DHCP no caso, este IP pode
variar, pode ser uma rede exclusiva como 192.168.10 ou outra coisa qualquer. Bom, se a sua rede for
200.xxx.xxx.xxx você pode usar qualquer IP para sua rede interna; Mas se sua rede for 192.168.10.0
Debian para servidores 19
                                                                                            Carlos Melo

deveremos usar uma rede 192.168.1.0 para separar as duas. Então, inicialmente vamos configurar a rede, no
Debian, abra o seguinte arquivo:

/etc/network/interfaces

Esse arquivo será semelhante ao seguinte, no caso de você pegar a conexão por DHCP.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

Abra o arquivo como super usuário, agora com isso, voce pode abrir pelo terminal o seu editor de texto
favorito, e mandar abrir o arquivo:

/etc/network/interfaces

( Se vai usar uma placa de rede apenas, no caso de compartilhar Dial Up, troque o eth1 por
eth0 na configuração abaixo ) e acrescente ao fim do arquivo as seguintes configurações.

   auto eth1
   iface eth1 inet static
   address 192.168.20.1
   netmask 255.255.255.0
   broadcast 192.168.20.255
   network 192.168.20.0

com isso, podemos salvar o arquivo e fechar o editor de texto para carregar essas configurações execute os
seguintes comandos:

/etc/init.d/networking stop
/etc/init.d/networking start

Configurando a segunda estação

Bom, se sua segunda estação for debian, você pode usar o mesmo esquema pra configurar, caso seja outra
distribuição, ou seja Windows,verifique onde ficam as configurações para sua versão, o importante é que a
estação tenha os seguintes dados:

ip:                     192.168.20.2
mascara de rede:        255.255.255.0
dns:                    192.168.20.1
gateway:                192.168.20.1

com isso configurado, tente dar o seguinte comando da estação que acabou de configurar:
Debian para servidores 20
                                                                                              Carlos Melo


ping 192.168.20.1

a saída do comando deverá ser algo semelhante ao abaixo

PING 192.168.20.1 (192.168.20.1) 56(84) bytes of data.
64 bytes from 192.168.20.1: icmp_seq=1 ttl=128 time=2.70 ms


se der algo como timeout, ou outro tipo de erro, então sua conexão não esta funcionando se a saída for a
acima, então está tudo ok, e podemos passa para o próximo passo.

8.2 Criando um Script para compartilhamento de internet

Agora, precisamos montar o script para compartilhar a internet, então abra um editor de texto qualquer, e
acrescente os seguintes dados dentro:

#!/bin/bash

echo "1" > /proc/sys/net/ipv4/ip_forward

# Limpando as tabelas
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Mascarando conexões da rede
# se sua conexão estiver na interface ppp0 basta trocar o eth0 por ppp0
# a interface ppp0 é usada também em dial-up, então, neste caso, troque o eth0
# por ppp0

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Ok, agora, pode salvar, e fechar o editor de texto

8.3 Colocando na inicialização da máquina

Com o usuário root, você ira mover este arquivo, o script criado acima, para o diretorio /etc/init.d/ então
supondo que você chamou o arquivo de “compartilhamento, você irá executar o seguinte comando

mv compartilhamento /etc/init.d/

Feito isso, agora temos de dar permissão de execução ao arquivo, então use o comando abaixo:

#chmod +x /etc/init.d/compartilhamento

Agora execute o arquivo digitando:

#/etc/init.d/compartilhamento

Feito isso, agora temos que criar uma chamada para ele na inicialização, vá ate o diretório
Debian para servidores 21
                                                                                               Carlos Melo

/etc/rc2.d usando o seguinte comando

#cd /etc/rc2.d

e use o seguinte comando para criar a chamada

#ln -s /etc/init.d/compartilhamento /etc/rc2.d/S99compartilhamento

    •     Servidor de DHCP- instalando e configurando o DHCPD

9. Configuração de Rede

Ao finalizar a instalação digite ifconfig -a. Deve-se obter um resultado similar a:


eth0       Link encap:10Mbps Ethernet HWaddr 00:C0:4F:D3:C4:62
        inet addr:183.217.19.43 Bcast:183.217.19.255 Mask:255.255.255.0
        UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
        RX packets:2875542 errors:0 dropped:0 overruns:0
        TX packets:218647 errors:0 dropped:0 overruns:0
        Interrupt:11 Base address:0x210


Caso o parâmetro MULTICAST não esteja presente, deve-se reconfigurar o kernel para sua adição. Em muitos
sistemas isso não será necessário.

O próximo passo será adicionar a rota 255.255.255.255. Apresentamos um extrato retirado ao arquivo
README do DHCPd:

"Para que o dhcpd funcione perfeitamente, escolha alguns clientes DHCP (por exemplo Windows 9x), que
sejam capazes de enviar pacotes com um endereço IP de destino 255.255.255.255. Infelizmente o Linux
teima em mudar 255.255.255.255 no endereço de divulgação da subrede local (neste caso 192.5.5.223). Isso
cria uma violação do protocolo DHCP e enquanto muitos clientes DHCP não avisam do problema, outros
(como os clientes DHCP Microsoft) o fazem. Clientes com este tipo de problema não visualizam a mensagem
DHCPOFFER enviada pelo servidor."

Digite:

#route add -host 255.255.255.255 dev eth0

caso se obtenha a mensagem

#"255.255.255.255: máquina desconhecida"

deve-se tentar adicionar a seguinte entrada ao arquivo /etc/hosts:

#255.255.255.255 all-ones

tente então:
Debian para servidores 22
                                                                                             Carlos Melo

#route add -host all-ones dev eth0

ou

#route add -net 255.255.255.0 dev eth0

eth0 é obviamente o nome do dispositivo de rede que está sendo usado. Caso seja diferente, faça as devidas
alterações.

9.1 Opções do DHCPd

Agora é necessário configurar o DHCPd. Para se fazer isso deve-se criar ou editar o arquivo /etc/dhcpd.conf.

Comumente se deseja definir endereços IP de forma aleatória. Isso pode ser feito da seguinte forma:


default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "dominio.org.br";

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.10 192.168.1.100;
  range 192.168.1.150 192.168.1.200;
}


Isso fará com que o servidor DHCP forneça ao cliente um endereço IP na faixa 192.168.1.10-192.168.1.100
ou 192.168.1.150-192.168.1.200. Ele liberará um endereço por 600 segundos caso o cliente não defina um
tempo específico de utilização de endereço. De qualquer forma o tempo máximo permitido será de 7.2
segundos. O servidor irá "avisar" ao cliente que ele pode usar 255.255.255.0 como máscara de subrede,
192.168.1.255 como endereço de distribuição, 192.168.1.254 como roteador ou caminho padrão,
192.168.1.1 e 192.168.1.2 como servidores DNS.

Pode-se ainda definir endereços IP específicos baseados nos endereços Ethernet dos clientes, como por
exemplo:
host conec {

    hardware ethernet 08:00:2b:4c:59:23;
    fixed-address 192.168.1.222;
}
Este procedimento irá definir o endereço 192.168.1.222 para o cliente com endereço Ethernet igual a
08:00:2b:4c:59:23.

Podem-se misturar os procedimentos, definindo-se certos clientes com endereços IP estáticos (por exemplo,
servidores) e outros com endereços dinâmicos (como por exemplo portáteis). Há diversas opções como:
Debian para servidores 23
                                                                                             Carlos Melo

endereços de servidores Windows, servidores de data e horário, etc... Caso se necessite alguma destas
opções por favor verifique a página de manual on-line do dhcpd.conf.

9.3 Inicializando o Servidor

Podemos agora acionar o servidor DHCP. Basta simplesmente digitar ou incluir nos programas de
inicialização do sistema:

/usr/sbin/dhcpd

Caso se deseje verificar se tudo está funcionando perfeitamente, deve-se acionar inicialmente o modo de
depuração e colocar o servidor em primeiro plano. Isso pode ser feito através do comando:

/usr/sbin/dhcpd -d -f

Inicialize algum dos clientes e verifique a console do servidor. Deverão ser apresentadas diversas mensagens
de depuração.

10.   Configurando o servidor de DNS
10.1 Instalando um Servidor DNS

Bom, para que o nosso servidor de nomes ( DNS ) possa ser a nossa maquina, necessitamos instalar um
servidor de DNS nela, nesse caso usaremos o bind9, instale usando o apt

#apt-get install bind9

A configuração padrão da instalação, já o libera para resolver nomes, então com isso podemos mandar um
ping da estação:
#ping www.google.com.br

A saída deverá ser semelhante a abaixo

PING www.uol.com.br (200.221.2.45): 56 data bytes
64 bytes from 200.221.2.45: icmp_seq=0 ttl=55 time=10.4 ms

Adaptação: Retirado de
http://www.debianfordummies.org/wiki/index.php/Compartilhando_Internet_no_linux"

11.     Definindo quais processos serão executados por cada runlevel
        O comando init pode alterar os processos em execução alterando os runlevels do sistema. Mas a
definição de quais processos serão executados por cada nível de execução é feita pela hierarquia de
diretórios /etc/rc.d e scripts de Shell.
     Quando o Linux inicia, uma série de scripts no diretório /etc/rc.d é executada para dar a carga no
sistema. Vejamos estes arquivos e diretórios em detalhes:
        O arquivo rc.sysinit é executado pelo processo init durante a carga do sistema e habilita funções
        essenciais. Por exemplo, montar partições de disco.
Debian para servidores 24
                                                                                                Carlos Melo

        O arquivo rc.local é executado pelo script rc.sysinit. ele é utilizado pelos administradores para
        modificarem os serviços na carga do sistema. Este arquivo tem preferência para esta tarefa, uma vez
        que não é alterado durante um processo de atualização (upgrade) do sistema.
        O arquivo rc é utilizado para transições entre os runlevels.
        O diretório /etc/rc.d/init.d contém os diversos scripts que fazem a carga de todos os serviços do
        sistema operacional. Por exemplo o Shell seguro SSH possui um script para a carga do serviço com o
        nome sshd (Secure Shell Daemon). Este e outros scripts podem aceitar como parâmetros comandos
        com start e stop. Outros serviços podem aceitar outros comandos como reload, restart, status, etc.

    Os níveis de serviço são definidos através dos diretórios /etc/rc<n>.d, onde <n> pode variar de 0 a 6,
correspondendo aos runlevels . por exemplo /etc/rc0.d e /etc/rc1.d. Dentro de cada diretório de runlevel
existem links simbólicos para os scripts dos serviços nos arquivos em /etc/rc.d/init . Estes links simbólicos
seguem o seguinte padrão.
[K|S] nn [nomedoscript]
Onde:
        K: Kill, inidica que p sript é para terminar um determinado serviço.
        S: Start, indica que o script é para carregar um determinado serviço.
        Os números inteiros nn indicam a seqüência de execução dos scripts. O menor nn é executado
        primeiro.
        O nome do script não é necessário, mas ajuda o operador a entender o script.

     Para incluir um determinado serviço em algum runlevel desejado, você devera copiar o script de carga
para o diretório /etc/rc.d/init.d e criar um link simbólico para o script no runlevel desejado seguindo esta
nomenclatura.
Exemplo:
#cp /usr/local/mailman/mailman.sh /etc/rc.d/init.d
#ln –s /etc/rc.d/init.d/mailman.sh /etc/rc.d/rc3.d/S25mailman

12. Entendendo SMB e NetBIOS

Aplicações de compartilhamento de arquivos e impressoras de Microsoft Windows são baseados em
NetBIOS (Network Basic Input Output System). O BIOS define a interface de aplicações usadas para solicitar
serviços I/O de DOS. NetBIOS estende isto com chamadas que suportam I/O através de uma rede.
Desenvolvido há 20 anos par o produto PC Network vendido por Sytek, o NetBIOS API sobreviveu ao produto
original para se tornar parte de Windows for Workgroups, LAN Manager, Windows 95/95/ME e Windows
NT/2000.

Originalmente, o NetBIOS era um protocolo monolítico, que levava dados de todos os modos de aplicação
para rede física. O NetBIOS mudou com o passar do tempo para um protocolo em camadas. Suas camadas
incluem o NetBIOS API, o protocolo SMB e o protocolo NetBIOS Frame (NBF).

Hoje, o NetBIOS executa através do TCP/IP, o que permite às aplicações NetBIOS executar através de
grandes internets. Isto é feito encapsulando as mensagens NetBIOS dentro de datagramas TCP/IP. O
protocolo que faz isto é o NetBIOS over TCP/IP (NBT), que é definido pelas RFCs 1001 e 1002.

O NBT requer um método para mapear nomes NetBIOS de computador, que são os endereços de uma rede
NetBIOS, para os endereços IP de uma rede TCP/IP. Existem três métodos:
Debian para servidores 25
                                                                                           Carlos Melo

        broadcst IP – Uma mensagem de broadcast que contém uma nome de computador NetBIOS é
transmitida, e quando um host vir seu próprio nome em tal transmissão, devolve seu endereço IP à fonte de
tramissão.

        arquivo Imhosts – Um arquivo que mapeia nomes NetBIOS de computador para endereços IP.

        netBIOS Name Server (NBNS) – Um NBNS mapeia nomes NetBIOS para endereços IP para seus
clientes. O daemon nmbd do Samba pode fornecer este serviço.

Os sistemas em uma rede NBT são classificados de acordo com o modo que eles solucionam nomes NetBIOS
a endereços IP. Há quatro classificações possíveis:

        b-node – Um sistema que soluciona enderços por broadcast é um nó de broadcast é um nó de
broadcast (b-node). Broadcating só tem efeito em uma rede física que suporta broadcast, e normalmente
está limitado a uma única sub-rede.

       p-node – Um sistema que consulta diretamente um servidor de nome NBNS para solucionar
endereços é um nó-ponto-a-ponto (p-node).

        m-node – Um sistema que primeiro usa resolução de endereço por broadcast e, em caso de não
obter sucesso, volta a um servidor NBNS é um nó-misto (m-node). Usando uma “abordagem dupla”, é
eliminada a dependência completa de um servidor NBNS que é a fraqueza da solução p-node. O problema
com m-node é que usa a abordagem de broadcast, menos desejável, primeiro. Na prática, m-nodes são
muitos raramente usados.

        h-node – Um sistema que primeiro tenta solucionar o endereço usando o servidor NBNS; e então
volta para usar broadcast; e se tudo a mais falha, procura por um arquivo Imhosts local é um nó-hibrido (h-
nod). h-node é o método usado pela maioria dos sistemas.

Serviço de nome NetBIOS

Embora a instalação do software Samba ainda não tenha sido discutida, este é um bom lugar para discutir o
daemon NetBios Name Server (nmdb) e como é configura. O nmbd é parte da distribuição do software
Samba básica que transforma um servidor Linux em um servidor NBNS. O nmbd pode controlar consultas de
Windows 95/98/ME/NT/2000 e cliented LanManeger, e porde ser configurado para agir com um servidor
WINS.

NOTA:          A implementação da Microsoft do serviço de nome NetBIOS é o Windows Internet Name
               Service (WINS). O Samba é compatível com o WINS e pode ser usado como um servidor
               WINS.

Opções de configuração WINS de nmbd são definidas no arquivo smb.conf, que é coberto depois em
detalhes. As opções fundamentais que se relacionam para executar o WINS são como segue:

        wins support – Ajuste yes ou no. Esta opção determina se o nmbd é executado ou não como um
servidor WINS. no é o default, assim por default, nmbd fornece controle de navegação, mas não fornece
serviço WINS.

       dns proxy – Ajuste yes ou no. Esta opção dis para o nmbd usar DNS para solucionar consultas WINS
que ele não pode solucionar de nenhum outro modo. Isto só é significante se o nmbd estiver executando
Debian para servidores 26
                                                                                           Carlos Melo

como um servidor WINS. O defaut é yes. DNS pode ajudar com resolução de nome NetBIOS somente se
nomes NetBIOS e nomes de host DNS forem os mesmos.

        wins server – Ajuste o endereço IP de um servidor WINS externo. Esta opção só é útil se você não
estiver executando um servidor WINS em seu sistema Linux. Esta opção diz ao Samba o endereço do servidor
WINS externo para ao qual deveria enviar consultas de nome NetBIOS.

       wins proxy – Ajuste yes ou no. O default é no. Quando ajustado a yes, nmbd soluciona mensagens
de broadcast de consultas de nome NetBIOS transformando-as em consultas unicast e as enviando
diretamente para o servidor WINS. Se wins support = yes estiver ajustado, estas consultas são controladas
pelo próprio nmbd. Se, ao contrário, wins server estiver ajustado, estas consultas são enviadas ao servidor
externo. A opção wins proxy é necessária apenas se os clientes não sabem o endereço do servidor ou não
entendem o protocolo WINS.

Forneça a seus clientes o endereço do servidor de nome NetBIOS através de DHCP. Para as opções de DHCP
que definem a configuração de NetBIOS de um cliente. Para definir o endereço do servidor NBNS, entre a
seguinte linha no arquivo dhcpd.conf:

option netbios-name-servers 172.16.5.1 ;

O servidor de nome NetBIOS geralmente é iniciado no momento da inicialização com o seguinte comando:

nmbd -D

Quando iniciado com a opção – D, o nmbd executa continuamente, escutando por solicitações de serviço de
nome NetBIOS na porta 137. O servidor responde solicitações usando dados de registro coletados de seus
cliente e o mapeamento de nomes para endereço NetBIOS que descobriu de outros servidores. Se a opção –
H /etc/Imhosts for adicionada à linha de comando, o servidor também responde com o mapeamento
definido no arquivo Imhosts. (Você pode chamar este arquivo de qualquer coisa que deseje, mas o nome
tradicional é Imhosts.)

O arquivo Imhosts está lá de forma que você possa fornecer mapeamento de endereço manualmente para o
servidor quando for necessário, entretanto, normalmente não é necessário. A maioria dos servidores WINS
não precisa de um arquivo Imhosts porque os servidores descobrem mapeamento de endereço
dinamicamente dos clientes e outros servidores. Nomes NetBIOS são registrados por eles mesmos; os cliente
registram os seus nomes NetBIOS com o servidor quando eles inicializam. Os endereços e nomes são
armazenados no banco de dados do WINS; wins.dat. Imhosts é só uma parte pequena do banco de dados
total.

Os arquivos Imhosts

O arquivo Imhosts contém mapeamentos de nome estático para endereço. O arquivo é semelhante ao
arquivo hosts descrito no COLOCAR ARQUIVO MODELO DE HOSTS, “Serviços de nome Linux”. Cada entrada
começa com um endereço IP que é seguido por nome de host. Porém, agora o nome de host é o nome
NetBIOS. A Listagem 9.8 é um arquivo Imhosts de exemplo.

Listagem 12.1 – Um arquivo Imhosts exemplo.

$ cat /etc/Imhosts
172.16.5.5    crow
172.16.5.1    wren
Debian para servidores 27
                                                                                                Carlos Melo

172.16.5.2       robin
172.16.5.3       hawk

Dado este arquivo Imhosts, o nome NetBIOS robin mapeia para o endereço IP 172.16.5.2. Observe que estes
nomes NetBIOS são iguais aos nomes de host TCP/IP atribuídos a estes clientes. Você sempre deve usar os
mesmos nomes de host para seus sistemas NetBIOS e TCP/IP. Caso contrário, limita suas escolhas de
configuração e cria confusão.

Serviço de nome NetBIOS é uma parte essencial de uma rede NetBIOS, mas o ponto real de criar tal rede é
compartilhar arquivos e outros recursos de rede. O resto deste material discute a instalação e configuração
de Samba para fazer apenas isso.

Instalando o Samba

Serviços Samba estão implementados como dois daemons. O daemon SMB (smdb), o coração do Samba,
fornece os serviços de compartilhamento de arquivo e de impressora. O daemon NetBIOS Name Server
(nmbd) fornece serviço de nome NetBIOS para endereço IP.

Você pode fazer o download do software Samba da Internet se precisar. Vá para www.samba.org para
selecionar o site de download mais próximo, e então baixe o arquivo samba-latest.tar.gz deste site.
Descompacte e descomprima o fonte em um diretório de trabalho. Mude para este diretório, execute
./configure, e então execute make e make install. Isto instalará a mais recente versão do Samba em
/usr/local/samba. Porém, compilar sua própria cópia de Samba não deve ser necessário em um sistema
Linux.

O samba é incluído na maioria das distribuições Linux, e pode ser instalado durante a instalação de sistema
inicial. Selecionar Samba durante a instalação de Red Hat instala o pacote Samba e o script
/etc/rc.d/init.d/smb, que pode ser executado no momento da inicialização para iniciar ambos smbd e nmbd.

Depois que o software for instalado, use chkconfig ou tksysv para assegurar que os scripts apropriados
executam no momento da inicialização. Em nosso sistema Red Hat de amostra, o script é smb, e nós usamos
este comando chkconfig para ter certeza de que o script executará na inicialização:

[root] # chkconfig -list smb
smb       0:off 1:off 2:off 3:off 4: off 5: off 6: off
[root] # chkconfig -level 35 smb on
[root] # chkconfig -list smb
smb       0:off 1:off 2:off 3:on 4: off 5: on 6: off

O primeiro commando chkconfig mostra que, embora o RPM dos Samba esteja instalado nes system, o smb
não foi configurado para executar a inicialização. O segundo comando chkconfig faz o smb executar nos
níveis de execução 3 e 5 – os níveis de execução multiusuário default.

A seguir, você executa o script /etc/init.d/smb para iniciar os daemons, como segue:

[root] # service smb start
Stanting SMB services: [ OK ]
Stanting NMB services: [ OK ]
[root] # service smb status
smbd (pid 5341) is running…
nmbd (pid 5346) is running…
Debian para servidores 28
                                                                                           Carlos Melo


Como os IDs de processo na resposta de estado mostram, os daemons smbd e nmbd estão executando. Já
que os sistemas Red Hat não executarão os daemons, a menos que um arquivo smb.conf exista, esta é uma
ótima dica de que o sistema Red Hat vem com Samba pré-configurado.

12.1 Configurando um servidor Samba

O servidor Samba é configurado pelo arquivo smb.conf. Olhe no script de inicialização para ver onde o smbd
espera encontrar o arquivo de configuração. Em um sistema Red Hat, deve ser em / etc/samba/smb.conf,
em outro sistema pode ser /etc/smb.conf, e o default usado na maioria da documentação de Samba é
/usr/local/samba/lib/smb.conf. Use find ou verifique o script de inicialização assim você sabe onde está em
seu sistema.

O arquivo smb.conf está dividido em seções. Com exceção da seção global que define parâmetros de
configuração para o servidor inteiro, as seções são nomeadas depois dos compartilhamentos. Um
compartilhamento é um recurso oferecido pelo servidor aos clientes. Neste contexto, é um sistema de
arquivos que é oferecido pelo servidor para os clientes usarem para compartilhamento de arquivos. Um
compartilhamento também pode ser uma impressora compartilhada.

O melhor modo para aprender sobre o arquivo smb.conf é olhara para um. Menos os comentários e todas as
linha que tratam de compartilhamento de impressoras, o arquivo smb.conf do Red Hat contém as linhas
ativas mostradas na listagem 9.9.

Listagem 12.2 – Linhas ativas no arquivo smb.conf de Red Hat.

[global]
       Workgroup = MYGROUP
       Server string = Samba Server
       Log file + /var/log/samba/%m.log
       Max log size = 0
       Segurity = user
       encrypt passwords = yes
       smb passwd file = /etc/samba/smbpasswd
       socket options = TCP_NODELAY SO_RCWBUF=8192 SO_SNDBUF=8192
       dns proxy = no
[homes]
       comment = Home Directories
       browseable = no
       writable = yes
       valid users = %S
       create mode = 0664
       directory mode = 0775


As variáveis do smb.conf

Ler um arquivo smb.conf pode ser confuso se você não entende as variáveis encontradas no arquivo. A
Tabela 9.3 lista cada variável e o valor delas.
Debian para servidores 29
                                                                                          Carlos Melo

Tabela 12.1 – Variáveis do smb.conf.
Variável       Significado
%a             Arquitetura de máquina de cliente
%d             ID do processo de servidores
%g             GID do nome de usuário atribuído ao cliente
%G             GID do nome de usuário solicitado pelo cliente
%h             Nome no DNS do host do servidor
%H             Diretório home do nome de usuário atribuído ao cliente
%I             Endereço IP do cliente
%L             Nome NetBIOS do servidor
%m             Nome NetBIOS do cliente
%M             Nome no DNS do host do cliente
%N             Servidor NIS se NIS for suportado
%p             Diretório raiz do NIS se NIS for suportado
%P             O diretório raiz do serviço atual
%R             O protocolo negociado durante a conexão
%S             O nome do serviço atual
%T             A data e hora
%u             O nome de usuário atribuído ao cliente
%U             O nome de usuário solicitado pelo cliente
%v             O número da versão do Samba

Variáveis fornecem flexibilidade porque cada variável é substituída na configuração por um valor obtido do
sistema. Isto permite interpretar a mesma declaração de configuração diferentemente em situações
diferentes. Aqui está um exemplo do arquivo smb.conf do Red Hat na Listagem 9.9:

Log file = /var/log/samba/%m.log

Neste exemplo, a variável %m é substituída pelo nome NetBIOS do cliente, assim um arquivo de registro
diferente é criado para cada client que usa o nome NetBIOS do cliente. Se o nome NetBIOS do cliente for
crow, o arquivo é chamado de /var/log/samba/crow.log. Se o nome NetBIOS do cliente for robin, o arquivo é
/var/log/samba/robin.log.

A seção global do smb.conf

O arquivo de configuração de exemplo do Red Hat contém duas seções: global e homes. A seção global
define vários parâmetros que afetam o servidor inteiro. Os parâmetros na seção global do smb.conf do Red
Hat são os seguintes:

         workgroup (grupo de trabalho) – Define o grupo de trabalho do qual este servidor é um membro.
Um grupo de trabalho é um agrupamento hierárquico de hosts. Organiza recursos de rede da mesma forma
que diretórios organizam recursos de arquivo. E é usado pela mesma razão: computadores agrupados em
grupos de trabalho ajudam um usuário a localizar sistemas relacionados. Grupos de trabalho não são usados
para segurança. Hosts que não estão no grupo de trabalho ainda são autorizados a compartilhar arquivos
com sistemas que estão. Substitua o nome MYGROUP no exemplo por um nome de grupo de trabalho
significante de 15 caracteres ou menos.

        server string – Define o comentário descritivo para este servidor. A string é exibida pelo comando
net view em clientes Windows, assim fornece uma oportunidade para você descrever o servidor. Mude a
string no exemplo para significante para seu sistema.
Debian para servidores 30
                                                                                              Carlos Melo

        Log file (arquivo de registro) – Define o local do arquivo de registro. A coisa mais interessante sobre
esta entrada é que contém uma variável de smb.conf.

       max log size (tamanho máximo do arquivo de registro) – Define o tamanho máximo de uma arquivo
em kilobyte. O default é 5MB, ou 5.000KB. Se o tamanho máximo for excedido, o smbd fecha o registro e o
renomeia com extensão .old. A configuração do Red Hat ajusta isto em 0, o que significa “ilimitado” – não há
nenhum tamanho máximo de registro.

        security (segurança) – Define o tipo de segurança usado. Em Samba, há quatro configurações
possíveis:

        share – Solicita segurança no nível do recurso compartilhado. Este é o mais baixo nível de segurança.
Essencialmente, um recurso configurado com segurança neste nível é compartilhado com todo o mundo. É
possível associar uma senha com um compartilhamento, mas a senha é a mesma para todos que queiram
usar o recurso compartilhado.

        user – Solicita segurança em nível de usuário. A todo usuário é exigido entrar com um nome de
usuário e uma senha associada. Por default, isto é o nome de usuário e senha definidos em /etc/passwd que
o usuário usa para se registrar ao servidor Linux. O valor default para senhas pode ser mudado, como nós
veremos em instantes.

        server – Define segurança em nível de servidor. Isto é semelhante a segurança em nível de usuário,
mas um servidor externo é usado para autenticar o nome de usuário e senha. O servidor externo deve ser
definido pela opção password server.

       domain – Define segurança em nível de domínio. Neste esquema, o servidor Linux une um domínio
Windows NT e usa o controlador de domínio Windows NT como o servidor que aprova nomes de usuário e
senhas. Use a opção (PDC). Registre-se em PDC, e crie uma conta para o sistema Linux. Finalmente,
acrescente estas linhas à seção global no sistema Linux:

                domain master = no
                local master = no
                preferred master = no
                ostype = 0

        encrypt passwords – Especifica se Samba deve ou não usar senhas criptografadas. Fixar este
parâmetro para yes torna o servidor mais compatível com os clientes Windows, e o torna mais difícil para
intrusos detectarem senhas da rede. Senhas criptografadas são mais seguras. Se este parâmetro for ajustado
em no, senhas de texto claro são usadas, o que requer mudanças nas configurações de cliente. Veja a
sidebar “Senhas de texto claro” para informações sobre as mudanças no Register que são necessárias para
tornar os cliente Windows compatíveis com senhas de texto claro.

        smb passwd file – Use este parâmetro para apontar o local do arquivo smbpasswd. Quando senhas
criptografadas são usadas, o servidor Samba tem que manter dois arquivos de senha: passwd e smbpasswd.
Use o script mksmbpasswd.sh para construir o arquivo inicialsmbpasswd do arquivo passwd.

        socket options – Define os parâmetros de ajuste de desempenho. A configuração de exemplo do
Red Hat ajusta TCP_NODELAY para dizer a Samba para enviar pacotes múltiplos com cada transferência, que
é de fato o default. As opções SO_RCVBUF e SO_SNDBUF ajustam o buffer de envio e recebimento em oito
kilobytes, o que pode aumentar ligeiramente o desempenho. Um estudo detalhado de ajuste de
desempenho de Samba seta além do escopo deste livro. Veja o capítulo 12 de Linux Samba Serve
Debian para servidores 31
                                                                                          Carlos Melo

Adminstration por Rod Smith (Sybex, 2000) para uma boa discussão sobre o ajuste de desempenho de
Samba.

      dns proxy – Especifica se o nmbd deve ou não encaminhar consultas NBNS não resolvidas ao DNS,
como descrito na seção anterior. A configuração do Red Hat ajusta isto para no, assim não envia consultas
NBNS não resolvidas ao DNS.

Senhas de texto claro

Quando Samba usa senhas de texto claro, nenhuma sincronização de banco de dados de senha é requerida,
porque só um banco de dados, /etc/passwd, é usado. Porém, senhas de texto claro não são compatíveis com
muitas versões de Windows, porque estas versões requerem senhas criptografadas. Para forças estes
clientes a usar senhas de texto claro, você tem que editar o Register de todos os clientes. Para Windows
95/98/ME, a configuração de Registro é

[HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDVNETSUP]
“EnablePlainTextPasswords”=dword:00000001

Em Windows NT, a configuração é:

[HKEY_LOCAL_MACHINESystemCurrentControlSetServices->RdrParameters]
“EnablePainTexPasswords”=dword:00000001

Em Windows 2000, a configuração é:

[HKEY_LOCAL_MACHINESystemCurrentControlSetServices->LanmanWorkStationParameters]
“EnablePainTexPasswords”=dword:00000001

Senhas de texto claro não são tão seguras quanto a senha criptografada. Adicionalmente, manter dois
brancos de dados em um servidor Linux é normalmente mais simples que editar o Register em todos os
clientes Windows. Por isto, a maioria dos administradores acha que as senhas criptografadas são melhores e
dão menos dor de cabeça.

Além de mudar o nome do grupo de trabalho, o sistema Red Hat executa com a configuração de exemplo
sem mudar quaisquer destes parâmetros globais. A outra seção no arquivo de configuração de exemplo que
se relaciona ao compartilhamento de arquivos é a seção homes.

12.3 A seção homes do smb.conf

A seção homes é uma seção de compartilhamento especial. Diz ao smbd para permitir aos usuários acessar
seus próprios diretórios home através o SMB. Ao contrário de outras seções de compartilhamento cobertas
depois, a seção homes não diz ao smbd o caminho específico do diretório sendo compartilhado. No lugar, o
smbd usa o diretório home do arquivo /etc/passwd baseado no nome de usuário do usuário que solicita o
compartilhamento. É esta seção especial que torna o diretório home de um usuário no servidor disponível
para o usuário no PC dele. A seção homes do exemplo de Red Hat é

[homes]
       commet = Home Directories
       browseable = no
       writable = yes
       valid users = %S
Debian para servidores 32
                                                                                            Carlos Melo

       creat mode = 0664
       directory mode = 0775

Os parâmetros de configuração definidos nesta seção homes são os seguintes:

      comment – Fornece uma descrição do recurso compartilhado que é exibida no campo de
comentário da janela Network Neighborhood (vizinhaça de rede) quando este recurso é visto em um sistema
Macrosoft Windows.

        browsable – Especifica se todos os usuários podem enxergar ou não os conteúdos deste recurso
compartilhado . no significa que somente usuários com permissão específica (quer dizer, o ID de usuário
correto) estão autorizados a enxergar o recurso compartilhado . yes significa que todos os usuários,
indiferente do UID, podem enxergar este recursos. Este parâmetro só controla navegação; acesso real aos
conteúdos do recurso compartilhado é controlado pelas permissões de arquivo Linux padrão.

        writable – Especifica se os arquivos pode ser escritos ou não no compartilhamento. Se yes, o recurso
compartilhado pode ser escrito. Se no, o recurso é somente leitura. Este parâmetro define as ações
permitidas pelo Samba. Permissão real para escrever ao diretório definitivo pelo compartilhamento ainda é
controlado pelas permissões de arquivos padrões do Linux.
        valid user – Define os usuários que estão autorizados a usar este compartilhamento. No exemplo do
Red Hat, o nome de serviço (%S) é usado.

      creat mode – Define a permissão de arquivo usada quando um arquivo é criado neste
compartilhamento. (Veja a discussão de arquivo anteriormente neste capítulo.)

      directory mode – Define as permissões de diretório usadas quando um diretório é criado neste
compartilhamento.

As seções global e homes descritas estão incluídas na configuração de exemplo do Red Hat. Tendo uma
compreensão dos elementos usados para criar estas seções, você está pronto para criar sua própria seção de
compartilhamento no arquivo smb.conf.

12.4 Compartilhando um diretório através do Samba

Para compartilhar um diretório através de Samba, crie uma seção de compartilhamento no smb.conf que
descreva o diretório e as condições sob as quais você está disposto a compartilhá-lo. Para compartilhar o
diretório /home/sales usado nos exemplos do NFS e uma diretório novo chamado /usr/local/pcdocs, você
deve adicionar duas seções de compartilhamento mostradas na Listagem 9.10 ao arquivo smb.conf de
exemplo.

Listagem 12.4 – Compartilhamento de arquivos com o Samba

[pcdocs]
        comment = PC Documentation
        path = /usr/local/pcdocs
        browsable = yes
        writable = no
        public = yes
[sales]
        comment = Sales Departament Shared Directory
        path = /home/sales
Debian para servidores 33
                                                                                           Carlos Melo

       browsable = no
       writable = yes
       create mode = 0750
       hosts allow = .sales.foobirds.org

Cada seção de compartilhamento está rotulada com um nome significativo. Este nome é exibido como uma
pasta na janela Network Neighborhood nos PCs clientes. Cada seção contém alguns comandos que você já
viu e alguns comandos novos. O primeiro comando novo é path, que define o caminho do diretório que é
oferecido para compartilhamento.

A seção pcdocs também contém o comando public.public permite a qualquer um acessar o recurso
compartilhado, até mesmo se eles não tiverem um nome de usuário ou senha válidos. A estes usuários
públicos é dado acesso de “conta de convidado” para o compartilhamento. Em um sistema Linux, isto
normalmente significa que eles executam como usuário nobody e grupo nobody, e estão limitados a
permissões mundiais.

12.5 Configurando permissões de arquivo e de diretório

O recurso sales está sendo oferecida como um diretório que pode ser escrito. O comando create mode
controla as permissões usadas quando um cliente escrever em um arquivo do diretório/home/sales. Na
Listagem 9.10 de exemplo, é especificado que os arquivos serão cridos com permissões
leitura/escrita/execução para o proprietário, leitura/execução para o grupo, e nenhuma permissão para o
mundo (750). Um comando relacionado, directory mode, define a permissão usada quando um cliente criar
um diretório dentro do diretório compartilhado. Por exemplo:

directory mode = 0744

Isto ajusta as permissões para diretórios novos em leitura/escrita/execução para o proprietário,
leitura/execução para o grupo, e leitura/execução para mundo (744). Esta é uma configuração razoável, que
permite aos comandos cd e Is trabalhar como esperado, porque os diretórios têm que ter o bit executar
ajustado para todos os usuários, para que o comando de mudança de diretório (o cd) funcione
corretamente.

12.6 Limitando o acesso a um recurso compartilhado

A seção sales também contém um comando hosts allow, que define os clientes que serão autorizados a
acessar este recurso. Até mesmo se um usuário tiver o nome de usuário e senhas corretos, eles estão
autorizados a acessar este recurso somente a partir de hosts especificados. Por default, a todos os hosts é
dado acesso, e o acesso específico é controlado pelo nome de usuário e senha.

Os hosts identificados no comando hosts allow na Listagem 9.10 são idênticos aos listados no exemplo do
NFS. Isto ilustra que o Samba também pode controlar acesso com curingas de domínio.

Há vários modos diferentes para definir hosts individuais ou grupos de hosts no comando hosts allow. Como
o nome do comando insinua, usa a mesma sintaxe do arquivo hosts.allow discutido no Capítulo 12,
“Segurança”. Alguns exemplos de como pode ser usado no arquivo smb.conf são como segue:

      Hosts allow = 172.16.5.0/255.255.255.0 Permite a todo host na rede 172.16.5.0 acessar o recurso
compartilhado.
Debian para servidores 34
                                                                                              Carlos Melo

        Hosts allow = 172.16.EXCEPT 172.16.99.0/255.255.255.0 Permite a todo host na rede 172.16.0.0 ter
acesso ao recurso compartilhado, com exceção aos hosts na sub-rede 172.16.99.0172.16 pode ser a rede de
empresa, e 172.16.99 pode ser uma sub-rede não confiável, onde computadores acessíveis publicamente
estão localizados.

Além do comando hosts allow, há o comando hosts deny, que define computadores que têm acesso
explicitamente negado ao recurso compartilhado. Sua sintaxe é semelhante à do comando hosts allow.

Combinando estas duas nova seções compartilhamentos com as seções que vieram com a configuração do
Red Hat, é criado um servidor que faz tudo o que você quiser. Fornece acesso a diretórios home de usuário.
Fornece acesso a diretórios públicos usados para oferecer documentação on-line ou outros recursos
compartilhados publicamente. E oferece diretórios privados que só são acessíveis a membros do grupo
selecionado. Isto fornece tudo o que NFS ofereceu de uma maneira que é muito mais simples para clientes
Microsoft Windows usarem.

É claro que você não está limitado a servir somente clientes Windows. Sistemas Linux também podem ser
clientes Samba.

12.8 Usando um cliente Samba do Linux

O NFS é o modo mais comum para compartilhar arquivos ente sistemas Linux, e recursos como autofs e
montagem de fstab tornam a integração NFS em um cliente Linux muito transparente. Mas nem todos os
servidores são servidores Linux. É possível que você vá precisar configurar um sistema Linux como um cliente
para um servidor Windows NT/2000, ou até mesmo como um par para um desktop Windows. Para estas
situações, use as ferramentas de cliente do Samba.
Usando smbclient

O programa smbclient é uma ferramenta para transferir arquivos de um sistema oferecendo
compartilhamento SMB. É particularmente útil para transferir arquivos com sistemas Windows que não têm
software de servidor FTP. O smbclient age como uma ferramenta FTP para arquivos compartilhados pelo
SMB. A Listagem 9.11 ilustra isto.

Listagem 12.7 – Como usar smbclient.

$ smbclient //robin/temp -W sybex
Added interface ip=172.16.5.2 bcast=172.16.5.255 nmask=255.255.255.0
Passaword:
smb: > 1s a1*.jpg
        alana1.jpg     A        6147 Sun Jul           8    11:39:42          2001
        alana2.jpg     A        8180 Sun Jul           8    11:46:56          2001
        alana3.jpg     A        23296 Wen Aug          8    09:37:24          2001
        alana4.jpg     A        42857 Sun     Nov      25   16:50:42          2001
        alana5.jpg     A        22456 Sun     Nov      25   16:53:00          2001
        alana6.jpg     A        55847 Wed Feb          6    16:00:20          2002
        alana7.jpg     A        42799 Wed     Feb      6    16:10:50          2002
        51795 blocks of size 131072. 11861 Blocks available
smb: > get alana1.jpg
getting file Alana1.jpg as alana1.jpg (average 158.0 kb/s)
smb: > quit
Debian para servidores 35
                                                                                          Carlos Melo

A ferramenta smbclient é invocada pelo comando smbclient. O recurso que você está acessando é descrito
na linga de comando que usa o Microsoft Uniform Naming Convertion (convenção de nome uniforme da
Microsoft) (UNC). O formanto UNC é //server/sharename, onde server é o servidor de nome NetBIOS, e
sherename é o nome do recurso compartilhado.

Se uma senha para o recurso compartilhado é requerida, que pode ser o caso se o servidor usar segurança
em nível de compartilhamento, ela segue o UNC na linha de comando. No exemplo da Listagem 9.11, a
segurança em nível de compartilhamento é usada, mas a senha não é fornecida na linha de comando, assim
o servidor avisará ao usuário para isto.

Use a opção de comando -U, e forneça o nome de usuário e senha separados por um % se o servidor usar
segurança em nível de usuário. Se um nome de grupo de trabalho for requerido, forneça-o com a opção –W,
como mostrado na Listagem 9.11.

Depois que o nome de usuário e senha foram fornecidos, os arquivos são enviados e recuperados usando
exatamente os mesmos comandos do FTP. Se você pode usar FTP, você pode usar smbclient.

O programa smbclient é o burro de carga das ferramentas do cliente Samba. Não é muito elegante, mas é a
base para várias outras ferramentas de cliente que são os scripts shell que usam smbclient para que o
trabalho seja feito. Um modo mais natural para integar arquivos de servidor SMB no sistema de arquivos
Linux é com smbfs.

12.9 Usando o smbmount

O sistema de arquivo SMB (smbfs) lhe permite montar compartilhamentos SMB, e os usar como se eles
fizessem parte do sistema de arquivo Linux. Par funcionar, o kernel tem que suportar o sistema de arquivo
smbfs. A Listagem 9.12 mostra uma verificação rápida ao suporte de kernel de smbfs.


Listagem 12.8 – Verificar /proc/filesystems.

[root] # modprobe smbfs
[root] # cat /proc/filesystems
nodev proc
nodev sockfs
nodev tmpfs
nodev shm
nodev pipefs
         ext2
         iso9660
nodev devpts
         ext3
         vfat
nodev autofs
nodev smbfs

        O pseudo sistema de arquivo /proc fornece uma olhada rápida no kernel. O pseudo arquivo
/proc/filesystems lista os sistemas de arquivos que estão no kernel, porque eles são compilados dentro ou
configurados como módulos carregáveis. É claro qu módulos carregáveis não soa carregados a menos que
sem necessários, assim a Listagem 9.11 começa com um comando modprobe para forçar smbfs a carregar.
Se smbfs não carregar o kernel pode precisar ser reconfigurado.
Debian para servidores 36
                                                                                            Carlos Melo


       Os recursos compartilhados pode ser montados usando o comando smbmount e desmontadas
usando o comando smbumount. A listagem 9.13 monta o mesmo recurso mostrado no exemplo do
smbclient usando smbmount.

Listagem 12.9 – Um smbmount de exemplo.

[root] # 1s /home/robin
[root] # smbmount //robin/temp /home/robin workgroup=sybex
Password:
[root] # 1s /home/robin/Alana*.jpg
/home/robin/alana1.jpg /home/robin/alana4.jpg /home/robin/alana7.jpg
/home/robin/alana2.jpg /home/robin/alana5.jpg
/home/robin/alana3.jpg /home/robin/alana6.jpg

       O comando Is no começo da Listagem 9.13 mostra que /home/robin é um diretório vazio, que nós
usaremos como um ponto de montagem (o local dentro do sistema de arquivo Linux no qual o recurso
compartilhado é montando). O comando smbmount começa com o nome do recurso escrito no formato
UNC de Microsoft. O nome do recurso é seguido pelo nome do ponto de montagem de Linux. Uma lista de
opções segue o ponto de montagem. Neste caso, o grupo de trabalho é a única opção requerida.

        Depois que estiver montado, o recurso compartilhado tem essencialmente o mesmo aspecto e
sentido de qualquer diretório Linux, e a maioria dos comandos Linux padrão que pode ser usada para
manipular os arquivos no diretório compartilhado. (A Listagem 9.13 mostra um Is de certos arquivos no
diretório.) É claro que nem tudo é a mesma coisa em sistemas Linux e sistemas Windows. Alguns recursos do
sistema de arquivo Linux não estão disponíveis em todos os servidores SMB. Por exemplo, um sistema
Windows 95/98/ME que oferece um compartilhamento que não tem segurança em nível de arquivo, não
entende UIDs e GIDs do Linux. O smbfs faz o seu melhor trabalho para “fingir isto”. Usa o UID e GID em vigor
quando smbmount for iniciado. Você pode anular estes defaults com opções de linha de comando. Por
exemplo, o seguinte comando diz para o smbfs usar o UID 689, presumivelmente o UID atribuído a tyler; e o
GID 100, que é o GID de users:

Smbmount //crow/user/tyler /home/tyler/crow 
     Username=tyler password=Wats?Watt? uid=689 gid=100

Para desmontar um recurso SMB, use o comando smbumount com o caminho do ponto de montagem:

[root] # smbumount /home/robin

        Recurso compartilhados também podem ser montadas a partir arquivos fstab usando o comando
mout com os argumentos smbfs –a e –t. O Red Hat usa esta técnica para montar compartilhamentos Samba
no script de inicialização netfs. Para fazer isto, o compartilhamento Samba deve ser definido ao arquivo
fstab. Por exemprlo, para montar o compartilhamento Samba usa na Listagem 9.13, a seguinte entrada deve
ser acrescentada ao arquivo fstab:

//robin/temp /home/robin smbfs workgroup=sybex          0    0

Aqui, o nome de sistema de arquivo é o nome formatado UNC do recurso remoto, e o tipo de sistema de
arquivo é smbfs. Quando o comando mount for invocado com –t smbfs, transfere o controle ao programa
/sbin/mount.smbfs. Em um sistema Red Hat, /sbin/mount.smbfs é apenas um link simbólico para smbmout.
Os valores nos primeiros quatro campos da entrada de fstab são passados a smbmount para processamento.
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux
apostila linux

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo Linux
 
Introducao ao linux
Introducao ao linuxIntroducao ao linux
Introducao ao linux
 
Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linux
 
Trabalho sobre linux-Denise Guimarães
Trabalho sobre linux-Denise GuimarãesTrabalho sobre linux-Denise Guimarães
Trabalho sobre linux-Denise Guimarães
 
A.S.O 2 - Linux
A.S.O 2 - LinuxA.S.O 2 - Linux
A.S.O 2 - Linux
 
Linux
LinuxLinux
Linux
 
Conhecendo Melhor O Linux
Conhecendo Melhor O LinuxConhecendo Melhor O Linux
Conhecendo Melhor O Linux
 
Introdução Linux
Introdução LinuxIntrodução Linux
Introdução Linux
 
GNU/Linux - uma alternativa
GNU/Linux - uma alternativaGNU/Linux - uma alternativa
GNU/Linux - uma alternativa
 
Apresentação Final
Apresentação FinalApresentação Final
Apresentação Final
 
CentOS
CentOSCentOS
CentOS
 
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling LandgrafDesenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
Desenvolvimento do Kernel Linux Versões 2.6.X - Douglas Schilling Landgraf
 
Free BSD e Cent OS
Free BSD e Cent OS Free BSD e Cent OS
Free BSD e Cent OS
 
Trabalho linux
Trabalho linuxTrabalho linux
Trabalho linux
 
Oficinalinux Comotudo Começou
Oficinalinux Comotudo ComeçouOficinalinux Comotudo Começou
Oficinalinux Comotudo Começou
 
Linux
LinuxLinux
Linux
 
Linux para leigos
Linux para leigos Linux para leigos
Linux para leigos
 
Apresentação de Linux Ubuntu
Apresentação de Linux UbuntuApresentação de Linux Ubuntu
Apresentação de Linux Ubuntu
 
Introdução ao Linux - Aula 01
Introdução ao Linux - Aula 01Introdução ao Linux - Aula 01
Introdução ao Linux - Aula 01
 

Andere mochten auch

Dimensionamento tomadas
Dimensionamento tomadasDimensionamento tomadas
Dimensionamento tomadasCarlos Melo
 
Pesquisa_accenture
Pesquisa_accenturePesquisa_accenture
Pesquisa_accentureCarlos Melo
 
Sistemas flexíveis de manufatura aula2
Sistemas flexíveis de manufatura   aula2Sistemas flexíveis de manufatura   aula2
Sistemas flexíveis de manufatura aula2Carlos Melo
 
Configurando servidor web https no apache2 ed
Configurando servidor web https no apache2 edConfigurando servidor web https no apache2 ed
Configurando servidor web https no apache2 edCarlos Melo
 
Prova segurança de redes
Prova segurança de redesProva segurança de redes
Prova segurança de redesCarlos Melo
 
Nr 10-carlos-melo
Nr 10-carlos-meloNr 10-carlos-melo
Nr 10-carlos-meloCarlos Melo
 
Instalações prediais 2015 carlos eduardov3
Instalações prediais 2015 carlos eduardov3Instalações prediais 2015 carlos eduardov3
Instalações prediais 2015 carlos eduardov3Carlos Melo
 
Levantamento de carga
Levantamento de cargaLevantamento de carga
Levantamento de cargaCarlos Melo
 
Eletricidade predial simbologiav2
Eletricidade predial simbologiav2Eletricidade predial simbologiav2
Eletricidade predial simbologiav2Carlos Melo
 
Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...
Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...
Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...Eduardo Santana
 

Andere mochten auch (12)

Dimensionamento tomadas
Dimensionamento tomadasDimensionamento tomadas
Dimensionamento tomadas
 
Pesquisa_accenture
Pesquisa_accenturePesquisa_accenture
Pesquisa_accenture
 
Abnt 2011
Abnt 2011Abnt 2011
Abnt 2011
 
Sistemas flexíveis de manufatura aula2
Sistemas flexíveis de manufatura   aula2Sistemas flexíveis de manufatura   aula2
Sistemas flexíveis de manufatura aula2
 
Configurando servidor web https no apache2 ed
Configurando servidor web https no apache2 edConfigurando servidor web https no apache2 ed
Configurando servidor web https no apache2 ed
 
Prova segurança de redes
Prova segurança de redesProva segurança de redes
Prova segurança de redes
 
Perguntas nr10
Perguntas nr10Perguntas nr10
Perguntas nr10
 
Nr 10-carlos-melo
Nr 10-carlos-meloNr 10-carlos-melo
Nr 10-carlos-melo
 
Instalações prediais 2015 carlos eduardov3
Instalações prediais 2015 carlos eduardov3Instalações prediais 2015 carlos eduardov3
Instalações prediais 2015 carlos eduardov3
 
Levantamento de carga
Levantamento de cargaLevantamento de carga
Levantamento de carga
 
Eletricidade predial simbologiav2
Eletricidade predial simbologiav2Eletricidade predial simbologiav2
Eletricidade predial simbologiav2
 
Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...
Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...
Normas da ABNT NBR 14565 - Procedimento Básico Para Elaboração de projetos de...
 

Ähnlich wie apostila linux

Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxFrederico Madeira
 
01.01 - Introdução ao Linux.pdf
01.01 - Introdução ao Linux.pdf01.01 - Introdução ao Linux.pdf
01.01 - Introdução ao Linux.pdfSergio778021
 
Sistemas operacionais linux
Sistemas operacionais linuxSistemas operacionais linux
Sistemas operacionais linuxLeandro Lemes
 
(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhsAnderson Lago
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Adriano Melo
 
Aula 1 Mini Curso de Linux
Aula 1 Mini Curso de LinuxAula 1 Mini Curso de Linux
Aula 1 Mini Curso de LinuxRogério Cardoso
 
Linux Como Tudo Começou
Linux Como Tudo ComeçouLinux Como Tudo Começou
Linux Como Tudo Começouguestaa94fe
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicosRobson Ferreira
 
Apresentação Final
Apresentação FinalApresentação Final
Apresentação FinalElisa
 
ADRL00 - Inicio Administração de Redes Linux Server
ADRL00 - Inicio Administração de Redes Linux ServerADRL00 - Inicio Administração de Redes Linux Server
ADRL00 - Inicio Administração de Redes Linux ServerSilvano Oliveira
 
Mandriva - Sistema Operacional
Mandriva - Sistema OperacionalMandriva - Sistema Operacional
Mandriva - Sistema OperacionalAnderson Favaro
 

Ähnlich wie apostila linux (20)

Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao Linux
 
01.01 - Introdução ao Linux.pdf
01.01 - Introdução ao Linux.pdf01.01 - Introdução ao Linux.pdf
01.01 - Introdução ao Linux.pdf
 
Sistemas operacionais linux
Sistemas operacionais linuxSistemas operacionais linux
Sistemas operacionais linux
 
sistema operacional Slackware
sistema operacional Slackwaresistema operacional Slackware
sistema operacional Slackware
 
(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs
 
snto
sntosnto
snto
 
S.o anamaria
S.o anamariaS.o anamaria
S.o anamaria
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)
 
Aula 1 Mini Curso de Linux
Aula 1 Mini Curso de LinuxAula 1 Mini Curso de Linux
Aula 1 Mini Curso de Linux
 
Linux Como Tudo Começou
Linux Como Tudo ComeçouLinux Como Tudo Começou
Linux Como Tudo Começou
 
SlackWare - Leonel
SlackWare - LeonelSlackWare - Leonel
SlackWare - Leonel
 
Administração de Redes Linux - I
Administração de Redes Linux - IAdministração de Redes Linux - I
Administração de Redes Linux - I
 
1 - Introdução ao linux
1 - Introdução ao linux1 - Introdução ao linux
1 - Introdução ao linux
 
Soa cap1 introducao a linux
Soa cap1 introducao a linuxSoa cap1 introducao a linux
Soa cap1 introducao a linux
 
S.o iuras
S.o iurasS.o iuras
S.o iuras
 
Aula 04 informática aplicada - comando básicos
Aula 04  informática aplicada - comando básicosAula 04  informática aplicada - comando básicos
Aula 04 informática aplicada - comando básicos
 
Apresentação Final
Apresentação FinalApresentação Final
Apresentação Final
 
ADRL00 - Inicio Administração de Redes Linux Server
ADRL00 - Inicio Administração de Redes Linux ServerADRL00 - Inicio Administração de Redes Linux Server
ADRL00 - Inicio Administração de Redes Linux Server
 
Linux e Jogos (in 2011)
Linux e Jogos  (in 2011)Linux e Jogos  (in 2011)
Linux e Jogos (in 2011)
 
Mandriva - Sistema Operacional
Mandriva - Sistema OperacionalMandriva - Sistema Operacional
Mandriva - Sistema Operacional
 

Mehr von Carlos Melo

Gestão de projetos introduçao
Gestão de projetos introduçaoGestão de projetos introduçao
Gestão de projetos introduçaoCarlos Melo
 
Roteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeRoteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeCarlos Melo
 
5a.aulacapacitor
5a.aulacapacitor5a.aulacapacitor
5a.aulacapacitorCarlos Melo
 
Atividade final acionamentos
Atividade final   acionamentosAtividade final   acionamentos
Atividade final acionamentosCarlos Melo
 
Questões clp-automação
Questões clp-automaçãoQuestões clp-automação
Questões clp-automaçãoCarlos Melo
 
Apresentação12
Apresentação12Apresentação12
Apresentação12Carlos Melo
 
Gestão da manutenção os 2
Gestão da manutenção os 2Gestão da manutenção os 2
Gestão da manutenção os 2Carlos Melo
 
Gestão da manutenção os 1
Gestão da manutenção os 1Gestão da manutenção os 1
Gestão da manutenção os 1Carlos Melo
 
Desenho técnico cap1
Desenho técnico   cap1Desenho técnico   cap1
Desenho técnico cap1Carlos Melo
 
Eletrônica básica
Eletrônica básicaEletrônica básica
Eletrônica básicaCarlos Melo
 
Analise de circuito indutores
Analise de circuito   indutoresAnalise de circuito   indutores
Analise de circuito indutoresCarlos Melo
 
Notas ete jags - destec
Notas ete   jags - destecNotas ete   jags - destec
Notas ete jags - destecCarlos Melo
 
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Carlos Melo
 
Recuperação descrição
Recuperação   descriçãoRecuperação   descrição
Recuperação descriçãoCarlos Melo
 
Ete projetos elétricos 2
Ete projetos elétricos 2Ete projetos elétricos 2
Ete projetos elétricos 2Carlos Melo
 

Mehr von Carlos Melo (20)

Treinamento 1
Treinamento 1Treinamento 1
Treinamento 1
 
Zener
ZenerZener
Zener
 
Gestão de projetos introduçao
Gestão de projetos introduçaoGestão de projetos introduçao
Gestão de projetos introduçao
 
Capacitancia
CapacitanciaCapacitancia
Capacitancia
 
Roteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tardeRoteiro da aula prática de sexta à tarde
Roteiro da aula prática de sexta à tarde
 
5a.aulacapacitor
5a.aulacapacitor5a.aulacapacitor
5a.aulacapacitor
 
Atividade final acionamentos
Atividade final   acionamentosAtividade final   acionamentos
Atividade final acionamentos
 
Questões clp-automação
Questões clp-automaçãoQuestões clp-automação
Questões clp-automação
 
Apresentação12
Apresentação12Apresentação12
Apresentação12
 
Pneumática
PneumáticaPneumática
Pneumática
 
Gestão da manutenção os 2
Gestão da manutenção os 2Gestão da manutenção os 2
Gestão da manutenção os 2
 
Gestão da manutenção os 1
Gestão da manutenção os 1Gestão da manutenção os 1
Gestão da manutenção os 1
 
Desenho técnico cap1
Desenho técnico   cap1Desenho técnico   cap1
Desenho técnico cap1
 
Eletrônica básica
Eletrônica básicaEletrônica básica
Eletrônica básica
 
Analise de circuito indutores
Analise de circuito   indutoresAnalise de circuito   indutores
Analise de circuito indutores
 
Notas ete jags - destec
Notas ete   jags - destecNotas ete   jags - destec
Notas ete jags - destec
 
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
Ucr3 fundamentos mecanica_sa1_suporte dosador_1_22_mai12
 
Recuperação descrição
Recuperação   descriçãoRecuperação   descrição
Recuperação descrição
 
Recuperação 1
Recuperação 1Recuperação 1
Recuperação 1
 
Ete projetos elétricos 2
Ete projetos elétricos 2Ete projetos elétricos 2
Ete projetos elétricos 2
 

Kürzlich hochgeladen

11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 

Kürzlich hochgeladen (20)

11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 

apostila linux

  • 1. Debian para servidores 1 Carlos Melo 1. O Linux O Linux é um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlândia. É um sistema Operacional de código aberto distribuído gratuitamente pela Internet. Seu código fonte é liberado como Free Software (software livre), sob licença GPL, o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele não pode fechar o sistema para que seja usado apenas comercialmente. Isto quer dizer que você não precisa pagar nada para usar o Linux, e não é crime fazer cópias para instalar em outros computadores, nós inclusive incentivamos você a fazer isto. Ser um sistema de código aberto pode explicar a performance, estabilidade e velocidade em que novos recursos são adicionados ao sistema. Para rodar o Linux você precisa, no mínimo, de um computador 386 SX com 2 MB de memória (para um kernel até a série 2.2.x) ou 4MB (para kernels 2.4 e 2.6) e 100MB disponíveis em seu disco rígido para uma instalação básica e funcional. O sistema segue o padrão POSIX que é o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o Linux você não encontrará muita dificuldade em operar um sistema do tipo UNIX, FreeBSD, HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados em cada sistema. O código fonte aberto permite que qualquer pessoa veja como o sistema funciona (útil para aprendizado), corrija alguma problema ou faça alguma sugestão sobre sua melhoria, esse é um dos motivos de seu rápido crescimento, do aumento da compatibilidade de periféricos (como novas placas sendo suportadas logo após seu lançamento) e de sua estabilidade. Outro ponto em que ele se destaca é o suporte que oferece a placas, CD-Roms e outros tipos de dispositivos de última geração e mais antigos (a maioria deles já ultrapassados e sendo completamente suportados pelo sistema operacional). Este é um ponto forte para empresas que desejam manter seus micros em funcionamento e pretendem investir em avanços tecnológicos com as máquinas que possui. Hoje o Linux é desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo sua contribuição ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha em seu desenvolvimento e na coordenação dos grupos de trabalho do kernel. O suporte ao sistema também se destaca como sendo o mais eficiente e rápido do que qualquer programa comercial disponível no mercado. Existem centenas de consultores especializados espalhados ao redor do mundo. Você pode se inscrever em uma lista de discussão e relatar sua dúvida ou alguma falha, e sua mensagem será vista por centenas de usuários na Internet e algum irá te ajudar ou avisará as pessoas responsáveis sobre a falha encontrada para devida correção. Algumas Características do Linux • É livre e desenvolvido voluntariamente por programadores experientes, hackers, e contribuidores espalhados ao redor do mundo que tem como objetivo a contribuição para a melhoria e crescimento deste sistema operacional. Muitos deles estavam cansados do excesso de propaganda (Marketing) e baixa qualidade de sistemas comerciais existentes • Também recebe apoio de grandes empresas como IBM, Sun, HP, etc. para seu desenvolvimento
  • 2. Debian para servidores 2 Carlos Melo • Convivem sem nenhum tipo de conflito com outros sistemas operacionais (com o DOS, Windows, OS/2) no mesmo computador. • Multitarefa real • Multiusuário • Suporte a nomes extensos de arquivos e diretórios (255 caracteres) • Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows, DOS, etc. • Utiliza permissões de acesso a arquivos, diretórios e programas em execução na memória RAM. • Proteção entre processos executados na memória RAM • Suporte a mais de 63 terminais virtuais (consoles) • Modularização - O Linux somente carrega para a memória o que é usado durante o processamento, liberando totalmente a memória assim que o programa/dispositivo é finalizado • Devido a modularização, os drivers dos periféricos e recursos do sistema podem ser carregados e removidos completamente da memória RAM a qualquer momento. Os drivers (módulos) ocupam pouco espaço quando carregados na memória RAM (cerca de 6Kb para a Placa de rede NE 2000, por exemplo) • Não há a necessidade de se reiniciar o sistema após a modificar a configuração de qualquer periférico ou parâmetros de rede. Somente é necessário reiniciar o sistema no caso de uma instalação interna de um novo periférico, falha em algum hardware (queima do processador, placa mãe, etc.). • Não precisa de um processador potente para funcionar. O sistema roda bem em computadores 386Sx 25 com 4MB de memória RAM (sem rodar o sistema gráfico X, que é recomendado 32MB de RAM). Já pensou no seu desempenho em um Pentium, Xeon, ou Athlon? ;-) • Suporte nativo a múltiplas CPUs, assim processadores como Dual Core Athlon Duo, Quad Core tem seu poder de processamento integralmente aproveitado. • Suporte nativo a dispositivos SATA, PATA, Fiber Channel • Suporte nativo a virtualização, onde o Linux se destaca como plataforma preferida para execução de outros sistemas operacionais. • O crescimento e novas versões do sistema não provocam lentidão, pelo contrário, a cada nova versão os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos úteis e melhor desempenho do sistema (como o que aconteceu na passagem do kernel 2.0.x para 2.2.x, da 2.2.x para a 2.4.x). • Não é requerido pagamento de licença para usa-lo. O GNU/Linux é licenciado de acordo com os termos da GPL. • Acessa corretamente discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SunOS, Amiga, Atari, Mac, etc. • O LINUX NÃO É VULNERÁVEL A VÍRUS! Devido a separação de privilégios entre processos e respeitadas as recomendações padrão de política de segurança e uso de contas privilegiadas (como a de root, como veremos adiante), programas como vírus tornam-se inúteis pois tem sua ação limitada pelas restrições de acesso do sistema de arquivos e execução. Qualquer programa (nocivo ou não) poderá alterar partes do sistema que possui permissões (será abordado como alterar permissões e tornar seu sistema mais restrito no decorrer do guia). Frequentemente são criados exploits que tentam se aproveitar de falhas existentes em sistemas desatualizados e usa-las para danificar o sistema. Erroneamente este tipo de ataque é classificado como vírus por pessoas mal informadas e são resolvidas com sistemas bem mantidos. Em geral, usando uma boa distribuição que tenha um bom sistema de atualização, 99.9% dos problemas com exploits são resolvidos.
  • 3. Debian para servidores 3 Carlos Melo • Rede TCP/IP mais rápida que no Windows e tem sua pilha constantemente melhorada. O GNU/Linux tem suporte nativo a redes TCP/IP e não depende de uma camada intermediária como o WinSock. Em acessos via modem a Internet, a velocidade de transmissão é 10% maior. Jogadores do Quake ou qualquer outro tipo de jogo via Internet preferem o GNU/Linux por causa da maior velocidade do Jogo em rede. É fácil rodar um servidor Quake em seu computador e assim jogar contra vários adversários via Internet. • Roda aplicações DOS através do DOSEMU, QEMU, BOCHS. Para se ter uma idéia, é possível dar o boot em um sistema DOS qualquer dentro dele e ao mesmo tempo usar a multitarefa deste sistema. • Roda aplicações Windows através do WINE. • Suporte a dispositivos infravermelho. • Suporte a rede via rádio amador. • Suporte a dispositivos Plug-and-Play. • Suporte a dispositivos USB. • Suporte nativo a cartões de memória • Suporte nativo a dispositivos I2C • Integração com gerenciamento de energia ACPI e APM • Suporte a Fireware. • Dispositivos Wireless. • Vários tipos de firewalls de alta qualidade e com grande poder de segurança de graça. • Roteamento estático e dinâmico de pacotes. • Ponte entre Redes, proxy arp • Proxy Tradicional e Transparente. • Possui recursos para atender a mais de um endereço IP na mesma placa de rede, sendo muito útil para situações de manutenção em servidores de redes ou para a emulação de "mais computadores" virtualmente. O servidor WEB e FTP podem estar localizados no mesmo computador, mas o usuário que se conecta tem a impressão que a rede possui servidores diferentes. • Os sistemas de arquivos usados pelo GNU/Linux (Ext3, Ext3, reiserfs, xfs, jfs) organiza os arquivos de forma inteligente evitando a fragmentação e fazendo-o um poderoso sistema para aplicações multi- usuárias exigentes e gravações intensivas. • Permite a montagem de um servidor de publicação Web, E-mail, News, etc. com um baixo custo e alta performance. O melhor servidor Web do mercado, o Apache, é distribuído gratuitamente junto com a maioria das distribuições Linux. O mesmo acontece com o Sendmail. • Por ser um sistema operacional de código aberto, você pode ver o que o código fonte (instruções digitadadas pelo programador) faz e adapta-lo as suas necessidades ou de sua empresa. Esta característica é uma segurança a mais para empresas sérias e outros que não querem ter seus dados roubados (você não sabe o que um sistema sem código fonte faz na realidade enquanto esta processando o programa). • Suporte a diversos dispositivos e periféricos disponíveis no mercado, tanto os novos como obsoletos. • Pode ser executado em 16 arquiteturas diferentes (Intel, Macintosh, Alpha, Arm, etc.) e diversas outras sub-arquiteturas. • Empresas especializadas e consultores especializados no suporte ao sistema espalhados por todo o mundo. • Entre muitas outras características que você descobrirá durante o uso do sistema. TODOS OS ÍTENS DESCRITOS ACIMA SÃO VERDADEIROS E TESTADOS PARA QUE TIVESSE PLENA CERTEZA DE SEU FUNCIONAMENTO.
  • 4. Debian para servidores 4 Carlos Melo 2. Arquivos É onde gravamos nossos dados. Um arquivo pode conter um texto feito por nós, uma música, programa, planilha, etc. Cada arquivo deve ser identificado por um nome, assim ele pode ser encontrado facilmente quando desejar usa-lo. Se estiver fazendo um trabalho de história, nada melhor que salva-lo com o nome historia. Um arquivo pode ser binário ou texto (para detalhes veja Arquivo texto e binário, Seção 2.2.3). O GNU/Linux é Case Sensitive ou seja, ele diferencia letras maiúsculas e minúsculas nos arquivos. O arquivo historia é completamente diferente de Historia. Esta regra também é válido para os comandos e diretórios. Prefira, sempre que possível, usar letras minúsculas para identificar seus arquivos, pois quase todos os comandos do sistema estão em minúsculas. Um arquivo oculto no GNU/Linux é identificado por um "." no inicio do nome (por exemplo, .bashrc). Arquivos ocultos não aparecem em listagens normais de diretórios, deve ser usado o comando ls -a para também listar arquivos ocultos. 2.1 Extensão de arquivos A extensão serve para identificar o tipo do arquivo. A extensão são as letras após um "." no nome de um arquivo, explicando melhor: • relatório.txt - O .txt indica que o conteúdo é um arquivo texto. • script.sh - Arquivo de Script (interpretado por /bin/sh). • system.log - Registro de algum programa no sistema. • arquivo.gz - Arquivo compactado pelo utilitário gzip. • index.html - Página de Internet (formato Hypertexto). A extensão de um arquivo também ajuda a saber o que precisamos fazer para abri-lo. Por exemplo, o arquivo relatório.txt é um texto simples e podemos ver seu conteúdo através do comando cat, Seção 7.1, já o arquivo index.html contém uma página de Internet e precisaremos de um navegador para poder visualiza- lo (como o lynx, Firefox ou o Konqueror). A extensão (na maioria dos casos) não é requerida pelo sistema operacional GNU/Linux, mas é conveniente o seu uso para determinarmos facilmente o tipo de arquivo e que programa precisaremos usar para abri-lo. 2.2 Tamanho de arquivos A unidade de medida padrão nos computadores é o bit. A um conjunto de 8 bits nós chamamos de byte. Cada arquivo/diretório possui um tamanho, que indica o espaço que ele ocupa no disco e isto é medido em bytes. O byte representa uma letra. Assim, se você criar um arquivo vazio e escrever o nome Linux e salvar o arquivo, este terá o tamanho de 5 bytes. Espaços em branco e novas linhas também ocupam bytes. Além do byte existem as medidas Kbytes, Mbytes, Gbytes. Os prefixos K (quilo), M (mega), G (giga), T (tera) etc. vêem da matemática. O "K" significa multiplicar por 10^3, o "M" por 10^6, e assim por diante. Esta
  • 5. Debian para servidores 5 Carlos Melo letras servem para facilitar a leitura em arquivos de grande tamanho. Um arquivo de 1K é a mesma coisa de um arquivo de 1024 bytes. Uma forma que pode inicialmente lhe ajudar a lembrar: K vem de Kilo que é igual a 1000 - 1Kilo é igual a 1000 gramas certo?. Da mesma forma 1Mb (ou 1M) é igual a um arquivo de 1024K ou 1.048.576 bytes 1Gb (ou 1G) é igual a um arquivo de 1024Mb ou 1048576Kb ou 1.073.741.824 bytes (1 Gb é igual a 1.073.741.824 bytes, são muitos números!). Deu pra notar que é mais fácil escrever e entender como 1Gb do que 1.073.741.824 bytes :-) A lista completa em ordem progressiva das unidades de medida é a seguinte: Símbolo 10^ 2^ Nome K 3 10 Quilo M 6 20 Mega G 9 30 Giga T 12 40 Tera P 15 50 Peta E 18 60 Eta Z 21 70 Zetta Y 24 80 Yotta 2.3 Arquivo texto e binário Quanto ao tipo, um arquivo pode ser de texto ou binário: texto Seu conteúdo é compreendido pelas pessoas. Um arquivo texto pode ser uma carta, um script, um programa de computador escrito pelo programador, arquivo de configuração, etc. binário Seu conteúdo somente pode ser entendido por computadores. Contém caracteres incompreensíveis para pessoas normais. Um arquivo binário é gerado através de um arquivo de programa (formato texto) através de um processo chamado de compilação. Compilação é basicamente a conversão de um programa em linguagem humana para a linguagem de máquina. 3. Diretório Diretório é o local utilizado para armazenar conjuntos arquivos para melhor organização e localização. O diretório, como o arquivo, também é "Case Sensitive" (diretório /teste é completamente diferente do diretório /Teste). Não podem existir dois arquivos com o mesmo nome em um diretório, ou um sub-diretório com um mesmo nome de um arquivo em um mesmo diretório.
  • 6. Debian para servidores 6 Carlos Melo Um diretório nos sistemas Linux/UNIX são especificados por uma "/" e não uma "" como é feito no DOS. Para detalhes sobre como criar um diretório, veja o comando mkdir (mkdir, Seção 6.4). 3.1 Diretório Raiz Este é o diretório principal do sistema. Dentro dele estão todos os diretórios do sistema. O diretório Raíz é representado por uma "/", assim se você digitar o comando cd / você estará acessando este diretório. Nele estão localizados outros diretórios como o /bin, /sbin, /usr, /usr/local, /mnt, /tmp, /var, /home, etc. Estes são chamados de sub-diretórios pois estão dentro do diretório "/". A estrutura de diretórios e sub- diretórios pode ser identificada da seguinte maneira: • / • /bin • /sbin • /usr • /usr/local • /mnt • /tmp • /var • /home A estrutura de diretórios também é chamada de Árvore de Diretórios porque é parecida com uma árvore de cabeça para baixo. Cada diretório do sistema tem seus respectivos arquivos que são armazenados conforme regras definidas pela FHS (FileSystem Hierarchy Standard - Hierarquia Padrão do Sistema de Arquivos) versão 2.0, definindo que tipo de arquivo deve ser armazenado em cada diretório. 3.2 Diretório atual É o diretório em que nos encontramos no momento. Você pode digitar pwd (veja pwd, Seção 6.3) para verificar qual é seu diretório atual. O diretório atual também é identificado por um "." (ponto). O comando comando ls . pode ser usado para listar seus arquivos (é claro que isto é desnecessário porque se não digitar nenhum diretório, o comando ls listará o conteúdo do diretório atual). 3.3 Diretório home Também chamado de diretório de usuário. Em sistemas GNU/Linux cada usuário (inclusive o root) possui seu próprio diretório onde poderá armazenar seus programas e arquivos pessoais. Este diretório está localizado em /home/[login], neste caso se o seu login for "joao" o seu diretório home será /home/joao. O diretório home também é identificado por um ~(til), você pode digitar tanto o comando ls /home/joao como ls ~ para listar os arquivos de seu diretório home. O diretório home do usuário root (na maioria das distribuições GNU/Linux) está localizado em /root. Dependendo de sua configuração e do número de usuários em seu sistema, o diretório de usuário pode ter a seguinte forma: /home/[1letra_do_nome]/[login], neste caso se o seu login for "joao" o seu diretório home será /home/j/joao.
  • 7. Debian para servidores 7 Carlos Melo 3.4 Diretório Superior O diretório superior (Upper Directory) é identificado por .. (2 pontos). Caso estiver no diretório /usr/local e quiser listar os arquivos do diretório /usr você pode digitar, ls .. Este recurso também pode ser usado para copiar, mover arquivos/diretórios, etc. 3.5 Diretório Anterior O diretório anterior é identificado por "-". É útil para retornar ao último diretório usado. Se estive no diretório /usr/local e digitar cd /lib, você pode retornar facilmente para o diretório /usr/local usando cd -. 3.6 Caminho na estrutura de diretórios São os diretórios que teremos que percorrer até chegar no arquivo ou diretório que que procuramos. Se desejar ver o arquivo /usr/doc/copyright/GPL você tem duas opções: • Mudar o diretório padrão para /usr/doc/copyright com o comando cd /usr/doc/copyright e usar o comando cat GPL • Usar o comando "cat" especificando o caminho completo na estrutura de diretórios e o nome de arquivo: cat /usr/doc/copyright/GPL. As duas soluções acima permitem que você veja o arquivo GPL. A diferença entre as duas é a seguinte: • Na primeira, você muda o diretório padrão para /usr/doc/copyright (confira digitando pwd) e depois o comando cat GPL. Você pode ver os arquivos de /usr/doc/copyright com o comando "ls". /usr/doc/copyright é o caminho de diretório que devemos percorrer para chegar até o arquivo GPL. • Na segunda, é digitado o caminho completo para o "cat" localizar o arquivo GPL: cat /usr/doc/copyright/GPL. Neste caso, você continuará no diretório padrão (confira digitando pwd). Digitando ls, os arquivos do diretório atual serão listados. O caminho de diretórios é necessário para dizer ao sistema operacional onde encontrar um arquivo na "árvore" de diretórios. 3.7 Exemplo de diretório Um exemplo de diretório é o seu diretório de usuário, todos seus arquivos essenciais devem ser colocadas neste diretório. Um diretório pode conter outro diretório, isto é útil quando temos muitos arquivos e queremos melhorar sua organização. Abaixo um exemplo de uma empresa que precisa controlar os arquivos de Pedidos que emite para as fábricas: /pub/vendas - diretório principal de vendas /pub/vendas/mes01-99 - diretório contendo vendas do mês 01/1999 /pub/vendas/mes02-07 - diretório contendo vendas do mês 02/2007 /pub/vendas/mes01-08 - diretório contendo vendas do mês 03/2008
  • 8. Debian para servidores 8 Carlos Melo mes01-99, mes02-07, mes01-08 são diretórios usados para armazenar os arquivos de pedidos do mês e ano correspondente. Isto é essencial para organização, pois se todos os pedidos fossem colocados diretamente no diretório vendas, seria muito difícil encontrar o arquivo do cliente "João" do mês 01/2007. Você deve ter reparado que usei a palavra sub-diretório para mes01-99, mes02-07 e mes03-08, porque que eles estão dentro do diretório vendas. Da mesma forma, vendas é um sub-diretório de pub. 3.8 Estrutura básica de diretórios do Sistema Linux O sistema GNU/Linux possui a seguinte estrutura básica de diretórios organizados segundo o FHS (Filesystem Hierarchy Standard): /bin Contém arquivos programas do sistema que são usados com freqüência pelos usuários. /boot Contém arquivos necessários para a inicialização do sistema. /cdrom Ponto de montagem da unidade de CD-ROM. /media Ponto de montagem de dispositivos diversos do sistema (rede, pen-drives, CD-ROM em distribuições mais novas). /dev Contém arquivos usados para acessar dispositivos (periféricos) existentes no computador. /etc Arquivos de configuração de seu computador local. /floppy Ponto de montagem de unidade de disquetes /home Diretórios contendo os arquivos dos usuários. /lib Bibliotecas compartilhadas pelos programas do sistema e módulos do kernel. /lost+found
  • 9. Debian para servidores 9 Carlos Melo Local para a gravação de arquivos/diretórios recuperados pelo utilitário fsck.ext2. Cada partição possui seu próprio diretório lost+found. /mnt Ponto de montagem temporário. /proc Sistema de arquivos do kernel. Este diretório não existe em seu disco rígido, ele é colocado lá pelo kernel e usado por diversos programas que fazem sua leitura, verificam configurações do sistema ou modificar o funcionamento de dispositivos do sistema através da alteração em seus arquivos. /root Diretório do usuário root. /sbin Diretório de programas usados pelo superusuário (root) para administração e controle do funcionamento do sistema. /tmp Diretório para armazenamento de arquivos temporários criados por programas. /usr Contém maior parte de seus programas. Normalmente acessível somente como leitura. /var Contém maior parte dos arquivos que são gravados com freqüência pelos programas do sistema, e- mails, spool de impressora, cache, etc. 4. Nomeando Arquivos e Diretórios No GNU/Linux, os arquivos e diretórios pode ter o tamanho de até 255 letras. Você pode identifica-lo com uma extensão (um conjunto de letras separadas do nome do arquivo por um "."). Os programas executáveis do GNU/Linux, ao contrário dos programas de DOS e Windows, não são executados a partir de extensões .exe, .com ou .bat. O GNU/Linux (como todos os sistemas POSIX) usa a permissão de execução de arquivo para identificar se um arquivo pode ou não ser executado. No exemplo anterior, nosso trabalho de história pode ser identificado mais facilmente caso fosse gravado com o nome trabalho.text ou trabalho.txt. Também é permitido gravar o arquivo com o nome Trabalho de Historia.txt mas não é recomendado gravar nomes de arquivos e diretórios com espaços. Porque será necessário colocar o nome do arquivo entre "aspas" para acessá-lo (por exemplo, cat "Trabalho de Historia.txt"). Ao invés de usar espaços, prefira capitalizar o arquivo (usar letras maiúsculas e minúsculas para identificá-lo): TrabalhodeHistoria.txt.
  • 10. Debian para servidores 10 Carlos Melo 5. Comandos Vamos abordar agora comandos básicos uitlizados nos sistemas Unix e Linux, apesar de existirem diversos aplicativos gráficos e interfaces para a configuração das tarefas administrativas disponíveis será importante um forte conhecimento dos comandos Shell do Linux, nosso curso terá todo foco em cima de administração sistemas por linha de comando. No Linux utilizamos normalmente o BASH (ou Bourne Again Shell), derivado do CSH, e possui várias características interessantes. É comum que o prompt de comandos padrão bash venha no formato: u@h:W $ , onde: • u representa o nome do usuário. • h representa o nome do sistema. • W o diretório corrente. Onde podemos ter como exemplo: carlos@casa:home$, veja a imagem abaixo: Para executar um comando, ele precisa ser válido e estar listado nos diretórios da variável PATH ou explicitando a sua localização. O comando pode requerer opções, geralmente precedidos pelo símbolo “-“ ou “—“ e por argumentos. O importante é que cada comando tem a sua sintaxe única e pode haver variações dependendo da distribuição. Vamos tomar como exemplo o comando ls: $ ls Este comnado lista o conteúdo do diretório atual. Ele não requer nenhuma opção ou argumento para ser executado. O argumento –l pode ser acrescentado para gerar uma lista de arquivos detalhada.
  • 11. Debian para servidores 11 Carlos Melo $ ls -l Podemos ainda colocar mais opções para o comando ls: $ ls –l –a –t ou $ ls –lta Neste caso, do comando ls, as opções podem ser repassadas separadamente ou podem ser combinadas. –a mostra todos os arquivos, até os ocultos, -t mostra os arquivos ordenados pela ultima data de modificação. 6. Comandos de edição de texto O Linux tem diversas ferramentas para trabalhar e transformar arquivos textos puros, sem formatação especial. Estas ferramentas são úteis quando estamos trabalhando com scripts no Shell, verificando arquivos de log, e etc. 6.1 Cat Uso: cat [opções] arquivo O comando cat concatena arquivos, imprime seu conteúdo na tela e ainda pode receber texto digitado pelo teclado para um arquivo. Para criar um arquivo com apenas algumas linhas de texto: $ cat > teste.txt Agora você pode digitar qualquer texto. Quando terminar, pressione Crtl + d em uma linha vazia para finalizar a entrada de dados e salvar o arquivo teste.txt. Para ver o conteúdo: $ cat teste.txt. 6.2 Head Uso Head [opções] arquivos O comando head mostra as primeiras 10 linhas do início do texto. A opção frequentemente utilizada é: -n número configura o numero de linhas que vai mostrar. Exemplo: $ head –n 50 leiame.txt 7. Configuração das interfaces de rede. 7.1 Básico de rede IP Um sistema Debian pode ter várias interfaces, cada uma com um endereço de Protocolo de Internet (IP) diferente. As interfaces podem ser de diferentes tipos, incluindo: • Loopback: lo • Ethernet: eth0, eth1, ... • Wi-Fi: wlan0, wlan1, ... • Token Ring: tr0, tr1, ... • PPP: ppp0, ppp1, ...
  • 12. Debian para servidores 12 Carlos Melo Há uma grande faixa de outros dispositivos de rede disponíveis, incluindo SLIP, PLIP (IP em linha serial e paralela), dispositivos "shaper" para controlar o tráfego em certas interfaces, frame relay, AX.25, X.25, ARCnet, e LocalTalk. Toda interface de rede conectada diretamente à Internet (ou a qualquer rede baseada em IP) é identificada por um endereço IP de 32 bit’s único. O endereço IP pode ser dividido na parte que endereça a rede e na parte que endereça o sistema (host). Se você tiver um endereço IP, defina para 1 os bits que são parte do endereço de rede e defina para 0 os bits que são parte do endereço do sistema e então você obtém a máscara da rede. Tradicionalmente, redes IP foram agrupadas em classes cujas partes do endereço de rede foram de comprimento 8, 16 ou 24 bits. endereços IP máscara rede comprimento Classe A 1.0.0.0 - 126.255.255.255 255.0.0.0 = /8 Classe B 128.0.0.0 -191.255.255.255 255.255.0.0 = /16 Classe C 192.0.0.0-223.255.255.255 255.255.255.0 = /24 Endereços IP fora dessas faixas são usados para propósitos especiais. Há faixas de endereços em cada classe reservados para uso em redes locais (LANs). Esses endereços têm a garantia de não conflitar com nenhum endereço no domínio da Internet. (Pelo mesmo motivo, se um desses endereços é designado para um sistema então esse sistema não pode acessar a Internet diretamente, precisa acessá-la através de um gateway que atua como um proxy para serviços individuais ou que faça Translação de Endereço de Rede (Network Address Translation).) Essas faixas de endereços são dadas na tabela a seguir junto com o número de faixas em cada classe. endereços de rede compr. quantidade Classe A 10.x.x.x /8 1 Classe B 172.16.x.x - 172.31.x.x /16 16 Classe C 192.168.0.x - 192.168.255.x /24 256 O primeiro endereço em uma rede IP é o endereço da própria rede. O último endereço é o endereço de broadcast da rede. Todos os outros endereços podem ser alocados a sistemas na rede. Desses, o primeiro ou o último endereço normalmente é alocado para o gateway de Internet para a rede. A tabela de roteamento contém a informação do kernel sobre como enviar pacotes IP aos seus destinos. Aqui está uma amostra de tabela de roteamento para um sistema Debian em uma rede local (LAN) com endereço IP 192.168.50.x/24. O sistema 192.168.50.1 (também na LAN) é um roteador para a rede corporativa 172.20.x.x/16 e o sistema 192.168.50.254 (também na LAN) é um roteador para a Internet para todos. # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 127.0.0.0 * 255.0.0.0 U 0 0 2 lo 192.168.50.0 * 255.255.255.0 U 0 0 137 eth0 172.20.0.0 192.168.50.1 255.255.0.0 UG 1 0 7 eth0 default 192.168.50.254 0.0.0.0 UG 1 0 36 eth0
  • 13. Debian para servidores 13 Carlos Melo • A primeira linha depois do cabeçalho diz que o tráfego destinado à rede 127.x.x.x será roteado para lo a interface de loopback. • A segunda linha diz que o tráfego destinado aos sistemas na LAN serão roteados através de eth0. • A terceira linha diz que o tráfego destinado à rede corporativa será roteado para o gateway 192.168.50.1 e também através de eth0. • A quarta linha diz que o tráfego destinado à Internet será roteado para o gateway 192.168.50.254 e também através de eth0. Os endereços IP na tabela também podem aparecer como nomes que são obtidos procurando endereços em /etc/networks ou usando o resolvedor da Biblioteca C. Além de rotear, o kernel pode fazer tradução de endereço de rede, shaping, e filtro. 7.2 Configuração de rede de baixo nível As ferramentas de configuração de rede de baixo nível tradicionais nos sistemas GNU/Linux são os programas ifconfig e route que vêm no pacote net-tools. Essas ferramentas oficialmente foram superadas pelo ip que vem no pacote iproute. O programa ip funciona no Linux 2.2 e superiores e é mais capaz que as ferramentas antigas. Entretanto, as ferramentas antigas ainda funcionam e são mais familiares a muitos usuários. 7.3 Configuração de rede de baixo nível – ifconfig e route Aqui está uma ilustração de como mudar o endereço IP da interface eth0 de 192.168.0.3 para 192.168.0.111 e tornar a eth0 como rota para a rede 10.0.0.0 via 192.168.0.1. Nós começamos executando ifconfig e route sem argumentos de interface para exibir o estado atual de todas as interfaces de rede e roteamento. # ifconfig eth0 Link encap:Ethernet HWaddr 08:00:46:7A:02:B0 inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:23363 errors:0 dropped:0 overruns:0 frame:0 TX packets:21798 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:13479541 (12.8 MiB) TX bytes:20262643 (19.3 MiB) Interrupt:9 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:230172 errors:0 dropped:0 overruns:0 frame:0 TX packets:230172 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:22685256 (21.6 MiB) TX bytes:22685256 (21.6 MiB) # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.0.0 U 0 0 0 eth0 default 192.168.0.1 255.255.255.255 UG 0 0 0 eth0
  • 14. Debian para servidores 14 Carlos Melo Primeiro nós desativamos a interface. # ifconfig eth0 inet down # ifconfig lo Link encap:Local Loopback ... (agora sem a entrada eth0) # route ... (agora sem entradas de roteamento na tabela) Então nós a ativamos com o novo endereço IP e novo roteamento. # ifconfig eth0 inet up 192.168.0.111 netmask 255.255.0.0 broadcast 192.168.255.255 # route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.1 dev eth0 O resultado: # ifconfig eth0 Link encap:Ethernet HWaddr 08:00:46:7A:02:B0 inet addr:192.168.0.111 Bcast:192.168.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 ... lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 ... # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.0.0 U 0 0 0 eth0 10.0.0.0 192.168.0.1 255.0.0.0 UG 0 0 0 eth0 Para adicionar uma rota padrão para a saída dos pacotes, em outras palavras adicionando o caminho para internet: #route add default gw IP_servidor_de_compartilhamento Para adicionar o servidor de DNS deve-se adicionar no arquivo /etc/resolv.conf a adicionar uma linha com o servidor de DNS. #vi /etc/resolv.conf nameserver IP_do_servidor_DNS
  • 15. Debian para servidores 15 Carlos Melo 7.4 Configurando o apt-get. O apt-get é uma ferramenta extremamente poderosa e prática depois que você aprende os conceitos básicos. Ele pode ser encontrado não apenas no Debian, Ubuntu e no Carlos, mas em outras distribuições baseadas no Debian, como o Xandros, Memphis e até mesmo no Linspire. Ferramentas como o urpmi, do Mandrake, o synaptic, do Conectiva e o yum, do Fedora também são baseados nele. Em primeiro lugar, o apt-get utiliza um conceito de fontes de atualização. Ele pode obter pacotes de praticamente qualquer lugar, incluindo CD-ROMs do Debian, unidades de rede, etc. Mas o meio mais usado é justamente baixar os pacotes via internet, o que permite obter sempre as versões mais recentes dos programas. Para usar o apt-get, o primeiro passo é rodar o comando "apt-get update", que faz com que o apt-get verifique todos os repositórios disponíveis e baixe a lista com os pacotes disponíveis em cada um. Isso permite que ele crie uma espécie de banco de dados, com os pacotes disponíveis, onde cada um pode ser encontrado e qual endereço contém a versão mais recente. Este comando deve ser executado periodicamente. O ideal é que você o use uma vez por semana, ou sempre que for fazer alguma instalação importante: # apt-get update Lembre-se de que para virar root, basta digitar "su" no terminal e fornecer a senha configurada durante a instalação. Ao rodar o Carlos a partir do CD, use o comando "sudo su" para definir a senha. Terminado, você pode começar a instalar os programas, usando o comando "apt-get install", seguido do pacote desejado. Para instalar o Proftpd, por exemplo, use o comando: # apt-get install proftpd Veja que o apt-get cuida de toda a parte trabalhosa. O apt-get instala automaticamente junto com o pacote principal todos os pacotes necessários sem deixar dependências, depois de te pedir uma confirmação. Terminada a instalação, o proftpd já está pronto para usar. Isto se repete para qualquer um dos mais de 20.000 pacotes atualmente disponíveis nos repositórios que vêm ativados por padrão no Debian. Basta saber o nome do programa e você pode instalá-lo rapidamente a qualquer momento. Você pode ver uma lista dos pacotes disponíveis nos FTPs oficiais do Debian no: http://www.debian.org/distrib/packages. Além de instalar, é possível usar o apt-get para atualizar qualquer pacote do sistema. Para isso, repita o comando de instalação, como em: # apt-get install proftpd # apt-get install k3b # apt-get install mplayer ... e assim por diante. Quando o programa solicitado já está instalado, o apt-get verifica se existe uma versão atualizada e, em caso afirmativo, já a baixa e instalada automaticamente. Caso contrário, ele simplesmente avisa que a versão mais recente já está instalada e não faz nada. Quando você não se lembrar do nome completo do programa, digite apenas as primeiras letras e pressione a tecla TAB duas vezes, assim você verá uma lista com as alternativas possíveis.
  • 16. Debian para servidores 16 Carlos Melo Uma vez instalado o programa, o comando para chamá-lo pelo terminal (em 99% dos casos) é o próprio nome do pacote. Em casos onde o programa realmente "desapareça" depois de instalado, sem rastros aparentes, você pode procurá-lo usando o comando "whereis" (onde está), como em: $ sudo updatedb $ whereis realplay realplayer: /usr/bin/realplay Em muitos casos, o programa pode ser instalado em uma pasta fora do PATH (as pastas /bin, /usr/bin, /usr/local/bin, etc.), fazendo com que o sistema não encontre o comando. Nestes casos, chame-o indicando o caminho completo ou crie um link para ele (usando o comando "ln -s") dentro da pasta "/usr/bin", ou "/usr/local/bin", onde o sistema consiga localizá-lo diretamente, como em: # ln -s /usr/lib/realplayer10/realplay /usr/bin/realplay Lembre-se de que em muitos casos o nome do executável do programa pode ser diferente do nome do programa. Por exemplo, o executável do Realplayer é "realplay" e o do VMware Player é "vmplayer". Um detalhe interessante é que, mesmo ao atualizar um programa, as suas configurações são mantidas. Ao atualizar o Firefox ou o Konqueror, por exemplo, você não perde seus bookmarks. Isso acontece porque as configurações e arquivos referentes aos programas são armazenados em pastas ocultas dentro do seu diretório de usuário. “Os bookmarks, cache, cookies e outros arquivos do Firefox, por exemplo, vão para a pasta “mozilla/firefox", dentro do seu home. O apt-get nunca altera estes arquivos, de forma que suas preferências sempre são preservadas durante os upgrades. Um segundo tipo são os arquivos de configuração do sistema, que também fazem parte dos pacotes. Quando um pacote traz uma nova versão de um determinado arquivo de configuração, mas o apt-get percebe que o arquivo anterior foi alterado por você, ele pergunta se você quer manter o arquivo atual ou se você quer substituí-lo pela nova versão. O conselho geral nestes casos é responder não à substituição (que é o default). Isso mantém o arquivo atual, que, afinal, está funcionando. Autorize a substituição apenas quando você souber do que se trata. Lembre-se de rodar o "apt-get update" periodicamente, de preferência uma vez por semana ou antes de instalar qualquer programa ou atualização importante. Assim você terá certeza de que o apt instalará sempre as versões mais recentes dos programas. O apt não apenas torna a instalação de novos programas bem mais simples, mas diminui também a necessidade de estar sempre instalando versões mais recentes da distribuição, já que você pode ir atualizando os programas mais usados sempre que souber de uma versão mais nova. É possível também remover pacotes instalados, neste caso usando o parâmetro "remove", como em: # apt-get remove proftpd Caso os arquivos referentes ao programa tenham se corrompido de alguma maneira (desligamentos incorretos, problemas de BIOS, etc. ;), você pode forçar sua reinstalação, usando o parâmetro "-- reinstall". Normalmente o apt-get avisa que o programa já está em sua versão mais recente e não faz nada:
  • 17. Debian para servidores 17 Carlos Melo # apt-get install emac Lendo Lista de Pacotes... Pronto Construindo Árvore de Dependências... Pronto emac já é a versão mais nova. Adicionando o "--reinstall" ele prossegue com a instalação, mesmo que o pacote já seja a versão mais recente, substituindo todos os arquivos referentes a ele e resolvendo o problema. # apt-get install --reinstall emacs Finalmente, existe a opção de atualizar todo o sistema, o que é feito usando os comandos: # apt-get update # apt-get upgrade Configurando o apt-get numa rede com proxy transparente. # vi /etc/apt/apt.conf E adicione as seguintes linhas: Acquire{ HTTP::proxy "http://192.168.1.254:3128"; FTP::proxy "http://192.168.1.254:3128"; } Obs.: Novamente altere as informações de IP e Porta para do seu servidor de proxy e salve o arquivo. Agora vamos alterar o arquivo: /etc/profile # echo "export http_proxy ftp_proxy" >> /etc/profile Pronto ! OBS: Você também deve informar o endereço e a porta do seu Servidor Proxy (SQUID), no exemplo foi utilizado o IP: 192.168.1.254 e a Porta: 3128, altere para o IP e Porta do seu servidor de proxy e salve o arquivo. 8. Configurando o compartilhamento de rede - iptables. Muitas vezes temos em casa mais de um computador e nossa conexão nao permite o compartilhamento ou até você tem uma conexão de Dial-up em um servidor e gostaria de dividir ela com a rede corporativa. Os passos abaixo vão ajudá-los. Requerimentos Se você vai compartilhar a adsl/3g com outro micro, você irá precisar de: • Uma Placa de rede 10/100 • Um Hub/Swithc ou Cabo crossover ( no caso do cabo crossover(cruzado), só pode usar com mais uma máquina) uma conexão com a internet. 8.1 Criando uma rede Bom, para compartilhar a internet, iremos precisar inicialmente de criar uma rede, se for compartilhar a internet, e sua conexão for ADSL/3G, então mantenha a seguinte estrutura
  • 18. Debian para servidores 18 Carlos Melo Placa de rede 1 ( eth0 ) - conexão com a internet Placa de rede 2 ( eth1 ) conexao de Rede Local através de Hub/Switch ou cabo crossover. Caso seja preciso compartilhar uma conexão dial-up então sua placa de rede será quem fará a conexão da rede local; Inicialmente você já deve ter um IP configurado para comunicação com o seu modem, para verificar qual é o seu IP, abra um terminal (xterm, konsole, gnome-terminal... ) e digite o seguinte comando /sbin/ifconfig a saída do comando será algo semelhante ao seguinte: eth0 Encapsulamento do Link: Ethernet Endereço de HW 00:E0:7D:A2:EF:3A inet end.: 200.250.241.209 Bcast:255.255.255.255 Masc:255.255.255.0 endereço inet6: fe80::2e0:7dff:fea2:ef3a/64 Escopo:Link UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1 RX packets:5304553 errors:1 dropped:0 overruns:0 frame:0 TX packets:3404353 errors:0 dropped:0 overruns:16 carrier:0 colisões:0 txqueuelen:1000 RX bytes:1683936055 (1.5 GiB) TX bytes:3471646904 (3.2 GiB) IRQ:5 Endereço de E/S:0xc400 lo Encapsulamento do Link: Loopback Local inet end.: 127.0.0.1 Masc:255.0.0.0 endereço inet6: ::1/128 Escopo:Máquina UP LOOPBACKRUNNING MTU:16436 Métrica:1 RX packets:1245431 errors:0 dropped:0 overruns:0 frame:0 TX packets:1245431 errors:0 dropped:0 overruns:0 carrier:0 colisões:0 txqueuelen:0 RX bytes:297554646 (283.7 MiB) TX bytes:297554646 (283.7 MiB) Então neste caso podemos ver que o meu IP é o IP 200.250.241.209, no meu caso, eu tenho uma conexão da banda larga ( velox ), esse IP é pego automaticamente por um cliente DHCP no caso, este IP pode variar, pode ser uma rede exclusiva como 192.168.10 ou outra coisa qualquer. Bom, se a sua rede for 200.xxx.xxx.xxx você pode usar qualquer IP para sua rede interna; Mas se sua rede for 192.168.10.0
  • 19. Debian para servidores 19 Carlos Melo deveremos usar uma rede 192.168.1.0 para separar as duas. Então, inicialmente vamos configurar a rede, no Debian, abra o seguinte arquivo: /etc/network/interfaces Esse arquivo será semelhante ao seguinte, no caso de você pegar a conexão por DHCP. # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp Abra o arquivo como super usuário, agora com isso, voce pode abrir pelo terminal o seu editor de texto favorito, e mandar abrir o arquivo: /etc/network/interfaces ( Se vai usar uma placa de rede apenas, no caso de compartilhar Dial Up, troque o eth1 por eth0 na configuração abaixo ) e acrescente ao fim do arquivo as seguintes configurações. auto eth1 iface eth1 inet static address 192.168.20.1 netmask 255.255.255.0 broadcast 192.168.20.255 network 192.168.20.0 com isso, podemos salvar o arquivo e fechar o editor de texto para carregar essas configurações execute os seguintes comandos: /etc/init.d/networking stop /etc/init.d/networking start Configurando a segunda estação Bom, se sua segunda estação for debian, você pode usar o mesmo esquema pra configurar, caso seja outra distribuição, ou seja Windows,verifique onde ficam as configurações para sua versão, o importante é que a estação tenha os seguintes dados: ip: 192.168.20.2 mascara de rede: 255.255.255.0 dns: 192.168.20.1 gateway: 192.168.20.1 com isso configurado, tente dar o seguinte comando da estação que acabou de configurar:
  • 20. Debian para servidores 20 Carlos Melo ping 192.168.20.1 a saída do comando deverá ser algo semelhante ao abaixo PING 192.168.20.1 (192.168.20.1) 56(84) bytes of data. 64 bytes from 192.168.20.1: icmp_seq=1 ttl=128 time=2.70 ms se der algo como timeout, ou outro tipo de erro, então sua conexão não esta funcionando se a saída for a acima, então está tudo ok, e podemos passa para o próximo passo. 8.2 Criando um Script para compartilhamento de internet Agora, precisamos montar o script para compartilhar a internet, então abra um editor de texto qualquer, e acrescente os seguintes dados dentro: #!/bin/bash echo "1" > /proc/sys/net/ipv4/ip_forward # Limpando as tabelas iptables -F iptables -t nat -F iptables -t mangle -F # Mascarando conexões da rede # se sua conexão estiver na interface ppp0 basta trocar o eth0 por ppp0 # a interface ppp0 é usada também em dial-up, então, neste caso, troque o eth0 # por ppp0 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Ok, agora, pode salvar, e fechar o editor de texto 8.3 Colocando na inicialização da máquina Com o usuário root, você ira mover este arquivo, o script criado acima, para o diretorio /etc/init.d/ então supondo que você chamou o arquivo de “compartilhamento, você irá executar o seguinte comando mv compartilhamento /etc/init.d/ Feito isso, agora temos de dar permissão de execução ao arquivo, então use o comando abaixo: #chmod +x /etc/init.d/compartilhamento Agora execute o arquivo digitando: #/etc/init.d/compartilhamento Feito isso, agora temos que criar uma chamada para ele na inicialização, vá ate o diretório
  • 21. Debian para servidores 21 Carlos Melo /etc/rc2.d usando o seguinte comando #cd /etc/rc2.d e use o seguinte comando para criar a chamada #ln -s /etc/init.d/compartilhamento /etc/rc2.d/S99compartilhamento • Servidor de DHCP- instalando e configurando o DHCPD 9. Configuração de Rede Ao finalizar a instalação digite ifconfig -a. Deve-se obter um resultado similar a: eth0 Link encap:10Mbps Ethernet HWaddr 00:C0:4F:D3:C4:62 inet addr:183.217.19.43 Bcast:183.217.19.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2875542 errors:0 dropped:0 overruns:0 TX packets:218647 errors:0 dropped:0 overruns:0 Interrupt:11 Base address:0x210 Caso o parâmetro MULTICAST não esteja presente, deve-se reconfigurar o kernel para sua adição. Em muitos sistemas isso não será necessário. O próximo passo será adicionar a rota 255.255.255.255. Apresentamos um extrato retirado ao arquivo README do DHCPd: "Para que o dhcpd funcione perfeitamente, escolha alguns clientes DHCP (por exemplo Windows 9x), que sejam capazes de enviar pacotes com um endereço IP de destino 255.255.255.255. Infelizmente o Linux teima em mudar 255.255.255.255 no endereço de divulgação da subrede local (neste caso 192.5.5.223). Isso cria uma violação do protocolo DHCP e enquanto muitos clientes DHCP não avisam do problema, outros (como os clientes DHCP Microsoft) o fazem. Clientes com este tipo de problema não visualizam a mensagem DHCPOFFER enviada pelo servidor." Digite: #route add -host 255.255.255.255 dev eth0 caso se obtenha a mensagem #"255.255.255.255: máquina desconhecida" deve-se tentar adicionar a seguinte entrada ao arquivo /etc/hosts: #255.255.255.255 all-ones tente então:
  • 22. Debian para servidores 22 Carlos Melo #route add -host all-ones dev eth0 ou #route add -net 255.255.255.0 dev eth0 eth0 é obviamente o nome do dispositivo de rede que está sendo usado. Caso seja diferente, faça as devidas alterações. 9.1 Opções do DHCPd Agora é necessário configurar o DHCPd. Para se fazer isso deve-se criar ou editar o arquivo /etc/dhcpd.conf. Comumente se deseja definir endereços IP de forma aleatória. Isso pode ser feito da seguinte forma: default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; option domain-name "dominio.org.br"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; range 192.168.1.150 192.168.1.200; } Isso fará com que o servidor DHCP forneça ao cliente um endereço IP na faixa 192.168.1.10-192.168.1.100 ou 192.168.1.150-192.168.1.200. Ele liberará um endereço por 600 segundos caso o cliente não defina um tempo específico de utilização de endereço. De qualquer forma o tempo máximo permitido será de 7.2 segundos. O servidor irá "avisar" ao cliente que ele pode usar 255.255.255.0 como máscara de subrede, 192.168.1.255 como endereço de distribuição, 192.168.1.254 como roteador ou caminho padrão, 192.168.1.1 e 192.168.1.2 como servidores DNS. Pode-se ainda definir endereços IP específicos baseados nos endereços Ethernet dos clientes, como por exemplo: host conec { hardware ethernet 08:00:2b:4c:59:23; fixed-address 192.168.1.222; } Este procedimento irá definir o endereço 192.168.1.222 para o cliente com endereço Ethernet igual a 08:00:2b:4c:59:23. Podem-se misturar os procedimentos, definindo-se certos clientes com endereços IP estáticos (por exemplo, servidores) e outros com endereços dinâmicos (como por exemplo portáteis). Há diversas opções como:
  • 23. Debian para servidores 23 Carlos Melo endereços de servidores Windows, servidores de data e horário, etc... Caso se necessite alguma destas opções por favor verifique a página de manual on-line do dhcpd.conf. 9.3 Inicializando o Servidor Podemos agora acionar o servidor DHCP. Basta simplesmente digitar ou incluir nos programas de inicialização do sistema: /usr/sbin/dhcpd Caso se deseje verificar se tudo está funcionando perfeitamente, deve-se acionar inicialmente o modo de depuração e colocar o servidor em primeiro plano. Isso pode ser feito através do comando: /usr/sbin/dhcpd -d -f Inicialize algum dos clientes e verifique a console do servidor. Deverão ser apresentadas diversas mensagens de depuração. 10. Configurando o servidor de DNS 10.1 Instalando um Servidor DNS Bom, para que o nosso servidor de nomes ( DNS ) possa ser a nossa maquina, necessitamos instalar um servidor de DNS nela, nesse caso usaremos o bind9, instale usando o apt #apt-get install bind9 A configuração padrão da instalação, já o libera para resolver nomes, então com isso podemos mandar um ping da estação: #ping www.google.com.br A saída deverá ser semelhante a abaixo PING www.uol.com.br (200.221.2.45): 56 data bytes 64 bytes from 200.221.2.45: icmp_seq=0 ttl=55 time=10.4 ms Adaptação: Retirado de http://www.debianfordummies.org/wiki/index.php/Compartilhando_Internet_no_linux" 11. Definindo quais processos serão executados por cada runlevel O comando init pode alterar os processos em execução alterando os runlevels do sistema. Mas a definição de quais processos serão executados por cada nível de execução é feita pela hierarquia de diretórios /etc/rc.d e scripts de Shell. Quando o Linux inicia, uma série de scripts no diretório /etc/rc.d é executada para dar a carga no sistema. Vejamos estes arquivos e diretórios em detalhes: O arquivo rc.sysinit é executado pelo processo init durante a carga do sistema e habilita funções essenciais. Por exemplo, montar partições de disco.
  • 24. Debian para servidores 24 Carlos Melo O arquivo rc.local é executado pelo script rc.sysinit. ele é utilizado pelos administradores para modificarem os serviços na carga do sistema. Este arquivo tem preferência para esta tarefa, uma vez que não é alterado durante um processo de atualização (upgrade) do sistema. O arquivo rc é utilizado para transições entre os runlevels. O diretório /etc/rc.d/init.d contém os diversos scripts que fazem a carga de todos os serviços do sistema operacional. Por exemplo o Shell seguro SSH possui um script para a carga do serviço com o nome sshd (Secure Shell Daemon). Este e outros scripts podem aceitar como parâmetros comandos com start e stop. Outros serviços podem aceitar outros comandos como reload, restart, status, etc. Os níveis de serviço são definidos através dos diretórios /etc/rc<n>.d, onde <n> pode variar de 0 a 6, correspondendo aos runlevels . por exemplo /etc/rc0.d e /etc/rc1.d. Dentro de cada diretório de runlevel existem links simbólicos para os scripts dos serviços nos arquivos em /etc/rc.d/init . Estes links simbólicos seguem o seguinte padrão. [K|S] nn [nomedoscript] Onde: K: Kill, inidica que p sript é para terminar um determinado serviço. S: Start, indica que o script é para carregar um determinado serviço. Os números inteiros nn indicam a seqüência de execução dos scripts. O menor nn é executado primeiro. O nome do script não é necessário, mas ajuda o operador a entender o script. Para incluir um determinado serviço em algum runlevel desejado, você devera copiar o script de carga para o diretório /etc/rc.d/init.d e criar um link simbólico para o script no runlevel desejado seguindo esta nomenclatura. Exemplo: #cp /usr/local/mailman/mailman.sh /etc/rc.d/init.d #ln –s /etc/rc.d/init.d/mailman.sh /etc/rc.d/rc3.d/S25mailman 12. Entendendo SMB e NetBIOS Aplicações de compartilhamento de arquivos e impressoras de Microsoft Windows são baseados em NetBIOS (Network Basic Input Output System). O BIOS define a interface de aplicações usadas para solicitar serviços I/O de DOS. NetBIOS estende isto com chamadas que suportam I/O através de uma rede. Desenvolvido há 20 anos par o produto PC Network vendido por Sytek, o NetBIOS API sobreviveu ao produto original para se tornar parte de Windows for Workgroups, LAN Manager, Windows 95/95/ME e Windows NT/2000. Originalmente, o NetBIOS era um protocolo monolítico, que levava dados de todos os modos de aplicação para rede física. O NetBIOS mudou com o passar do tempo para um protocolo em camadas. Suas camadas incluem o NetBIOS API, o protocolo SMB e o protocolo NetBIOS Frame (NBF). Hoje, o NetBIOS executa através do TCP/IP, o que permite às aplicações NetBIOS executar através de grandes internets. Isto é feito encapsulando as mensagens NetBIOS dentro de datagramas TCP/IP. O protocolo que faz isto é o NetBIOS over TCP/IP (NBT), que é definido pelas RFCs 1001 e 1002. O NBT requer um método para mapear nomes NetBIOS de computador, que são os endereços de uma rede NetBIOS, para os endereços IP de uma rede TCP/IP. Existem três métodos:
  • 25. Debian para servidores 25 Carlos Melo broadcst IP – Uma mensagem de broadcast que contém uma nome de computador NetBIOS é transmitida, e quando um host vir seu próprio nome em tal transmissão, devolve seu endereço IP à fonte de tramissão. arquivo Imhosts – Um arquivo que mapeia nomes NetBIOS de computador para endereços IP. netBIOS Name Server (NBNS) – Um NBNS mapeia nomes NetBIOS para endereços IP para seus clientes. O daemon nmbd do Samba pode fornecer este serviço. Os sistemas em uma rede NBT são classificados de acordo com o modo que eles solucionam nomes NetBIOS a endereços IP. Há quatro classificações possíveis: b-node – Um sistema que soluciona enderços por broadcast é um nó de broadcast é um nó de broadcast (b-node). Broadcating só tem efeito em uma rede física que suporta broadcast, e normalmente está limitado a uma única sub-rede. p-node – Um sistema que consulta diretamente um servidor de nome NBNS para solucionar endereços é um nó-ponto-a-ponto (p-node). m-node – Um sistema que primeiro usa resolução de endereço por broadcast e, em caso de não obter sucesso, volta a um servidor NBNS é um nó-misto (m-node). Usando uma “abordagem dupla”, é eliminada a dependência completa de um servidor NBNS que é a fraqueza da solução p-node. O problema com m-node é que usa a abordagem de broadcast, menos desejável, primeiro. Na prática, m-nodes são muitos raramente usados. h-node – Um sistema que primeiro tenta solucionar o endereço usando o servidor NBNS; e então volta para usar broadcast; e se tudo a mais falha, procura por um arquivo Imhosts local é um nó-hibrido (h- nod). h-node é o método usado pela maioria dos sistemas. Serviço de nome NetBIOS Embora a instalação do software Samba ainda não tenha sido discutida, este é um bom lugar para discutir o daemon NetBios Name Server (nmdb) e como é configura. O nmbd é parte da distribuição do software Samba básica que transforma um servidor Linux em um servidor NBNS. O nmbd pode controlar consultas de Windows 95/98/ME/NT/2000 e cliented LanManeger, e porde ser configurado para agir com um servidor WINS. NOTA: A implementação da Microsoft do serviço de nome NetBIOS é o Windows Internet Name Service (WINS). O Samba é compatível com o WINS e pode ser usado como um servidor WINS. Opções de configuração WINS de nmbd são definidas no arquivo smb.conf, que é coberto depois em detalhes. As opções fundamentais que se relacionam para executar o WINS são como segue: wins support – Ajuste yes ou no. Esta opção determina se o nmbd é executado ou não como um servidor WINS. no é o default, assim por default, nmbd fornece controle de navegação, mas não fornece serviço WINS. dns proxy – Ajuste yes ou no. Esta opção dis para o nmbd usar DNS para solucionar consultas WINS que ele não pode solucionar de nenhum outro modo. Isto só é significante se o nmbd estiver executando
  • 26. Debian para servidores 26 Carlos Melo como um servidor WINS. O defaut é yes. DNS pode ajudar com resolução de nome NetBIOS somente se nomes NetBIOS e nomes de host DNS forem os mesmos. wins server – Ajuste o endereço IP de um servidor WINS externo. Esta opção só é útil se você não estiver executando um servidor WINS em seu sistema Linux. Esta opção diz ao Samba o endereço do servidor WINS externo para ao qual deveria enviar consultas de nome NetBIOS. wins proxy – Ajuste yes ou no. O default é no. Quando ajustado a yes, nmbd soluciona mensagens de broadcast de consultas de nome NetBIOS transformando-as em consultas unicast e as enviando diretamente para o servidor WINS. Se wins support = yes estiver ajustado, estas consultas são controladas pelo próprio nmbd. Se, ao contrário, wins server estiver ajustado, estas consultas são enviadas ao servidor externo. A opção wins proxy é necessária apenas se os clientes não sabem o endereço do servidor ou não entendem o protocolo WINS. Forneça a seus clientes o endereço do servidor de nome NetBIOS através de DHCP. Para as opções de DHCP que definem a configuração de NetBIOS de um cliente. Para definir o endereço do servidor NBNS, entre a seguinte linha no arquivo dhcpd.conf: option netbios-name-servers 172.16.5.1 ; O servidor de nome NetBIOS geralmente é iniciado no momento da inicialização com o seguinte comando: nmbd -D Quando iniciado com a opção – D, o nmbd executa continuamente, escutando por solicitações de serviço de nome NetBIOS na porta 137. O servidor responde solicitações usando dados de registro coletados de seus cliente e o mapeamento de nomes para endereço NetBIOS que descobriu de outros servidores. Se a opção – H /etc/Imhosts for adicionada à linha de comando, o servidor também responde com o mapeamento definido no arquivo Imhosts. (Você pode chamar este arquivo de qualquer coisa que deseje, mas o nome tradicional é Imhosts.) O arquivo Imhosts está lá de forma que você possa fornecer mapeamento de endereço manualmente para o servidor quando for necessário, entretanto, normalmente não é necessário. A maioria dos servidores WINS não precisa de um arquivo Imhosts porque os servidores descobrem mapeamento de endereço dinamicamente dos clientes e outros servidores. Nomes NetBIOS são registrados por eles mesmos; os cliente registram os seus nomes NetBIOS com o servidor quando eles inicializam. Os endereços e nomes são armazenados no banco de dados do WINS; wins.dat. Imhosts é só uma parte pequena do banco de dados total. Os arquivos Imhosts O arquivo Imhosts contém mapeamentos de nome estático para endereço. O arquivo é semelhante ao arquivo hosts descrito no COLOCAR ARQUIVO MODELO DE HOSTS, “Serviços de nome Linux”. Cada entrada começa com um endereço IP que é seguido por nome de host. Porém, agora o nome de host é o nome NetBIOS. A Listagem 9.8 é um arquivo Imhosts de exemplo. Listagem 12.1 – Um arquivo Imhosts exemplo. $ cat /etc/Imhosts 172.16.5.5 crow 172.16.5.1 wren
  • 27. Debian para servidores 27 Carlos Melo 172.16.5.2 robin 172.16.5.3 hawk Dado este arquivo Imhosts, o nome NetBIOS robin mapeia para o endereço IP 172.16.5.2. Observe que estes nomes NetBIOS são iguais aos nomes de host TCP/IP atribuídos a estes clientes. Você sempre deve usar os mesmos nomes de host para seus sistemas NetBIOS e TCP/IP. Caso contrário, limita suas escolhas de configuração e cria confusão. Serviço de nome NetBIOS é uma parte essencial de uma rede NetBIOS, mas o ponto real de criar tal rede é compartilhar arquivos e outros recursos de rede. O resto deste material discute a instalação e configuração de Samba para fazer apenas isso. Instalando o Samba Serviços Samba estão implementados como dois daemons. O daemon SMB (smdb), o coração do Samba, fornece os serviços de compartilhamento de arquivo e de impressora. O daemon NetBIOS Name Server (nmbd) fornece serviço de nome NetBIOS para endereço IP. Você pode fazer o download do software Samba da Internet se precisar. Vá para www.samba.org para selecionar o site de download mais próximo, e então baixe o arquivo samba-latest.tar.gz deste site. Descompacte e descomprima o fonte em um diretório de trabalho. Mude para este diretório, execute ./configure, e então execute make e make install. Isto instalará a mais recente versão do Samba em /usr/local/samba. Porém, compilar sua própria cópia de Samba não deve ser necessário em um sistema Linux. O samba é incluído na maioria das distribuições Linux, e pode ser instalado durante a instalação de sistema inicial. Selecionar Samba durante a instalação de Red Hat instala o pacote Samba e o script /etc/rc.d/init.d/smb, que pode ser executado no momento da inicialização para iniciar ambos smbd e nmbd. Depois que o software for instalado, use chkconfig ou tksysv para assegurar que os scripts apropriados executam no momento da inicialização. Em nosso sistema Red Hat de amostra, o script é smb, e nós usamos este comando chkconfig para ter certeza de que o script executará na inicialização: [root] # chkconfig -list smb smb 0:off 1:off 2:off 3:off 4: off 5: off 6: off [root] # chkconfig -level 35 smb on [root] # chkconfig -list smb smb 0:off 1:off 2:off 3:on 4: off 5: on 6: off O primeiro commando chkconfig mostra que, embora o RPM dos Samba esteja instalado nes system, o smb não foi configurado para executar a inicialização. O segundo comando chkconfig faz o smb executar nos níveis de execução 3 e 5 – os níveis de execução multiusuário default. A seguir, você executa o script /etc/init.d/smb para iniciar os daemons, como segue: [root] # service smb start Stanting SMB services: [ OK ] Stanting NMB services: [ OK ] [root] # service smb status smbd (pid 5341) is running… nmbd (pid 5346) is running…
  • 28. Debian para servidores 28 Carlos Melo Como os IDs de processo na resposta de estado mostram, os daemons smbd e nmbd estão executando. Já que os sistemas Red Hat não executarão os daemons, a menos que um arquivo smb.conf exista, esta é uma ótima dica de que o sistema Red Hat vem com Samba pré-configurado. 12.1 Configurando um servidor Samba O servidor Samba é configurado pelo arquivo smb.conf. Olhe no script de inicialização para ver onde o smbd espera encontrar o arquivo de configuração. Em um sistema Red Hat, deve ser em / etc/samba/smb.conf, em outro sistema pode ser /etc/smb.conf, e o default usado na maioria da documentação de Samba é /usr/local/samba/lib/smb.conf. Use find ou verifique o script de inicialização assim você sabe onde está em seu sistema. O arquivo smb.conf está dividido em seções. Com exceção da seção global que define parâmetros de configuração para o servidor inteiro, as seções são nomeadas depois dos compartilhamentos. Um compartilhamento é um recurso oferecido pelo servidor aos clientes. Neste contexto, é um sistema de arquivos que é oferecido pelo servidor para os clientes usarem para compartilhamento de arquivos. Um compartilhamento também pode ser uma impressora compartilhada. O melhor modo para aprender sobre o arquivo smb.conf é olhara para um. Menos os comentários e todas as linha que tratam de compartilhamento de impressoras, o arquivo smb.conf do Red Hat contém as linhas ativas mostradas na listagem 9.9. Listagem 12.2 – Linhas ativas no arquivo smb.conf de Red Hat. [global] Workgroup = MYGROUP Server string = Samba Server Log file + /var/log/samba/%m.log Max log size = 0 Segurity = user encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd socket options = TCP_NODELAY SO_RCWBUF=8192 SO_SNDBUF=8192 dns proxy = no [homes] comment = Home Directories browseable = no writable = yes valid users = %S create mode = 0664 directory mode = 0775 As variáveis do smb.conf Ler um arquivo smb.conf pode ser confuso se você não entende as variáveis encontradas no arquivo. A Tabela 9.3 lista cada variável e o valor delas.
  • 29. Debian para servidores 29 Carlos Melo Tabela 12.1 – Variáveis do smb.conf. Variável Significado %a Arquitetura de máquina de cliente %d ID do processo de servidores %g GID do nome de usuário atribuído ao cliente %G GID do nome de usuário solicitado pelo cliente %h Nome no DNS do host do servidor %H Diretório home do nome de usuário atribuído ao cliente %I Endereço IP do cliente %L Nome NetBIOS do servidor %m Nome NetBIOS do cliente %M Nome no DNS do host do cliente %N Servidor NIS se NIS for suportado %p Diretório raiz do NIS se NIS for suportado %P O diretório raiz do serviço atual %R O protocolo negociado durante a conexão %S O nome do serviço atual %T A data e hora %u O nome de usuário atribuído ao cliente %U O nome de usuário solicitado pelo cliente %v O número da versão do Samba Variáveis fornecem flexibilidade porque cada variável é substituída na configuração por um valor obtido do sistema. Isto permite interpretar a mesma declaração de configuração diferentemente em situações diferentes. Aqui está um exemplo do arquivo smb.conf do Red Hat na Listagem 9.9: Log file = /var/log/samba/%m.log Neste exemplo, a variável %m é substituída pelo nome NetBIOS do cliente, assim um arquivo de registro diferente é criado para cada client que usa o nome NetBIOS do cliente. Se o nome NetBIOS do cliente for crow, o arquivo é chamado de /var/log/samba/crow.log. Se o nome NetBIOS do cliente for robin, o arquivo é /var/log/samba/robin.log. A seção global do smb.conf O arquivo de configuração de exemplo do Red Hat contém duas seções: global e homes. A seção global define vários parâmetros que afetam o servidor inteiro. Os parâmetros na seção global do smb.conf do Red Hat são os seguintes: workgroup (grupo de trabalho) – Define o grupo de trabalho do qual este servidor é um membro. Um grupo de trabalho é um agrupamento hierárquico de hosts. Organiza recursos de rede da mesma forma que diretórios organizam recursos de arquivo. E é usado pela mesma razão: computadores agrupados em grupos de trabalho ajudam um usuário a localizar sistemas relacionados. Grupos de trabalho não são usados para segurança. Hosts que não estão no grupo de trabalho ainda são autorizados a compartilhar arquivos com sistemas que estão. Substitua o nome MYGROUP no exemplo por um nome de grupo de trabalho significante de 15 caracteres ou menos. server string – Define o comentário descritivo para este servidor. A string é exibida pelo comando net view em clientes Windows, assim fornece uma oportunidade para você descrever o servidor. Mude a string no exemplo para significante para seu sistema.
  • 30. Debian para servidores 30 Carlos Melo Log file (arquivo de registro) – Define o local do arquivo de registro. A coisa mais interessante sobre esta entrada é que contém uma variável de smb.conf. max log size (tamanho máximo do arquivo de registro) – Define o tamanho máximo de uma arquivo em kilobyte. O default é 5MB, ou 5.000KB. Se o tamanho máximo for excedido, o smbd fecha o registro e o renomeia com extensão .old. A configuração do Red Hat ajusta isto em 0, o que significa “ilimitado” – não há nenhum tamanho máximo de registro. security (segurança) – Define o tipo de segurança usado. Em Samba, há quatro configurações possíveis: share – Solicita segurança no nível do recurso compartilhado. Este é o mais baixo nível de segurança. Essencialmente, um recurso configurado com segurança neste nível é compartilhado com todo o mundo. É possível associar uma senha com um compartilhamento, mas a senha é a mesma para todos que queiram usar o recurso compartilhado. user – Solicita segurança em nível de usuário. A todo usuário é exigido entrar com um nome de usuário e uma senha associada. Por default, isto é o nome de usuário e senha definidos em /etc/passwd que o usuário usa para se registrar ao servidor Linux. O valor default para senhas pode ser mudado, como nós veremos em instantes. server – Define segurança em nível de servidor. Isto é semelhante a segurança em nível de usuário, mas um servidor externo é usado para autenticar o nome de usuário e senha. O servidor externo deve ser definido pela opção password server. domain – Define segurança em nível de domínio. Neste esquema, o servidor Linux une um domínio Windows NT e usa o controlador de domínio Windows NT como o servidor que aprova nomes de usuário e senhas. Use a opção (PDC). Registre-se em PDC, e crie uma conta para o sistema Linux. Finalmente, acrescente estas linhas à seção global no sistema Linux: domain master = no local master = no preferred master = no ostype = 0 encrypt passwords – Especifica se Samba deve ou não usar senhas criptografadas. Fixar este parâmetro para yes torna o servidor mais compatível com os clientes Windows, e o torna mais difícil para intrusos detectarem senhas da rede. Senhas criptografadas são mais seguras. Se este parâmetro for ajustado em no, senhas de texto claro são usadas, o que requer mudanças nas configurações de cliente. Veja a sidebar “Senhas de texto claro” para informações sobre as mudanças no Register que são necessárias para tornar os cliente Windows compatíveis com senhas de texto claro. smb passwd file – Use este parâmetro para apontar o local do arquivo smbpasswd. Quando senhas criptografadas são usadas, o servidor Samba tem que manter dois arquivos de senha: passwd e smbpasswd. Use o script mksmbpasswd.sh para construir o arquivo inicialsmbpasswd do arquivo passwd. socket options – Define os parâmetros de ajuste de desempenho. A configuração de exemplo do Red Hat ajusta TCP_NODELAY para dizer a Samba para enviar pacotes múltiplos com cada transferência, que é de fato o default. As opções SO_RCVBUF e SO_SNDBUF ajustam o buffer de envio e recebimento em oito kilobytes, o que pode aumentar ligeiramente o desempenho. Um estudo detalhado de ajuste de desempenho de Samba seta além do escopo deste livro. Veja o capítulo 12 de Linux Samba Serve
  • 31. Debian para servidores 31 Carlos Melo Adminstration por Rod Smith (Sybex, 2000) para uma boa discussão sobre o ajuste de desempenho de Samba. dns proxy – Especifica se o nmbd deve ou não encaminhar consultas NBNS não resolvidas ao DNS, como descrito na seção anterior. A configuração do Red Hat ajusta isto para no, assim não envia consultas NBNS não resolvidas ao DNS. Senhas de texto claro Quando Samba usa senhas de texto claro, nenhuma sincronização de banco de dados de senha é requerida, porque só um banco de dados, /etc/passwd, é usado. Porém, senhas de texto claro não são compatíveis com muitas versões de Windows, porque estas versões requerem senhas criptografadas. Para forças estes clientes a usar senhas de texto claro, você tem que editar o Register de todos os clientes. Para Windows 95/98/ME, a configuração de Registro é [HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDVNETSUP] “EnablePlainTextPasswords”=dword:00000001 Em Windows NT, a configuração é: [HKEY_LOCAL_MACHINESystemCurrentControlSetServices->RdrParameters] “EnablePainTexPasswords”=dword:00000001 Em Windows 2000, a configuração é: [HKEY_LOCAL_MACHINESystemCurrentControlSetServices->LanmanWorkStationParameters] “EnablePainTexPasswords”=dword:00000001 Senhas de texto claro não são tão seguras quanto a senha criptografada. Adicionalmente, manter dois brancos de dados em um servidor Linux é normalmente mais simples que editar o Register em todos os clientes Windows. Por isto, a maioria dos administradores acha que as senhas criptografadas são melhores e dão menos dor de cabeça. Além de mudar o nome do grupo de trabalho, o sistema Red Hat executa com a configuração de exemplo sem mudar quaisquer destes parâmetros globais. A outra seção no arquivo de configuração de exemplo que se relaciona ao compartilhamento de arquivos é a seção homes. 12.3 A seção homes do smb.conf A seção homes é uma seção de compartilhamento especial. Diz ao smbd para permitir aos usuários acessar seus próprios diretórios home através o SMB. Ao contrário de outras seções de compartilhamento cobertas depois, a seção homes não diz ao smbd o caminho específico do diretório sendo compartilhado. No lugar, o smbd usa o diretório home do arquivo /etc/passwd baseado no nome de usuário do usuário que solicita o compartilhamento. É esta seção especial que torna o diretório home de um usuário no servidor disponível para o usuário no PC dele. A seção homes do exemplo de Red Hat é [homes] commet = Home Directories browseable = no writable = yes valid users = %S
  • 32. Debian para servidores 32 Carlos Melo creat mode = 0664 directory mode = 0775 Os parâmetros de configuração definidos nesta seção homes são os seguintes: comment – Fornece uma descrição do recurso compartilhado que é exibida no campo de comentário da janela Network Neighborhood (vizinhaça de rede) quando este recurso é visto em um sistema Macrosoft Windows. browsable – Especifica se todos os usuários podem enxergar ou não os conteúdos deste recurso compartilhado . no significa que somente usuários com permissão específica (quer dizer, o ID de usuário correto) estão autorizados a enxergar o recurso compartilhado . yes significa que todos os usuários, indiferente do UID, podem enxergar este recursos. Este parâmetro só controla navegação; acesso real aos conteúdos do recurso compartilhado é controlado pelas permissões de arquivo Linux padrão. writable – Especifica se os arquivos pode ser escritos ou não no compartilhamento. Se yes, o recurso compartilhado pode ser escrito. Se no, o recurso é somente leitura. Este parâmetro define as ações permitidas pelo Samba. Permissão real para escrever ao diretório definitivo pelo compartilhamento ainda é controlado pelas permissões de arquivos padrões do Linux. valid user – Define os usuários que estão autorizados a usar este compartilhamento. No exemplo do Red Hat, o nome de serviço (%S) é usado. creat mode – Define a permissão de arquivo usada quando um arquivo é criado neste compartilhamento. (Veja a discussão de arquivo anteriormente neste capítulo.) directory mode – Define as permissões de diretório usadas quando um diretório é criado neste compartilhamento. As seções global e homes descritas estão incluídas na configuração de exemplo do Red Hat. Tendo uma compreensão dos elementos usados para criar estas seções, você está pronto para criar sua própria seção de compartilhamento no arquivo smb.conf. 12.4 Compartilhando um diretório através do Samba Para compartilhar um diretório através de Samba, crie uma seção de compartilhamento no smb.conf que descreva o diretório e as condições sob as quais você está disposto a compartilhá-lo. Para compartilhar o diretório /home/sales usado nos exemplos do NFS e uma diretório novo chamado /usr/local/pcdocs, você deve adicionar duas seções de compartilhamento mostradas na Listagem 9.10 ao arquivo smb.conf de exemplo. Listagem 12.4 – Compartilhamento de arquivos com o Samba [pcdocs] comment = PC Documentation path = /usr/local/pcdocs browsable = yes writable = no public = yes [sales] comment = Sales Departament Shared Directory path = /home/sales
  • 33. Debian para servidores 33 Carlos Melo browsable = no writable = yes create mode = 0750 hosts allow = .sales.foobirds.org Cada seção de compartilhamento está rotulada com um nome significativo. Este nome é exibido como uma pasta na janela Network Neighborhood nos PCs clientes. Cada seção contém alguns comandos que você já viu e alguns comandos novos. O primeiro comando novo é path, que define o caminho do diretório que é oferecido para compartilhamento. A seção pcdocs também contém o comando public.public permite a qualquer um acessar o recurso compartilhado, até mesmo se eles não tiverem um nome de usuário ou senha válidos. A estes usuários públicos é dado acesso de “conta de convidado” para o compartilhamento. Em um sistema Linux, isto normalmente significa que eles executam como usuário nobody e grupo nobody, e estão limitados a permissões mundiais. 12.5 Configurando permissões de arquivo e de diretório O recurso sales está sendo oferecida como um diretório que pode ser escrito. O comando create mode controla as permissões usadas quando um cliente escrever em um arquivo do diretório/home/sales. Na Listagem 9.10 de exemplo, é especificado que os arquivos serão cridos com permissões leitura/escrita/execução para o proprietário, leitura/execução para o grupo, e nenhuma permissão para o mundo (750). Um comando relacionado, directory mode, define a permissão usada quando um cliente criar um diretório dentro do diretório compartilhado. Por exemplo: directory mode = 0744 Isto ajusta as permissões para diretórios novos em leitura/escrita/execução para o proprietário, leitura/execução para o grupo, e leitura/execução para mundo (744). Esta é uma configuração razoável, que permite aos comandos cd e Is trabalhar como esperado, porque os diretórios têm que ter o bit executar ajustado para todos os usuários, para que o comando de mudança de diretório (o cd) funcione corretamente. 12.6 Limitando o acesso a um recurso compartilhado A seção sales também contém um comando hosts allow, que define os clientes que serão autorizados a acessar este recurso. Até mesmo se um usuário tiver o nome de usuário e senhas corretos, eles estão autorizados a acessar este recurso somente a partir de hosts especificados. Por default, a todos os hosts é dado acesso, e o acesso específico é controlado pelo nome de usuário e senha. Os hosts identificados no comando hosts allow na Listagem 9.10 são idênticos aos listados no exemplo do NFS. Isto ilustra que o Samba também pode controlar acesso com curingas de domínio. Há vários modos diferentes para definir hosts individuais ou grupos de hosts no comando hosts allow. Como o nome do comando insinua, usa a mesma sintaxe do arquivo hosts.allow discutido no Capítulo 12, “Segurança”. Alguns exemplos de como pode ser usado no arquivo smb.conf são como segue: Hosts allow = 172.16.5.0/255.255.255.0 Permite a todo host na rede 172.16.5.0 acessar o recurso compartilhado.
  • 34. Debian para servidores 34 Carlos Melo Hosts allow = 172.16.EXCEPT 172.16.99.0/255.255.255.0 Permite a todo host na rede 172.16.0.0 ter acesso ao recurso compartilhado, com exceção aos hosts na sub-rede 172.16.99.0172.16 pode ser a rede de empresa, e 172.16.99 pode ser uma sub-rede não confiável, onde computadores acessíveis publicamente estão localizados. Além do comando hosts allow, há o comando hosts deny, que define computadores que têm acesso explicitamente negado ao recurso compartilhado. Sua sintaxe é semelhante à do comando hosts allow. Combinando estas duas nova seções compartilhamentos com as seções que vieram com a configuração do Red Hat, é criado um servidor que faz tudo o que você quiser. Fornece acesso a diretórios home de usuário. Fornece acesso a diretórios públicos usados para oferecer documentação on-line ou outros recursos compartilhados publicamente. E oferece diretórios privados que só são acessíveis a membros do grupo selecionado. Isto fornece tudo o que NFS ofereceu de uma maneira que é muito mais simples para clientes Microsoft Windows usarem. É claro que você não está limitado a servir somente clientes Windows. Sistemas Linux também podem ser clientes Samba. 12.8 Usando um cliente Samba do Linux O NFS é o modo mais comum para compartilhar arquivos ente sistemas Linux, e recursos como autofs e montagem de fstab tornam a integração NFS em um cliente Linux muito transparente. Mas nem todos os servidores são servidores Linux. É possível que você vá precisar configurar um sistema Linux como um cliente para um servidor Windows NT/2000, ou até mesmo como um par para um desktop Windows. Para estas situações, use as ferramentas de cliente do Samba. Usando smbclient O programa smbclient é uma ferramenta para transferir arquivos de um sistema oferecendo compartilhamento SMB. É particularmente útil para transferir arquivos com sistemas Windows que não têm software de servidor FTP. O smbclient age como uma ferramenta FTP para arquivos compartilhados pelo SMB. A Listagem 9.11 ilustra isto. Listagem 12.7 – Como usar smbclient. $ smbclient //robin/temp -W sybex Added interface ip=172.16.5.2 bcast=172.16.5.255 nmask=255.255.255.0 Passaword: smb: > 1s a1*.jpg alana1.jpg A 6147 Sun Jul 8 11:39:42 2001 alana2.jpg A 8180 Sun Jul 8 11:46:56 2001 alana3.jpg A 23296 Wen Aug 8 09:37:24 2001 alana4.jpg A 42857 Sun Nov 25 16:50:42 2001 alana5.jpg A 22456 Sun Nov 25 16:53:00 2001 alana6.jpg A 55847 Wed Feb 6 16:00:20 2002 alana7.jpg A 42799 Wed Feb 6 16:10:50 2002 51795 blocks of size 131072. 11861 Blocks available smb: > get alana1.jpg getting file Alana1.jpg as alana1.jpg (average 158.0 kb/s) smb: > quit
  • 35. Debian para servidores 35 Carlos Melo A ferramenta smbclient é invocada pelo comando smbclient. O recurso que você está acessando é descrito na linga de comando que usa o Microsoft Uniform Naming Convertion (convenção de nome uniforme da Microsoft) (UNC). O formanto UNC é //server/sharename, onde server é o servidor de nome NetBIOS, e sherename é o nome do recurso compartilhado. Se uma senha para o recurso compartilhado é requerida, que pode ser o caso se o servidor usar segurança em nível de compartilhamento, ela segue o UNC na linha de comando. No exemplo da Listagem 9.11, a segurança em nível de compartilhamento é usada, mas a senha não é fornecida na linha de comando, assim o servidor avisará ao usuário para isto. Use a opção de comando -U, e forneça o nome de usuário e senha separados por um % se o servidor usar segurança em nível de usuário. Se um nome de grupo de trabalho for requerido, forneça-o com a opção –W, como mostrado na Listagem 9.11. Depois que o nome de usuário e senha foram fornecidos, os arquivos são enviados e recuperados usando exatamente os mesmos comandos do FTP. Se você pode usar FTP, você pode usar smbclient. O programa smbclient é o burro de carga das ferramentas do cliente Samba. Não é muito elegante, mas é a base para várias outras ferramentas de cliente que são os scripts shell que usam smbclient para que o trabalho seja feito. Um modo mais natural para integar arquivos de servidor SMB no sistema de arquivos Linux é com smbfs. 12.9 Usando o smbmount O sistema de arquivo SMB (smbfs) lhe permite montar compartilhamentos SMB, e os usar como se eles fizessem parte do sistema de arquivo Linux. Par funcionar, o kernel tem que suportar o sistema de arquivo smbfs. A Listagem 9.12 mostra uma verificação rápida ao suporte de kernel de smbfs. Listagem 12.8 – Verificar /proc/filesystems. [root] # modprobe smbfs [root] # cat /proc/filesystems nodev proc nodev sockfs nodev tmpfs nodev shm nodev pipefs ext2 iso9660 nodev devpts ext3 vfat nodev autofs nodev smbfs O pseudo sistema de arquivo /proc fornece uma olhada rápida no kernel. O pseudo arquivo /proc/filesystems lista os sistemas de arquivos que estão no kernel, porque eles são compilados dentro ou configurados como módulos carregáveis. É claro qu módulos carregáveis não soa carregados a menos que sem necessários, assim a Listagem 9.11 começa com um comando modprobe para forçar smbfs a carregar. Se smbfs não carregar o kernel pode precisar ser reconfigurado.
  • 36. Debian para servidores 36 Carlos Melo Os recursos compartilhados pode ser montados usando o comando smbmount e desmontadas usando o comando smbumount. A listagem 9.13 monta o mesmo recurso mostrado no exemplo do smbclient usando smbmount. Listagem 12.9 – Um smbmount de exemplo. [root] # 1s /home/robin [root] # smbmount //robin/temp /home/robin workgroup=sybex Password: [root] # 1s /home/robin/Alana*.jpg /home/robin/alana1.jpg /home/robin/alana4.jpg /home/robin/alana7.jpg /home/robin/alana2.jpg /home/robin/alana5.jpg /home/robin/alana3.jpg /home/robin/alana6.jpg O comando Is no começo da Listagem 9.13 mostra que /home/robin é um diretório vazio, que nós usaremos como um ponto de montagem (o local dentro do sistema de arquivo Linux no qual o recurso compartilhado é montando). O comando smbmount começa com o nome do recurso escrito no formato UNC de Microsoft. O nome do recurso é seguido pelo nome do ponto de montagem de Linux. Uma lista de opções segue o ponto de montagem. Neste caso, o grupo de trabalho é a única opção requerida. Depois que estiver montado, o recurso compartilhado tem essencialmente o mesmo aspecto e sentido de qualquer diretório Linux, e a maioria dos comandos Linux padrão que pode ser usada para manipular os arquivos no diretório compartilhado. (A Listagem 9.13 mostra um Is de certos arquivos no diretório.) É claro que nem tudo é a mesma coisa em sistemas Linux e sistemas Windows. Alguns recursos do sistema de arquivo Linux não estão disponíveis em todos os servidores SMB. Por exemplo, um sistema Windows 95/98/ME que oferece um compartilhamento que não tem segurança em nível de arquivo, não entende UIDs e GIDs do Linux. O smbfs faz o seu melhor trabalho para “fingir isto”. Usa o UID e GID em vigor quando smbmount for iniciado. Você pode anular estes defaults com opções de linha de comando. Por exemplo, o seguinte comando diz para o smbfs usar o UID 689, presumivelmente o UID atribuído a tyler; e o GID 100, que é o GID de users: Smbmount //crow/user/tyler /home/tyler/crow Username=tyler password=Wats?Watt? uid=689 gid=100 Para desmontar um recurso SMB, use o comando smbumount com o caminho do ponto de montagem: [root] # smbumount /home/robin Recurso compartilhados também podem ser montadas a partir arquivos fstab usando o comando mout com os argumentos smbfs –a e –t. O Red Hat usa esta técnica para montar compartilhamentos Samba no script de inicialização netfs. Para fazer isto, o compartilhamento Samba deve ser definido ao arquivo fstab. Por exemprlo, para montar o compartilhamento Samba usa na Listagem 9.13, a seguinte entrada deve ser acrescentada ao arquivo fstab: //robin/temp /home/robin smbfs workgroup=sybex 0 0 Aqui, o nome de sistema de arquivo é o nome formatado UNC do recurso remoto, e o tipo de sistema de arquivo é smbfs. Quando o comando mount for invocado com –t smbfs, transfere o controle ao programa /sbin/mount.smbfs. Em um sistema Red Hat, /sbin/mount.smbfs é apenas um link simbólico para smbmout. Os valores nos primeiros quatro campos da entrada de fstab são passados a smbmount para processamento.