Debian para servidores 1                                                                                           Carlos ...
Debian para servidores 2                                                                                      Carlos Melo•...
Debian para servidores 3                                                                                             Carlo...
Debian para servidores 4                                                                                            Carlos...
Debian para servidores 5                                                                                             Carlo...
Debian para servidores 6                                                                                             Carlo...
Debian para servidores 7                                                                                                 C...
Debian para servidores 8                                                                                             Carlo...
Debian para servidores 9                                                                                              Carl...
Debian para servidores 10                                                                                              Car...
Debian para servidores 11                                                                                            Carlo...
Debian para servidores 12                                                                                               Ca...
Debian para servidores 13                                                                                                C...
Debian para servidores 14                                                                                           Carlos...
Debian para servidores 15                                                                                             Carl...
Debian para servidores 16                                                                                           Carlos...
Debian para servidores 17                                                                                             Carl...
Debian para servidores 18                                                                                            Carlo...
Debian para servidores 19                                                                                            Carlo...
Debian para servidores 20                                                                                              Car...
Debian para servidores 21                                                                                               Ca...
Debian para servidores 22                                                                                             Carl...
Debian para servidores 23                                                                                             Carl...
Debian para servidores 24                                                                                                C...
Debian para servidores 25                                                                                           Carlos...
Debian para servidores 26                                                                                           Carlos...
Debian para servidores 27                                                                                                C...
Debian para servidores 28                                                                                           Carlos...
Debian para servidores 29                                                                                          Carlos ...
Debian para servidores 30                                                                                              Car...
Debian para servidores 31                                                                                          Carlos ...
Debian para servidores 32                                                                                            Carlo...
Debian para servidores 33                                                                                           Carlos...
Debian para servidores 34                                                                                              Car...
Debian para servidores 35                                                                                          Carlos ...
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
apostila linux
Próximos SlideShares
Carregando em…5
×

apostila linux

5.449 visualizações

Publicada em

Publicada em: Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
5.449
No SlideShare
0
A partir de incorporações
0
Número de incorporações
658
Ações
Compartilhamentos
0
Downloads
199
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

