
















































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Apostila Linux
Tipologia: Notas de estudo
1 / 88
Esta página não é visível na pré-visualização
Não perca as partes importantes!

















































































Alexandre Folle de Menezes Carlos E. Morimoto David Wood Elvis Pfützenreuter Victor F. F. Zucarino
Alexandre Folle de Menezes
Versão 1.3, setembro/2002.
encontrados na Internet, conforme referências acima.
Este material foi totalmente montado com fins didáticos, sem objetivo
comercial. Foram acrescentados exemplos e exercícios desenvolvidos
pela Alfamídia Ltda.
Linux. Muita coisa já está em nosso idioma facilitando os iniciantes e interessados em leitura. Muitos sites nacionais são especializados em Linux e Segurança para Linux. O Samba vem substituindo vários servidores Windows, OS/2, Netware e Unix. Se for necessária uma solução estável e segura para Servidor de Arquivos da rede, o SAMBA é uma grande opção. Há também a vantagem de ser licensiado pela GPL, com livre distribuição, sem limite de usuários ou custos por licença.
O protocolo SMB é usado pelo Microsoft Windows 3.11, Windows NT e Windows 95/98 para compartilhar discos e impressoras. Usando o conjunto de ferramentas do Samba de Andrew Tridgell ([email protected]), máquinas UNIX (incluindo Linux) podem compartilhar discos e impressoras com máquinas Windows. As ferramentas smbfs de Paal-Kr. Engstad ([email protected]) e Volker Lendecke ([email protected]) habilitam máquinas Unix a montar compartilhamentos SMB de hospedeiros Windows ou SAMBA.
Os sistemas operacionais da série Windows seguem a tradição iniciada ainda nos tempos do DOS de compartilhar seus recursos, como arquivos, impressoras e outros, em rede através de um conjunto de protocolos atualmente conhecido pela sigla CIFS (Common Internet File System), mas que originalmente recebia o nome de Server Message Block (SMB) - de fato, o SMB continua vivo, incluído nas especificações do CIFS.
O conjunto SMB/CIFS pode ter uma série de desvantagens técnicas, mas tem a seu favor uma circunstância especial: a quantidade de usuários, já que todos os computadores com Windows, desde a versão 3.11, podem ser facilmente convertidos em clientes ou servidores CIFS, e cujo número é imenso.
Entretanto, o SMB não tinha suporte nativo no Unix, o que dava margem a todo tipo de problemas para os administradores de redes mistas, pois tinham que instalar clientes Unix de protocolos "tradicionais" como NFS, LPD, nas máquinas Windows ou moviam os serviços para os servidores NT, que, na época, ainda eram uma novidade, abrindo mão da robustez e das demais vantagens.
É neste ponto que surge em nosso cenário o estudante australiano Andrew Tridgell, que na busca por razões para adiar o início de sua tese, resolveu entender como funcionava o Pathworks, um servidor de arquivos da Digital. A conseqüência direta foi o surgimento de um sistema capaz de exportar sistemas de arquivos de máquinas Unix, de forma que pudessem ser acessados a partir de máquinas DOS rodando o cliente do Pathworks. Embora Tridgell não soubesse, o Pathworks utilizava justamente o mesmo protocolo do
Windows, o SMB, e logo outros usuários descobriram que podiam usar o mesmo software para se comunicarem com máquinas Windows de suas redes. Eles avisaram Tridgell, mas por estranho que pareça, ele não acreditou!
Meses mais tarde, Tridgell instalou uma rede em sua própria casa, com computadores rodando Linux e Windows, e resolveu experimentar o que ele próprio julgava impossível. Como podemos imaginar, ele ficou bastante surpreso ao ver que estava errado. Aliás, a documentação do Samba diz que até hoje a esposa dele imprime documentos, a partir do Windows, na impressora conec-tada à máquina Linux de Andrew.
A partir daí, o projeto se desenvolveu rapidamente. Surgiu o nome Samba, que inclui as 3 letras do protocolo SMB, e outros integrantes, com destaque para Jeremy Allison, se juntaram à equipe de desenvolvimento e novas funcionalidades foram adicionadas. O software se desenvolveu a ponto de realizar todas as tarefas que veremos a seguir, com qualidade e estabilidade superiores a algumas das alternativas. De fato, já em 1998 a SGI chegou a afirmar publicamente que seus servidores Origin rodando Samba apresentam performance superior à de um servidor Windows - o que equivale a dizer que o servidor de arquivos Windows mais rápido do mundo não rodava Windows...
O Samba não é usado apenas nos servidores Linux. De fato, empresas como a SGI, Veritas, HP, Cobalt e Whistle comercializam produtos que incluem suporte a compartilha-mentos baseados no Samba. Mas ele sempre esteve intimamente ligado ao Linux, desde a rede doméstica do seu criador, passando pela escolha da licença GPL de sua distribuição e pela existência de suporte exclusivo para o Linux, e não para outros tipos de Unix, em alguns componentes do sistema, como o smbfs. O que poucos sabem é que Andrew Tridgell teve participação muito importante em um momento histórico do sistema: foi ele quem levou Linus Torvalds a um zoológico em Canberra, dando a ele a oportunidade de ser bicado por um pingüim - fato que teve papel vital, anos mais tarde, na escolha desta ave como símbolo do Linux.
O Samba oferece a maior parte das funcionalidades dos servidores Windows, sem a necessidade de adquirir suas dispendiosas licenças e, melhor do que isso, sem expor sua rede às famosas telas azuis da morte, nem à necessidade de reinicializações a cada mudança de configuração. O Samba é um produto maduro, flexível e muito bem documentado.
Pode parecer difícil de acreditar a princípio, mas as máquinas Windows de sua rede irão "ver" o seu servidor Linux com Samba como se fosse outra máquina Windows - incluindo ícones na janela Ambiente de Rede, a possibilidade de mapear drives remotos, imprimir nas impressoras do servidor, e muito mais.
O seu servidor Linux com Samba pode até atuar como o controlador primário do domínio (PDC), tarefa normalmente exclusiva do Windows NT 4 Server. Encontramos na literatura relatos de domínios com PDCs baseados em Samba, nos quais conviviam simultânea e pacificamente máquinas rodando
2 O PROTOCOLO NETBIOS
O protocolo NetBIOS foi concebido para ser simples de configurar e usar em redes pequenas. Porém, essa aparente simplicidade desaparece em qualquer instalação que contém duas ou mais redes Ethernet. É o que eu chamo de "curva de aprendizado exponencial", característica que o NetBIOS compartilha com o Windows, Visual Basic e assim por diante. Outros procolos (TCP/IP) e softwares (Linux) obrigam seus usuários a ter um conhecimento relativamente profundo por mais simples que seja a tarefa; porém não reservam "surpresas" para instalações de complexidade crescente. Portanto, desenham uma curva de aprendizado logarítmica, de que tanto gostam os Linuxers.
Erro! Argumento de opção desconhecido. Não obstante, o NetBios - assim como o DHCP, para quem o conhece - tem o seu valor, e, uma vez dominados seus conceitos, pode ser útil e muito adequado até mesmo em redes sem máquinas Windows.
Erro! Argumento de opção desconhecido. NetBIOS é um protocolo de transporte e de sessão, de uso geral, mas primariamente destinado a serviços de arquivo e impressão. Nesse último aspecto, é semelhante ao protocolo NCP da Novell. Porém o NCP é um protocolo de sessão; o transporte é feito pelo protocolo subjacente IPX (embora será muito difícil encontrar uma instalação onde IPX e NCP não estejam "empilhados").
Erro! Argumento de opção desconhecido. Para quem não sabe, protocolo de transporte é aquele que leva UM pacote de rede da origem até o destino. Protocolo de sessão encarrega-se de dividir seqüências arbitrariamente longas de dados em pacotes (então transportados pelo protocolo de transporte) e remontá-las no destino, possivelmente ordenando a retransmissão de pacotes perdidos etc. No protocolo TCP/IP, o IP é encarregado do transporte e o TCP, da sessão.
Erro! Argumento de opção desconhecido. Como o protocolo NetBios é capaz de cuidar do transporte, não precisa ser "carregado" por nenhum outro protocolo; pode ser constituído como pacote de rede e transmitido. É isso que o protocolo NetBEUI da Microsoft faz - pega os pacotes NetBIOS in natura e transmite-os rede afora. Porém, o NetBIOS não é nativamente capaz de ser roteado; portanto, fica "preso" à rede local.
Erro! Argumento de opção desconhecido. Uma possível solução é programar os roteadores para que retransmitam pacotes NetBIOS às outras redes; assim, o pacote NetBIOS/NetBEUI acabará atingindo o seu destino, pois é recebido e analisado por absolutamente todos os computadores da organização. Essa solução tem o inconveniente de gerar um tráfego de rede infernal, e ainda mais infernal de a comunicação inter-redes for feita através de links de baixa velocidade.
Erro! Argumento de opção desconhecido. Outra solução é encapsular o NetBIOS em um protocolo de transporte que seja roteável, como o IPX ou o TCP/IP. De fato, a forma mais comum de se usar serviços NetBIOS hoje é através de TCP/IP - e é a única forma suportada pelo Samba. Como o NetBIOS não é nativamente roteável e não aceita o conceito de endereço IP ou IPX, várias extensões foram criadas para torná-lo mais adequado a uma instalação com diversas redes locais. Veremo-nas todas ao longo deste texto.
Erro! Argumento de opção desconhecido. Como o Samba suporta apenas NetBIOS encapsulado em TCP/IP, daqui por diante não falaremos mais sobre outras encapsulaçòes. Apenas vale lembrar que, ao configurar suas máquinas Windows, procure não misturar encapsulamentos diferentes. i.e. usar NetBIOS encapsulado em IPX, TCP/IP e NetBEUI todos ao mesmo tempo. Isso pode ser fonte de inúmeros problemas intermitentes e dores de cabeça. Tire o NetBEUI da lista de protocolos suportados e, se precisar usar IPX, certifique-se de que não está habilitado o transporte de NetBIOS sobre IPX.
Erro! Argumento de opção desconhecido. Como o NetBIOS se obriga a cuidar do transporte, e ao mesmo tempo não suporta números IP, ele trabalha com técnicas de broadcasting. Uma vez lançado um pacote na rede local, todas as máquinas receberão e analisarão esse pacote; apenas aquela que for a máquina-destino deverá assimilar o pacote. Obviamente existe uma identificação da máquina de destino, que é um NOME de até 15 caracteres (doravante chamado de "nome NetBIOS da máquina") e não um endereço númérico. Isso é muito diferente de uma comunicação TCP/IP "normal", onde as próprias placas de rede determinam se o pacote lhes pertence ou não, sem envolver processamento de software.
Erro! Argumento de opção desconhecido. O TCP/IP permite fazer broadcasting de uma forma muito simples: supondo uma rede local 10.30.0.0/16, o endereço de broadcasting é 10.30.255.255. Um pacote IP emitido com esse endereço será analisado a nível de software por todas as máquinas daquela rede local. É exatamente esse expediente que o NetBIOS utiliza para forçar broadcasting mesmo quando encapsulado em TCP/IP.
Erro! Argumento de opção desconhecido. O uso massivo de broadcasting torna o NetBIOS muito simples de usar em redes isoladas, pois não é necessário saber muito sobre endereços IP para que as máquinas enxerguem umas às outras. É claro que existe o custo (relativamente pequeno) de processamento, pois todas as máquinas tem de analisar todos os pacotes NetBIOS a nível de software.
Erro! Argumento de opção desconhecido. Como já foi dito, o broadcasting não combina muito bem com instalações onde há várias redes locais interligadas por roteadores. Os pacotes de broadcast não conseguem ultrapassar a fronteira do roteador. O contorno dessa limitação está descrito no tópico 4.
as demais máquinas da rede estão em outro grupo de trabalho e elegeram outro mestre.
Erro! Argumento de opção desconhecido. Se o computador-mestre for desligado, alguma outra máquina procurará pelo mestre, e não o achará. Nesse caso, uma nova eleição é efetuada. Esse é um ponto interessante do NetBIOS: redundância automática.
Erro! Argumento de opção desconhecido. Forçando um pouco os conceitos, pode-se dizer que um domínio é um grupo de trabalho onde haja pelo menos um computador "responsável" por ele - é o mestre do domínio. (Temos aqui um conceito recursivo, eu acho.)
Erro! Argumento de opção desconhecido. No mundo Windows NT, o mestre do domínio é o próprio PDC - primary domain controller. Já o Samba, que ainda não suporta completamente todas as funções de um controlador de domínio NT 1 , pode ser explicitamente configurado para ser apenas o navegador-mestre do domínio.
Erro! Argumento de opção desconhecido. O mestre do domínio compilará a lista de TODAS as máquinas do grupo de trabalho, mesmo que estejam em outras redes locais. Além disso, por ser uma máquina privilegiada, vencerá sempre as eleições para mestre da rede local, pois não faria sentido haver um mestre local e um mestre de domínio separados.
Erro! Argumento de opção desconhecido. Deve haver APENAS UM mestre de domínio por domínio. Tenha em mente que o NT costuma ser configurado em tempo de instalação para ser o mestre do domínio. Tome cuidado com isso ao instalar outras máquinas NT, e principalmente, não configure o Samba para ser mestre de domínio sem antes verificar as configurações dos servidores NT. Como não existe eleição para mestre de domínio, a presença de mais de um mestre é fonte certa de problemas, principalmente se um dos pretensos mestres de domínio for NT.
Erro! Argumento de opção desconhecido. Agora, resta saber como o mestre do domínio consegue descobrir os nomes das máquinas de fora da rede local. As bases estão nos tópicos 4 e 5, e o mecanismo prático está descrito no tópico 6.
Erro! Argumento de opção desconhecido. Como o NetBIOS utiliza-se de broadcasting, fica restrito à rede local, pelo menos nas instalações "sérias".
(^1) Uma versão futura do Samba deve trazer suporte completo a controle
de domínio e BDCs.
Para que o NetBIOS possa ultrapassar as fronteiras da rede local, três mecanismos são necessários:
Erro! Argumento de opção desconhecido. - capacidade de comunicar- se diretamente com outros computadores pelo número IP, pois só assim os roteadores aceitarão transportar os pacotes;
Erro! Argumento de opção desconhecido. - capacidade de traduzir nomes NetBIOS para números IP, para que o usuário não perca a comodidade de usar nomes NetBIOS;
Erro! Argumento de opção desconhecido. - capacidade de compilar listas que contenham todos os computadores de todas as redes da instalação.
Erro! Argumento de opção desconhecido. A implementação da Microsoft para o protocolo NetBIOS foi estendida de modo a cumprir o primeiro quesito, e uma extensão "externa" ao NetBIOS, denominada WINS, cumpre os demais quesitos.
Erro! Argumento de opção desconhecido. Assim, modernamente o NetBIOS não depende mais exclusivamente do broadcasting para fazer o transporte. Se houver um mecanismo qualquer que identifique o número IP da máquina de destino, o pacote NetBIOS encapsulado em TCP/IP será mandado diretamente ao IP do computador-destino, mesmo que esse IP esteja fora da rede local, pois os roteadores serão capazes de transportá-lo. É possível inclusive trafegar NetBIOS pela Internet pública!
Erro! Argumento de opção desconhecido. O mecanismo mais primitivo de tradução de nomes NetBIOS para endereços IP é o arquivo c:\windows\lmhosts ou /etc/lmhosts. É uma lista pura e simples dos nomes NetBIOS com os endereços IP ao lado. Logo descobre-se as desvantagens desse mecanismo: cada computador tem de ter a sua lista, as atualizações também precisam ser feitas em todas as máquinas, e os computadores desse arquivo não aparecem na janela Ambiente de Rede. O ideal seria que a tradução funcionasse de modo análogo ao DNS.
Erro! Argumento de opção desconhecido. Entra o serviço WINS, que opera de modo análogo ao DNS. Note que eu disse análogo, e não semelhante, nem paralelo, nem igual. O WINS é contactado diretamente pelo número IP - nada de broadcasting para localizar o servidor WINS, até porque ele não faz parte do NetBIOS em si.
Erro! Argumento de opção desconhecido. O WINS não tem um cadastro estático de computadores. Ele recebe informações de todos os computadores da instalação e, dinamicamente, vai formando uma lista de todos os computadores da rede: nomes NetBIOS, grupos de trabalho e os respectivos endereços IP. O servidor WINS mantém cadastros de todas as máquinas da instalação, independentemente do grupo de trabalho. Por isso mesmo, deve haver apenas um servidor WINS na instalação inteira, mesmo que haja vários grupos de trabalho e/ou mestres de domínio.
Erro! Argumento de opção desconhecido. O mestre do domínio (A2) registrará o domínio junto ao servidor WINS (A3). Da mesma forma, todas as outras máquinas registrarão seus nomes NetBIOS, grupos de trabalho e números IP junto ao servidor WINS.
Erro! Argumento de opção desconhecido. Os computadores começarão a anunciar a si mesmos por pacotes de broadcast. Atentos, os mestres locais compilarão uma lista das máquinas de cada rede. Nesse instante, os mestres de cada rede local conterão as seguintes listas de computadores:
Erro! Argumento de opção desconhecido. A2: -> A1, A2, A3, A4, A Erro! Argumento de opção desconhecido. B1: -> B1, B2, B3, B4, B Erro! Argumento de opção desconhecido. C1: -> C1, C2, C3, C4, C Erro! Argumento de opção desconhecido. Até agora, nenhuma rede tem conhecimento da existência das demais redes.
Erro! Argumento de opção desconhecido. Cada um dos computadores de todas as redes vai contactar o servidor WINS (A3) e registrar- se junto a ele. Nesse ponto, o servidor WINS conhece os nomes NetBios, grupos de trabalho e endereços IP de todas as máquinas. Como o WINS funciona independente do mestre de domínio A2, este último continua com sua lista incompleta.
Erro! Argumento de opção desconhecido. Cada mestre local (B1 e C1) contacta o servidor WINS e descobre o endereço IP do mestre de domínio (A2.). A seguir, o mestre local contacta o mestre do domínio e transmite a ele a lista de todas as máquinas do grupo de trabalho. Em troca, o mestre de domínio transmite ao mestre local a lista geral dos computadores do domínio. Supondo que os mestres locais B1 e C1 contactem o mestre de domínio A2 em ordem, as listas em cada servidor ficarão assim:
Erro! Argumento de opção desconhecido. A2: -> A1, A2, A3, A4, A5, B1, B2, B3, B4, B5, C1, C2, C3, C4, C
Erro! Argumento de opção desconhecido. B1: -> B1, B2, B3, B4, B5, A1, A2, A3, A4, A
Erro! Argumento de opção desconhecido. C1: -> C1, C2, C3, C4, C5, A1, A2, A3, A4, A5, B1, B2, B3, B4, B
Erro! Argumento de opção desconhecido. O servidor B1 contactou A antes de C1. Naquele instante, A2 ainda não sabia que a rede C existia. Por isso, a lista do servidor B1 ficou prejudicada. Já o servidor C1 contactou o mestre de domínio A2 quando este último já tinha recebido a lista da rede B. (Está claro que a lista da rede "A" tinha sido compilada pelo próprio mestre do domínio A2.)
Erro! Argumento de opção desconhecido. Dentro de 15 minutos, os mestres locais contactarão novamente o mestre de domínio para retransmitir e atualizar as listas. Nesse momento, o mestre de domínio A2 já conhece a rede inteira, e o mestre local B1 poderá completar sua lista:
Erro! Argumento de opção desconhecido. A2: -> A1, A2, A3, A4, A5, B1, B2, B3, B4, B5, C1, C2, C3, C4, C
Erro! Argumento de opção desconhecido. B1: -> B1, B2, B3, B4, B5, A1, A2, A3, A4, A5, C1, C2, C3, C4, C
Erro! Argumento de opção desconhecido. C1: -> C1, C2, C3, C4, C5, A1, A2, A3, A4, A5, B1, B2, B3, B4, B
Erro! Argumento de opção desconhecido. Agora, todos os computadores da rede aparecerão na janela "Ambiente de Rede" de qualquer das estações.
Erro! Argumento de opção desconhecido. Lembre-se sempre disto: a lista de máquinas NÃO vai aparecer completa imediatamente. Pode levar até 30 minutos até que todos os mestres locais tenham a lista completa da rede. Da mesma forma, se um dos computadores for desligado ou uma rede for desconectada, haverá um lapso de tempo durante o qual a máquina continuará aparecendo nas listas (36 minutos), até que o mestre local da rede desligada finalmente retire-a da lista e informe o fato ao mestre do domínio.
Erro! Argumento de opção desconhecido. Supondo agora que o computador C4 quer comunicar-se com o computador A5. Pela lista, ele sabe que o computador A5 existe, mas não sabe qual é seu endereço IP. Então, C consulta o servidor WINS, obtém o endereço IP e contacta A5 diretamente, sem usar broadcast. Note bem aqui como o trabalho de compilação de listas é independente do servidor WINS.
Erro! Argumento de opção desconhecido. O Samba suporta quatro formas de autenticação de usuários, reguladas pela linha security = ... do arquivo /etc/smb.conf. Assuma, até segunda ordem, que estamos falando de senhas não criptografadas.
Erro! Argumento de opção desconhecido. SHARE: Sem segurança. Todo e qualquer usuário será aceito. As operações de arquivo e impressão serão executadas com as permissões do usuário UNIX associado ao hóspede (guest account = ...). Se você escolher essa modalidade, verifique se o usuário UNIX terá permissões suficientes para acessar arquivos e, se for o caso, imprimir.
Erro! Argumento de opção desconhecido. USER: Segurança por usuário, local. A senha do usuário é reduzida a letras minúsculas e confrontada com a senha UNIX. Essa modalidade de segurança obriga que os usuários sejam cadastrados no Linux, e suas senhas sejam atribuídas corretamente. As operações sobre arquivos e de impressão serão feitas com a permissão do respectivo usuário UNIX. Todavia, pode-se abrir aos hóspedes o acesso a determinados volumes ou impressoras - para esses objetos, a segurança operará no estilo SHARE.
Erro! Argumento de opção desconhecido. SERVER: Segurança por usuário, remota. O Samba pega o nome de usuário e a senha, e autentica junto a outro servidor, que poderá ser outro Linux rodando Samba, ou um Windows NT. Apesar da autenticação ser remota, ainda é necessário criar os