apostila linux

  1. 1. Debian para servidores 1 Carlos Melo1. O LinuxO Linux é um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki naFinlândia. É um sistema Operacional de código aberto distribuído gratuitamente pela Internet. Seu códigofonte é liberado como Free Software (software livre), sob licença GPL, o aviso de copyright do kernel feitopor Linus descreve detalhadamente isto e mesmo ele não pode fechar o sistema para que seja usado apenascomercialmente.Isto quer dizer que você não precisa pagar nada para usar o Linux, e não é crime fazer cópias para instalarem outros computadores, nós inclusive incentivamos você a fazer isto. Ser um sistema de código abertopode 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 umkernel 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 umainstalaçã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ápidocrescimento, do aumento da compatibilidade de periféricos (como novas placas sendo suportadas logo apósseu 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 dispositivosde última geração e mais antigos (a maioria deles já ultrapassados e sendo completamente suportados pelosistema operacional). Este é um ponto forte para empresas que desejam manter seus micros emfuncionamento 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 suacontribuição ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha em seudesenvolvimento 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 programacomercial disponível no mercado. Existem centenas de consultores especializados espalhados ao redor domundo. Você pode se inscrever em uma lista de discussão e relatar sua dúvida ou alguma falha, e suamensagem será vista por centenas de usuários na Internet e algum irá te ajudar ou avisará as pessoasresponsá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. 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. 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 DESEU FUNCIONAMENTO.
  4. 4. Debian para servidores 4 Carlos Melo2. 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 desejarusa-lo. Se estiver fazendo um trabalho de história, nada melhor que salva-lo com o nome historia. Umarquivo 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 arquivohistoria é 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 oscomandos 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 paratambém listar arquivos ocultos.2.1 Extensão de arquivosA extensão serve para identificar o tipo do arquivo. A extensão são as letras após um "." no nome de umarquivo, 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, oarquivo 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 é convenienteo seu uso para determinarmos facilmente o tipo de arquivo e que programa precisaremos usar para abri-lo.2.2 Tamanho de arquivosA 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 embytes. O byte representa uma letra. Assim, se você criar um arquivo vazio e escrever o nome Linux e salvar oarquivo, 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. 5. Debian para servidores 5 Carlos Meloletras servem para facilitar a leitura em arquivos de grande tamanho. Um arquivo de 1K é a mesma coisa deum arquivo de 1024 bytes. Uma forma que pode inicialmente lhe ajudar a lembrar: K vem de Kilo que é iguala 1000 - 1Kilo é igual a 1000 gramas certo?.Da mesma forma 1Mb (ou 1M) é igual a um arquivo de 1024K ou 1.048.576 bytes1Gb (ou 1G) é igual a um arquivo de 1024Mb ou 1048576Kb ou 1.073.741.824 bytes (1 Gb é igual a1.073.741.824 bytes, são muitos números!). Deu pra notar que é mais fácil escrever e entender como 1Gbdo 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 Yotta2.3 Arquivo texto e binárioQuanto 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órioDiretório é o local utilizado para armazenar conjuntos arquivos para melhor organização e localização. Odiretório, como o arquivo, também é "Case Sensitive" (diretório /teste é completamente diferente dodiretório /Teste).Não podem existir dois arquivos com o mesmo nome em um diretório, ou um sub-diretório com um mesmonome de um arquivo em um mesmo diretório.
  6. 6. Debian para servidores 6 Carlos MeloUm 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 RaizEste é 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 • /homeA estrutura de diretórios também é chamada de Árvore de Diretórios porque é parecida com uma árvore decabeça para baixo. Cada diretório do sistema tem seus respectivos arquivos que são armazenados conformeregras definidas pela FHS (FileSystem Hierarchy Standard - Hierarquia Padrão do Sistema de Arquivos) versão2.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) paraverificar qual é seu diretório atual.O diretório atual também é identificado por um "." (ponto). O comando comando ls . pode ser usado paralistar seus arquivos (é claro que isto é desnecessário porque se não digitar nenhum diretório, o comando lslistará o conteúdo do diretório atual).3.3 Diretório homeTambém chamado de diretório de usuário. Em sistemas GNU/Linux cada usuário (inclusive o root) possui seupró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 homeserá /home/joao. O diretório home também é identificado por um ~(til), você pode digitar tanto o comandols /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 aseguinte forma: /home/[1letra_do_nome]/[login], neste caso se o seu login for "joao" o seu diretório homeserá /home/j/joao.
  7. 7. Debian para servidores 7 Carlos Melo3.4 Diretório SuperiorO 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 .. Esterecurso também pode ser usado para copiar, mover arquivos/diretórios, etc.3.5 Diretório AnteriorO 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/localusando cd -.3.6 Caminho na estrutura de diretóriosSão os diretórios que teremos que percorrer até chegar no arquivo ou diretório que que procuramos. Sedesejar 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órioUm exemplo de diretório é o seu diretório de usuário, todos seus arquivos essenciais devem ser colocadasneste diretório. Um diretório pode conter outro diretório, isto é útil quando temos muitos arquivos equeremos melhorar sua organização. Abaixo um exemplo de uma empresa que precisa controlar os arquivosde Pedidos que emite para as fábricas:/pub/vendas - diretório principal de vendas /pub/vendas/mes01-99 - diretório contendo vendas do mês01/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. 8. Debian para servidores 8 Carlos Melomes01-99, mes02-07, mes01-08 são diretórios usados para armazenar os arquivos de pedidos do mês e anocorrespondente. Isto é essencial para organização, pois se todos os pedidos fossem colocados diretamenteno 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 queeles 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 LinuxO sistema GNU/Linux possui a seguinte estrutura básica de diretórios organizados segundo o FHS (FilesystemHierarchy 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. 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óriosNo GNU/Linux, os arquivos e diretórios pode ter o tamanho de até 255 letras. Você pode identifica-lo comuma 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ãoexecutados a partir de extensões .exe, .com ou .bat. O GNU/Linux (como todos os sistemas POSIX) usa apermissã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 gravadocom o nome trabalho.text ou trabalho.txt. Também é permitido gravar o arquivo com o nome Trabalho deHistoria.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 deHistoria.txt"). Ao invés de usar espaços, prefira capitalizar o arquivo (usar letras maiúsculas e minúsculaspara identificá-lo): TrabalhodeHistoria.txt.
  10. 10. Debian para servidores 10 Carlos Melo5. ComandosVamos abordar agora comandos básicos uitlizados nos sistemas Unix e Linux, apesar de existirem diversosaplicativos gráficos e interfaces para a configuração das tarefas administrativas disponíveis será importanteum forte conhecimento dos comandos Shell do Linux, nosso curso terá todo foco em cima de administraçãosistemas por linha de comando.No Linux utilizamos normalmente o BASH (ou Bourne Again Shell), derivado do CSH, e possui váriascaracterí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 ouexplicitando 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 havervariações dependendo da distribuição.Vamos tomar como exemplo o comando ls:$ lsEste comnado lista o conteúdo do diretório atual. Ele não requer nenhuma opção ou argumento para serexecutado. O argumento –l pode ser acrescentado para gerar uma lista de arquivos detalhada.
  11. 11. Debian para servidores 11 Carlos Melo$ ls -lPodemos ainda colocar mais opções para o comando ls:$ ls –l –a –t ou $ ls –ltaNeste caso, do comando ls, as opções podem ser repassadas separadamente ou podem ser combinadas. –amostra todos os arquivos, até os ocultos, -t mostra os arquivos ordenados pela ultima data de modificação.6. Comandos de edição de textoO Linux tem diversas ferramentas para trabalhar e transformar arquivos textos puros, sem formataçãoespecial. Estas ferramentas são úteis quando estamos trabalhando com scripts no Shell, verificando arquivosde log, e etc.6.1 CatUso:cat [opções] arquivoO comando cat concatena arquivos, imprime seu conteúdo na tela e ainda podereceber texto digitado pelo teclado para um arquivo.Para criar um arquivo com apenas algumas linhas de texto:$ cat > teste.txtAgora você pode digitar qualquer texto. Quando terminar, pressione Crtl + d em uma linha vazia parafinalizar a entrada de dados e salvar o arquivo teste.txt.Para ver o conteúdo: $ cat teste.txt.6.2 HeadUsoHead [opções] arquivosO 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.txt7. Configuração das interfaces de rede.7.1 Básico de rede IPUm 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. 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 eparalela), 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 arede e na parte que endereça o sistema (host). Se você tiver um endereço IP, defina para 1 os bits que sãoparte 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éma máscara da rede. Tradicionalmente, redes IP foram agrupadas em classes cujas partes do endereço de rede foram decomprimento 8, 16 ou 24 bits. endereços IP máscara rede comprimentoClasse A 1.0.0.0 - 126.255.255.255 255.0.0.0 = /8Classe B 128.0.0.0 -191.255.255.255 255.255.0.0 = /16Classe C 192.0.0.0-223.255.255.255 255.255.255.0 = /24Endereç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çostêm a garantia de não conflitar com nenhum endereço no domínio da Internet. (Pelo mesmo motivo, se umdesses 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çaTranslação de Endereço de Rede (Network Address Translation).) Essas faixas de endereços são dadas natabela a seguir junto com o número de faixas em cada classe. endereços de rede compr. quantidadeClasse A 10.x.x.x /8 1Classe B 172.16.x.x - 172.31.x.x /16 16Classe 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çode broadcast da rede. Todos os outros endereços podem ser alocados a sistemas na rede. Desses, o primeiroou 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 seusdestinos. 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 redecorporativa 172.20.x.x/16 e o sistema 192.168.50.254 (também na LAN) é um roteador para a Internet paratodos. # route Kernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface127.0.0.0 * 255.0.0.0 U 0 0 2 lo192.168.50.0 * 255.255.255.0 U 0 0 137 eth0172.20.0.0 192.168.50.1 255.255.0.0 UG 1 0 7 eth0default 192.168.50.254 0.0.0.0 UG 1 0 36 eth0
  13. 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ívelAs ferramentas de configuração de rede de baixo nível tradicionais nos sistemas GNU/Linux são osprogramas ifconfig e route que vêm no pacote net-tools. Essas ferramentas oficialmente foram superadaspelo ip que vem no pacote iproute. O programa ip funciona no Linux 2.2 e superiores e é mais capaz que asferramentas antigas. Entretanto, as ferramentas antigas ainda funcionam e são mais familiares a muitosusuários.7.3 Configuração de rede de baixo nível – ifconfig e routeAqui está uma ilustração de como mudar o endereço IP da interface eth0 de 192.168.0.3 para 192.168.0.111e tornar a eth0 como rota para a rede 10.0.0.0 via 192.168.0.1. Nós começamos executando ifconfig e routesem 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. 14. Debian para servidores 14 Carlos MeloPrimeiro 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 broadcast192.168.255.255 # route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.1 dev eth0O 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 tableDestination Gateway Genmask Flags Metric Ref Use Iface192.168.0.0 * 255.255.0.0 U 0 0 0 eth010.0.0.0 192.168.0.1 255.0.0.0 UG 0 0 0 eth0Para adicionar uma rota padrão para a saída dos pacotes, em outras palavras adicionando o caminho parainternet:#route add default gw IP_servidor_de_compartilhamentoPara adicionar o servidor de DNS deve-se adicionar no arquivo /etc/resolv.conf a adicionar uma linha com oservidor de DNS.#vi /etc/resolv.confnameserver IP_do_servidor_DNS
  15. 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 conceitosbásicos. Ele pode ser encontrado não apenas no Debian, Ubuntu e no Carlos, mas em outras distribuiçõesbaseadas no Debian, como o Xandros, Memphis e até mesmo no Linspire. Ferramentas como o urpmi, doMandrake, 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 pacotesde praticamente qualquer lugar, incluindo CD-ROMs do Debian, unidades de rede, etc. Mas o meio maisusado é justamente baixar os pacotes via internet, o que permite obter sempre as versões mais recentesdos programas. Para usar o apt-get, o primeiro passo é rodar o comando "apt-get update", que faz com que oapt-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 umpode ser encontrado e qual endereço contém a versão mais recente. Este comando deve ser executadoperiodicamente. O ideal é que você o use uma vez por semana, ou sempre que for fazer algumainstalação importante:# apt-get update Lembre-se de que para virar root, basta digitar "su" no terminal e fornecer a senha configuradadurante 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 opacote principal todos os pacotes necessários sem deixar dependências, depois de te pedir umaconfirmação.Terminada a instalação, o proftpd já está pronto para usar. Isto se repete para qualquer um dos mais de20.000 pacotes atualmente disponíveis nos repositórios que vêm ativados por padrão no Debian. Bastasaber o nome do programa e você pode instalá-lo rapidamente a qualquer momento. Você pode ver umalista 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 atualizadae, em caso afirmativo, já a baixa e instalada automaticamente. Caso contrário, ele simplesmente avisaque a versão mais recente já está instalada e não faz nada. Quando você não se lembrar do nomecompleto 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. 16. Debian para servidores 16 Carlos Melo Uma vez instalado o programa, o comando para chamá-lo pelo terminal (em 99% dos casos) é opró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 realplayrealplayer: /usr/bin/realplayEm 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-oindicando 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 donome 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ãomantidas. Ao atualizar o Firefox ou o Konqueror, por exemplo, você não perde seus bookmarks. Issoacontece porque as configurações e arquivos referentes aos programas são armazenados em pastasocultas 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 estesarquivos, 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 dospacotes. Quando um pacote traz uma nova versão de um determinado arquivo de configuração, mas oapt-get percebe que o arquivo anterior foi alterado por você, ele pergunta se você quer manter o arquivoatual 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 asubstituiçã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 ouantes de instalar qualquer programa ou atualização importante. Assim você terá certeza de que o aptinstalará 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éma necessidade de estar sempre instalando versões mais recentes da distribuição, já que você pode iratualizando os programas mais usados sempre que souber de uma versão mais nova. É possível tambémremover pacotes instalados, neste caso usando o parâmetro "remove", como em:# apt-get remove proftpdCaso os arquivos referentes ao programa tenham se corrompido de alguma maneira (desligamentosincorretos, 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. 17. Debian para servidores 17 Carlos Melo# apt-get install emacLendo Lista de Pacotes... ProntoConstruindo Árvore de Dependências... Prontoemac já é a versão mais nova.Adicionando o "--reinstall" ele prossegue com a instalação, mesmo que o pacote já seja a versão maisrecente, substituindo todos os arquivos referentes a ele e resolvendo o problema.# apt-get install --reinstall emacsFinalmente, existe a opção de atualizar todo o sistema, o que é feito usando os comandos:# apt-get update# apt-get upgradeConfigurando o apt-get numa rede com proxy transparente.# vi /etc/apt/apt.confE 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/profilePronto !OBS: Você também deve informar o endereço e a porta do seu Servidor Proxy (SQUID), no exemplo foiutilizado o IP: 192.168.1.254 e a Porta: 3128, altere para o IP e Porta do seu servidor de proxy e salve oarquivo.8. Configurando o compartilhamento de rede - iptables. Muitas vezes temos em casa mais de um computador e nossa conexão nao permite ocompartilhamento ou até você tem uma conexão de Dial-up em um servidor e gostaria de dividir ela com arede corporativa. Os passos abaixo vão ajudá-los.RequerimentosSe 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 forcompartilhar a internet, e sua conexão for ADSL/3G, então mantenha a seguinte estrutura
  18. 18. Debian para servidores 18 Carlos MeloPlaca de rede 1 ( eth0 ) - conexão com a internetPlaca 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 darede local; Inicialmente você já deve ter um IP configurado para comunicação com o seu modem, paraverificar qual é o seu IP, abra um terminal (xterm, konsole, gnome-terminal... ) e digite o seguinte comando/sbin/ifconfiga 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:0xc400lo 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 umaconexão da banda larga ( velox ), esse IP é pego automaticamente por um cliente DHCP no caso, este IP podevariar, pode ser uma rede exclusiva como 192.168.10 ou outra coisa qualquer. Bom, se a sua rede for200.xxx.xxx.xxx você pode usar qualquer IP para sua rede interna; Mas se sua rede for 192.168.10.0
  19. 19. Debian para servidores 19 Carlos Melodeveremos usar uma rede 192.168.1.0 para separar as duas. Então, inicialmente vamos configurar a rede, noDebian, abra o seguinte arquivo:/etc/network/interfacesEsse 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 interfaceauto loiface lo inet loopback# The primary network interfaceauto eth0iface eth0 inet dhcpAbra o arquivo como super usuário, agora com isso, voce pode abrir pelo terminal o seu editor de textofavorito, 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 poreth0 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.0com isso, podemos salvar o arquivo e fechar o editor de texto para carregar essas configurações execute osseguintes comandos:/etc/init.d/networking stop/etc/init.d/networking startConfigurando a segunda estaçãoBom, se sua segunda estação for debian, você pode usar o mesmo esquema pra configurar, caso seja outradistribuição, ou seja Windows,verifique onde ficam as configurações para sua versão, o importante é que aestação tenha os seguintes dados:ip: 192.168.20.2mascara de rede: 255.255.255.0dns: 192.168.20.1gateway: 192.168.20.1com isso configurado, tente dar o seguinte comando da estação que acabou de configurar:
  20. 20. Debian para servidores 20 Carlos Meloping 192.168.20.1a saída do comando deverá ser algo semelhante ao abaixoPING 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 msse der algo como timeout, ou outro tipo de erro, então sua conexão não esta funcionando se a saída for aacima, então está tudo ok, e podemos passa para o próximo passo.8.2 Criando um Script para compartilhamento de internetAgora, precisamos montar o script para compartilhar a internet, então abra um editor de texto qualquer, eacrescente os seguintes dados dentro:#!/bin/bashecho "1" > /proc/sys/net/ipv4/ip_forward# Limpando as tabelasiptables -Fiptables -t nat -Fiptables -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 ppp0iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEOk, agora, pode salvar, e fechar o editor de texto8.3 Colocando na inicialização da máquinaCom o usuário root, você ira mover este arquivo, o script criado acima, para o diretorio /etc/init.d/ entãosupondo que você chamou o arquivo de “compartilhamento, você irá executar o seguinte comandomv 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/compartilhamentoAgora execute o arquivo digitando:#/etc/init.d/compartilhamentoFeito isso, agora temos que criar uma chamada para ele na inicialização, vá ate o diretório
  21. 21. Debian para servidores 21 Carlos Melo/etc/rc2.d usando o seguinte comando#cd /etc/rc2.de 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 DHCPD9. Configuração de RedeAo 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:0x210Caso o parâmetro MULTICAST não esteja presente, deve-se reconfigurar o kernel para sua adição. Em muitossistemas isso não será necessário.O próximo passo será adicionar a rota 255.255.255.255. Apresentamos um extrato retirado ao arquivoREADME do DHCPd:"Para que o dhcpd funcione perfeitamente, escolha alguns clientes DHCP (por exemplo Windows 9x), quesejam capazes de enviar pacotes com um endereço IP de destino 255.255.255.255. Infelizmente o Linuxteima em mudar 255.255.255.255 no endereço de divulgação da subrede local (neste caso 192.5.5.223). Issocria 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 mensagemDHCPOFFER enviada pelo servidor."Digite:#route add -host 255.255.255.255 dev eth0caso 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-onestente então:
  22. 22. Debian para servidores 22 Carlos Melo#route add -host all-ones dev eth0ou#route add -net 255.255.255.0 dev eth0eth0 é obviamente o nome do dispositivo de rede que está sendo usado. Caso seja diferente, faça as devidasalterações.9.1 Opções do DHCPdAgora é 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.100ou 192.168.1.150-192.168.1.200. Ele liberará um endereço por 600 segundos caso o cliente não defina umtempo específico de utilização de endereço. De qualquer forma o tempo máximo permitido será de 7.2segundos. 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 porexemplo: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 a08: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. 23. Debian para servidores 23 Carlos Meloendereços de servidores Windows, servidores de data e horário, etc... Caso se necessite alguma destasopções por favor verifique a página de manual on-line do dhcpd.conf.9.3 Inicializando o ServidorPodemos agora acionar o servidor DHCP. Basta simplesmente digitar ou incluir nos programas deinicialização do sistema:/usr/sbin/dhcpdCaso se deseje verificar se tudo está funcionando perfeitamente, deve-se acionar inicialmente o modo dedepuração e colocar o servidor em primeiro plano. Isso pode ser feito através do comando:/usr/sbin/dhcpd -d -fInicialize algum dos clientes e verifique a console do servidor. Deverão ser apresentadas diversas mensagensde depuração.10. Configurando o servidor de DNS10.1 Instalando um Servidor DNSBom, para que o nosso servidor de nomes ( DNS ) possa ser a nossa maquina, necessitamos instalar umservidor de DNS nela, nesse caso usaremos o bind9, instale usando o apt#apt-get install bind9A configuração padrão da instalação, já o libera para resolver nomes, então com isso podemos mandar umping da estação:#ping www.google.com.brA saída deverá ser semelhante a abaixoPING www.uol.com.br (200.221.2.45): 56 data bytes64 bytes from 200.221.2.45: icmp_seq=0 ttl=55 time=10.4 msAdaptação: Retirado dehttp://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 adefinição de quais processos serão executados por cada nível de execução é feita pela hierarquia dediretó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 nosistema. 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. 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 runlevelexistem links simbólicos para os scripts dos serviços nos arquivos em /etc/rc.d/init . Estes links simbólicosseguem 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 cargapara o diretório /etc/rc.d/init.d e criar um link simbólico para o script no runlevel desejado seguindo estanomenclatura.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/S25mailman12. Entendendo SMB e NetBIOSAplicações de compartilhamento de arquivos e impressoras de Microsoft Windows são baseados emNetBIOS (Network Basic Input Output System). O BIOS define a interface de aplicações usadas para solicitarserviç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 produtooriginal para se tornar parte de Windows for Workgroups, LAN Manager, Windows 95/95/ME e WindowsNT/2000.Originalmente, o NetBIOS era um protocolo monolítico, que levava dados de todos os modos de aplicaçãopara rede física. O NetBIOS mudou com o passar do tempo para um protocolo em camadas. Suas camadasincluem 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 degrandes internets. Isto é feito encapsulando as mensagens NetBIOS dentro de datagramas TCP/IP. Oprotocolo 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 redeNetBIOS, para os endereços IP de uma rede TCP/IP. Existem três métodos:
  25. 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 detramissã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 seusclientes. 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 NetBIOSa 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ó debroadcast (b-node). Broadcating só tem efeito em uma rede física que suporta broadcast, e normalmenteestá limitado a uma única sub-rede. p-node – Um sistema que consulta diretamente um servidor de nome NBNS para solucionarendereç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ãoobter 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 problemacom m-node é que usa a abordagem de broadcast, menos desejável, primeiro. Na prática, m-nodes sãomuitos raramente usados. h-node – Um sistema que primeiro tenta solucionar o endereço usando o servidor NBNS; e entãovolta 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 NetBIOSEmbora a instalação do software Samba ainda não tenha sido discutida, este é um bom lugar para discutir odaemon NetBios Name Server (nmdb) e como é configura. O nmbd é parte da distribuição do softwareSamba básica que transforma um servidor Linux em um servidor NBNS. O nmbd pode controlar consultas deWindows 95/98/ME/NT/2000 e cliented LanManeger, e porde ser configurado para agir com um servidorWINS.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 emdetalhes. 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 umservidor WINS. no é o default, assim por default, nmbd fornece controle de navegação, mas não forneceserviço WINS. dns proxy – Ajuste yes ou no. Esta opção dis para o nmbd usar DNS para solucionar consultas WINSque ele não pode solucionar de nenhum outro modo. Isto só é significante se o nmbd estiver executando
  26. 26. Debian para servidores 26 Carlos Melocomo um servidor WINS. O defaut é yes. DNS pode ajudar com resolução de nome NetBIOS somente senomes 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ãoestiver executando um servidor WINS em seu sistema Linux. Esta opção diz ao Samba o endereço do servidorWINS 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 mensagensde broadcast de consultas de nome NetBIOS transformando-as em consultas unicast e as enviandodiretamente para o servidor WINS. Se wins support = yes estiver ajustado, estas consultas são controladaspelo próprio nmbd. Se, ao contrário, wins server estiver ajustado, estas consultas são enviadas ao servidorexterno. A opção wins proxy é necessária apenas se os clientes não sabem o endereço do servidor ou nãoentendem 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 DHCPque definem a configuração de NetBIOS de um cliente. Para definir o endereço do servidor NBNS, entre aseguinte 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 -DQuando iniciado com a opção – D, o nmbd executa continuamente, escutando por solicitações de serviço denome NetBIOS na porta 137. O servidor responde solicitações usando dados de registro coletados de seuscliente 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 mapeamentodefinido no arquivo Imhosts. (Você pode chamar este arquivo de qualquer coisa que deseje, mas o nometradicional é Imhosts.)O arquivo Imhosts está lá de forma que você possa fornecer mapeamento de endereço manualmente para oservidor quando for necessário, entretanto, normalmente não é necessário. A maioria dos servidores WINSnão precisa de um arquivo Imhosts porque os servidores descobrem mapeamento de endereçodinamicamente dos clientes e outros servidores. Nomes NetBIOS são registrados por eles mesmos; os clienteregistram os seus nomes NetBIOS com o servidor quando eles inicializam. Os endereços e nomes sãoarmazenados no banco de dados do WINS; wins.dat. Imhosts é só uma parte pequena do banco de dadostotal.Os arquivos ImhostsO arquivo Imhosts contém mapeamentos de nome estático para endereço. O arquivo é semelhante aoarquivo hosts descrito no COLOCAR ARQUIVO MODELO DE HOSTS, “Serviços de nome Linux”. Cada entradacomeça com um endereço IP que é seguido por nome de host. Porém, agora o nome de host é o nomeNetBIOS. A Listagem 9.8 é um arquivo Imhosts de exemplo.Listagem 12.1 – Um arquivo Imhosts exemplo.$ cat /etc/Imhosts172.16.5.5 crow172.16.5.1 wren
  27. 27. Debian para servidores 27 Carlos Melo172.16.5.2 robin172.16.5.3 hawkDado este arquivo Imhosts, o nome NetBIOS robin mapeia para o endereço IP 172.16.5.2. Observe que estesnomes NetBIOS são iguais aos nomes de host TCP/IP atribuídos a estes clientes. Você sempre deve usar osmesmos nomes de host para seus sistemas NetBIOS e TCP/IP. Caso contrário, limita suas escolhas deconfiguraçã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çãode Samba para fazer apenas isso.Instalando o SambaServiç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 paraselecionar 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 sistemaLinux.O samba é incluído na maioria das distribuições Linux, e pode ser instalado durante a instalação de sistemainicial. 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 apropriadosexecutam no momento da inicialização. Em nosso sistema Red Hat de amostra, o script é smb, e nós usamoseste comando chkconfig para ter certeza de que o script executará na inicialização:[root] # chkconfig -list smbsmb 0:off 1:off 2:off 3:off 4: off 5: off 6: off[root] # chkconfig -level 35 smb on[root] # chkconfig -list smbsmb 0:off 1:off 2:off 3:on 4: off 5: on 6: offO primeiro commando chkconfig mostra que, embora o RPM dos Samba esteja instalado nes system, o smbnão foi configurado para executar a inicialização. O segundo comando chkconfig faz o smb executar nosní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 startStanting SMB services: [ OK ]Stanting NMB services: [ OK ][root] # service smb statussmbd (pid 5341) is running…nmbd (pid 5346) is running…
  28. 28. Debian para servidores 28 Carlos MeloComo 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 SambaO servidor Samba é configurado pelo arquivo smb.conf. Olhe no script de inicialização para ver onde o smbdespera 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á emseu sistema.O arquivo smb.conf está dividido em seções. Com exceção da seção global que define parâmetros deconfiguração para o servidor inteiro, as seções são nomeadas depois dos compartilhamentos. Umcompartilhamento é um recurso oferecido pelo servidor aos clientes. Neste contexto, é um sistema dearquivos que é oferecido pelo servidor para os clientes usarem para compartilhamento de arquivos. Umcompartilhamento 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 aslinha que tratam de compartilhamento de impressoras, o arquivo smb.conf do Red Hat contém as linhasativas 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 = 0775As variáveis do smb.confLer um arquivo smb.conf pode ser confuso se você não entende as variáveis encontradas no arquivo. ATabela 9.3 lista cada variável e o valor delas.
  29. 29. Debian para servidores 29 Carlos MeloTabela 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 SambaVariáveis fornecem flexibilidade porque cada variável é substituída na configuração por um valor obtido dosistema. Isto permite interpretar a mesma declaração de configuração diferentemente em situaçõesdiferentes. Aqui está um exemplo do arquivo smb.conf do Red Hat na Listagem 9.9:Log file = /var/log/samba/%m.logNeste exemplo, a variável %m é substituída pelo nome NetBIOS do cliente, assim um arquivo de registrodiferente é criado para cada client que usa o nome NetBIOS do cliente. Se o nome NetBIOS do cliente forcrow, 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.confO arquivo de configuração de exemplo do Red Hat contém duas seções: global e homes. A seção globaldefine vários parâmetros que afetam o servidor inteiro. Os parâmetros na seção global do smb.conf do RedHat 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 formaque diretórios organizam recursos de arquivo. E é usado pela mesma razão: computadores agrupados emgrupos de trabalho ajudam um usuário a localizar sistemas relacionados. Grupos de trabalho não são usadospara segurança. Hosts que não estão no grupo de trabalho ainda são autorizados a compartilhar arquivoscom sistemas que estão. Substitua o nome MYGROUP no exemplo por um nome de grupo de trabalhosignificante de 15 caracteres ou menos. server string – Define o comentário descritivo para este servidor. A string é exibida pelo comandonet view em clientes Windows, assim fornece uma oportunidade para você descrever o servidor. Mude astring no exemplo para significante para seu sistema.
  30. 30. Debian para servidores 30 Carlos Melo Log file (arquivo de registro) – Define o local do arquivo de registro. A coisa mais interessante sobreesta 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 arquivoem kilobyte. O default é 5MB, ou 5.000KB. Se o tamanho máximo for excedido, o smbd fecha o registro e orenomeia 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çõespossí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 queiramusar o recurso compartilhado. user – Solicita segurança em nível de usuário. A todo usuário é exigido entrar com um nome deusuário e uma senha associada. Por default, isto é o nome de usuário e senha definidos em /etc/passwd queo usuário usa para se registrar ao servidor Linux. O valor default para senhas pode ser mudado, como nósveremos 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 serdefinido pela opção password server. domain – Define segurança em nível de domínio. Neste esquema, o servidor Linux une um domínioWindows NT e usa o controlador de domínio Windows NT como o servidor que aprova nomes de usuário esenhas. 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 esteparâmetro para yes torna o servidor mais compatível com os clientes Windows, e o torna mais difícil paraintrusos detectarem senhas da rede. Senhas criptografadas são mais seguras. Se este parâmetro for ajustadoem no, senhas de texto claro são usadas, o que requer mudanças nas configurações de cliente. Veja asidebar “Senhas de texto claro” para informações sobre as mudanças no Register que são necessárias paratornar 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 senhascriptografadas 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 doRed 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 oitokilobytes, o que pode aumentar ligeiramente o desempenho. Um estudo detalhado de ajuste dedesempenho de Samba seta além do escopo deste livro. Veja o capítulo 12 de Linux Samba Serve
  31. 31. Debian para servidores 31 Carlos MeloAdminstration por Rod Smith (Sybex, 2000) para uma boa discussão sobre o ajuste de desempenho deSamba. 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 consultasNBNS não resolvidas ao DNS.Senhas de texto claroQuando 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 commuitas versões de Windows, porque estas versões requerem senhas criptografadas. Para forças estesclientes a usar senhas de texto claro, você tem que editar o Register de todos os clientes. Para Windows95/98/ME, a configuração de Registro é[HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDVNETSUP]“EnablePlainTextPasswords”=dword:00000001Em Windows NT, a configuração é:[HKEY_LOCAL_MACHINESystemCurrentControlSetServices->RdrParameters]“EnablePainTexPasswords”=dword:00000001Em Windows 2000, a configuração é:[HKEY_LOCAL_MACHINESystemCurrentControlSetServices->LanmanWorkStationParameters]“EnablePainTexPasswords”=dword:00000001Senhas de texto claro não são tão seguras quanto a senha criptografada. Adicionalmente, manter doisbrancos de dados em um servidor Linux é normalmente mais simples que editar o Register em todos osclientes Windows. Por isto, a maioria dos administradores acha que as senhas criptografadas são melhores edã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 exemplosem mudar quaisquer destes parâmetros globais. A outra seção no arquivo de configuração de exemplo quese relaciona ao compartilhamento de arquivos é a seção homes.12.3 A seção homes do smb.confA seção homes é uma seção de compartilhamento especial. Diz ao smbd para permitir aos usuários acessarseus próprios diretórios home através o SMB. Ao contrário de outras seções de compartilhamento cobertasdepois, a seção homes não diz ao smbd o caminho específico do diretório sendo compartilhado. No lugar, osmbd usa o diretório home do arquivo /etc/passwd baseado no nome de usuário do usuário que solicita ocompartilhamento. É esta seção especial que torna o diretório home de um usuário no servidor disponívelpara 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. 32. Debian para servidores 32 Carlos Melo creat mode = 0664 directory mode = 0775Os 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 decomentário da janela Network Neighborhood (vizinhaça de rede) quando este recurso é visto em um sistemaMacrosoft Windows. browsable – Especifica se todos os usuários podem enxergar ou não os conteúdos deste recursocompartilhado . no significa que somente usuários com permissão específica (quer dizer, o ID de usuáriocorreto) 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 aosconteú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 recursocompartilhado pode ser escrito. Se no, o recurso é somente leitura. Este parâmetro define as açõespermitidas 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 doRed Hat, o nome de serviço (%S) é usado. creat mode – Define a permissão de arquivo usada quando um arquivo é criado nestecompartilhamento. (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 nestecompartilhamento.As seções global e homes descritas estão incluídas na configuração de exemplo do Red Hat. Tendo umacompreensão dos elementos usados para criar estas seções, você está pronto para criar sua própria seção decompartilhamento no arquivo smb.conf.12.4 Compartilhando um diretório através do SambaPara compartilhar um diretório através de Samba, crie uma seção de compartilhamento no smb.conf quedescreva o diretório e as condições sob as quais você está disposto a compartilhá-lo. Para compartilhar odiretó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 deexemplo.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. 33. Debian para servidores 33 Carlos Melo browsable = no writable = yes create mode = 0750 hosts allow = .sales.foobirds.orgCada seção de compartilhamento está rotulada com um nome significativo. Este nome é exibido como umapasta 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 recursocompartilhado, até mesmo se eles não tiverem um nome de usuário ou senha válidos. A estes usuáriospúblicos é dado acesso de “conta de convidado” para o compartilhamento. Em um sistema Linux, istonormalmente significa que eles executam como usuário nobody e grupo nobody, e estão limitados apermissões mundiais.12.5 Configurando permissões de arquivo e de diretórioO recurso sales está sendo oferecida como um diretório que pode ser escrito. O comando create modecontrola as permissões usadas quando um cliente escrever em um arquivo do diretório/home/sales. NaListagem 9.10 de exemplo, é especificado que os arquivos serão cridos com permissõesleitura/escrita/execução para o proprietário, leitura/execução para o grupo, e nenhuma permissão para omundo (750). Um comando relacionado, directory mode, define a permissão usada quando um cliente criarum diretório dentro do diretório compartilhado. Por exemplo:directory mode = 0744Isto 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, quepermite aos comandos cd e Is trabalhar como esperado, porque os diretórios têm que ter o bit executarajustado para todos os usuários, para que o comando de mudança de diretório (o cd) funcionecorretamente.12.6 Limitando o acesso a um recurso compartilhadoA seção sales também contém um comando hosts allow, que define os clientes que serão autorizados aacessar este recurso. Até mesmo se um usuário tiver o nome de usuário e senhas corretos, eles estãoautorizados 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 doNFS. 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. Comoo 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 recursocompartilhado.
  34. 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 teracesso ao recurso compartilhado, com exceção aos hosts na sub-rede 172.16.99.0172.16 pode ser a rede deempresa, e 172.16.99 pode ser uma sub-rede não confiável, onde computadores acessíveis publicamenteestão localizados.Além do comando hosts allow, há o comando hosts deny, que define computadores que têm acessoexplicitamente 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 doRed 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 recursoscompartilhados publicamente. E oferece diretórios privados que só são acessíveis a membros do gruposelecionado. Isto fornece tudo o que NFS ofereceu de uma maneira que é muito mais simples para clientesMicrosoft Windows usarem.É claro que você não está limitado a servir somente clientes Windows. Sistemas Linux também podem serclientes Samba.12.8 Usando um cliente Samba do LinuxO NFS é o modo mais comum para compartilhar arquivos ente sistemas Linux, e recursos como autofs emontagem de fstab tornam a integração NFS em um cliente Linux muito transparente. Mas nem todos osservidores são servidores Linux. É possível que você vá precisar configurar um sistema Linux como um clientepara um servidor Windows NT/2000, ou até mesmo como um par para um desktop Windows. Para estassituações, use as ferramentas de cliente do Samba.Usando smbclientO programa smbclient é uma ferramenta para transferir arquivos de um sistema oferecendocompartilhamento SMB. É particularmente útil para transferir arquivos com sistemas Windows que não têmsoftware de servidor FTP. O smbclient age como uma ferramenta FTP para arquivos compartilhados peloSMB. A Listagem 9.11 ilustra isto.Listagem 12.7 – Como usar smbclient.$ smbclient //robin/temp -W sybexAdded interface ip=172.16.5.2 bcast=172.16.5.255 nmask=255.255.255.0Passaword: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 availablesmb: > get alana1.jpggetting file Alana1.jpg as alana1.jpg (average 158.0 kb/s)smb: > quit
  35. 35. Debian para servidores 35 Carlos MeloA ferramenta smbclient é invocada pelo comando smbclient. O recurso que você está acessando é descritona linga de comando que usa o Microsoft Uniform Naming Convertion (convenção de nome uniforme daMicrosoft) (UNC). O formanto UNC é //server/sharename, onde server é o servidor de nome NetBIOS, esherename é o nome do recurso compartilhado.Se uma senha para o recurso compartilhado é requerida, que pode ser o caso se o servidor usar segurançaem nível de compartilhamento, ela segue o UNC na linha de comando. No exemplo da Listagem 9.11, asegurança em nível de compartilhamento é usada, mas a senha não é fornecida na linha de comando, assimo 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 usarseguranç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 usandoexatamente 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 é abase para várias outras ferramentas de cliente que são os scripts shell que usam smbclient para que otrabalho seja feito. Um modo mais natural para integar arquivos de servidor SMB no sistema de arquivosLinux é com smbfs.12.9 Usando o smbmountO sistema de arquivo SMB (smbfs) lhe permite montar compartilhamentos SMB, e os usar como se elesfizessem parte do sistema de arquivo Linux. Par funcionar, o kernel tem que suportar o sistema de arquivosmbfs. 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/filesystemsnodev procnodev sockfsnodev tmpfsnodev shmnodev pipefs ext2 iso9660nodev devpts ext3 vfatnodev autofsnodev 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 ouconfigurados como módulos carregáveis. É claro qu módulos carregáveis não soa carregados a menos quesem 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.

×