• Nenhum resultado encontrado

Sistemas Distribuídos Aula-6

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas Distribuídos Aula-6"

Copied!
10
0
0

Texto

(1)

6 SAMBA Histórico:

O Samba foi criado por Andrew Tridgell. Ele precisava montar um espaço em disco em seu PC para um servidor Unix. Esse PC rodava DOS e, inicialmente, foi utilizado o sistema de arquivos NFS (Network File System) para o acesso. Porém, um aplicativo precisava de suporte ao protocolo NetBIOS (que não era suportado pelo NFS). A solução que Tridgell encontrou não parecia ser das mais simples: ele escreveu um sniffer (pequeno programa para captura de tráfego de dados em rede) para poder analisar o tráfego de dados gerado pelo protocolo NetBIOS. Uma vez implementado, Tridgell utilizou engenharia reversa em cima do protocolo SMB (Server Message Block) e implementou no Unix. Isso fez com que o servidor Unix aparecesse como um servidor de arquivos Windows em seu PC com DOS. Tridgell disponibilizou esse código publicamente 1992. Algum tempo depois o projeto foi posto de lado e assim ficou. Tempos mais tarde, descobriu que as documentações dos protocolos SMB e NetBIOS estavam atualizadas e então decidiu voltar a se dedicar ao projeto.

Um dia, uma empresa entrou em contato com Tridgell reivindicando os direitos sobre o nome usado no software. Então ele teve a idéia de procurar em um dicionário uma palavra que tivesse as letras s, m e b (de SMB) e acabou encontrando a palavra "samba

6.1 Introdução a conceitos gerais de nomes, senhas e nome de arquivos em sistemas proprietários e Unix e em Software Livre e planejamento para migração de sistemas 6.1.1 Nomes de usuário

Algumas administrações podem ter nomes de usuários “estruturados”, que codificam informações sobre o usuário. Por exemplo, o nome de usuário cf27 pode pertencer à 27a pessoa a ser registrada no Controle Financeiro. Outras permitem às pessoas escolherem o próprio nome de usuário, ou simplesmente usar seu nome real. Esquemas estruturados de nomes de usuários podem ser normalmente usados em sistemas Software Livre em

alteração. Nomes de usuário em Software Livre não podem começar com um caractere numérico, o que pode causar dificuldade com nomes de usuários estruturados, onde a estrutura inicial seja numérica.

Há algumas questões que podem afetar os sistemas ad-hoc. Nomes de usuários nos

sistemas Windows® geralmente não são sensíveis à caixa da fonte. Significa que, se alguém receber o nome “Maria”, ela pode digitar “maria”, “MARIA” ou até “mArIa” na hora do login, sem problemas. Também significa que, sempre que o sistema exibe um nome de usuário (como o dono de um arquivo), ele vai usar a forma digitada originalmente pelo administrador, quando o nome de usuário foi criado – neste caso, “Maria”.

(2)

usuário precisa digitar seu nome de usuário exatamente no formato em que foi originalmente registrado. Convencionalmente, nomes de usuários são feitos inteiramente em caixa baixa e números, sem qualquer outro caractere, e com largura máxima de oito caracteres.

Essas restrições foram amenizadas recentemente, e os sistemas modernos permitirão nomes de usuário mais longos, com um conjunto de caracteres mais amplo.

6.1.2 Senhas

Sistemas modernos Software Livre permitem senhas de quase todos os comprimentos, com grande conjunto de caracteres. É boa prática incentivarmos o uso de senhas longas (10 ou mais caracteres) com boa variedade de letras, números, pontuação, caixa baixa e caixa alta. Os utilitários para estabelecimento de senhas geralmente se recusam a aceitar senhas muito fracas, a não ser que forçados por um administrador.

Algumas variantes comerciais Unix ainda “truncam” as senhas para até oito caracteres, de forma que, se for planejado um ambiente misto, isso deve ser levado em conta. O plano de transição poderá ter que incluir a reemissão de senhas para todos os usuários,

ou possivelmente as fases de coleta e sincronização de senhas.

6.1.3 Nomes de arquivos

Como os nomes de usuários, os nomes de arquivos Windows® são insensíveis à mudança de caixa de fonte e em alguma extensão preservam a caixa e a fonte. Alguns aplicativos tendem a transformar em maiúscula a primeira letra dos nomes dos arquivos, bem como fazer outras alterações das quais o usuário pode estar ciente ou não. O ambiente Windows® também carrega a herança do formato de arquivo DOS 8.3, que ainda aparece em alguns utilitários. Nomes de arquivos Windows® comumente contêm espaços e normalmente usam o conjunto de caracteres Unicode. O Windows® usa \ como separador de diretório.

Embora seja menos óbvio para usuários os usuários que utilizam interface gráfica, a

totalidade dos nomes dos arquivos Windows® deve incluir <Letra>:\<Diretório>, indicando o dispositivo físico que contém o arquivo, ou eles devem ter o nome verdadeiro do servidor, caso o arquivo esteja em um “diretório-rede”. Essas restrições podem ser problema para gerentes de grandes sistemas Windows® , que tentam oferecer um serviço sem emendas ao enfrentar mudanças de hardware.

Outros sistemas proprietários tratam nomes de arquivos de formas diferentes. O VMS, por exemplo, tem nomes de arquivos insensíveis à mudança de caixa de fonte, que usualmente incluem um ponto e podem incluir um número de versão após um ponto e vírgula.

Os nomes de arquivos em Unix e Software Livre têm regras diferentes. Aqui, os arquivos são totalmente sensíveis à mudança de caixa de fonte, e o sistema não executa quaisquer

alterações nos nomes fornecidos pelo usuário. Os nomes usam um conjunto de caracteres 8-bit, determinado pelo uso corrente da localidade. Os únicos caracteres que o GNU/Linux não

(3)

permite em nomes de arquivos são o separador de diretório / e o caractere nulo. No entanto, na prática, não é inteligente incluirmos caracteres não-imprimíveis – por exemplo, o sistema de arquivos Windows® FAT32 não pode armazenar os 32 primeiros códigos ASCII ou qualquer um dos seguintes ", *, :, <, >, ?, \ ou |. São permitidos espaços nos nomes dos arquivos, embora sua presença requeira que os usuários de linha de comando estejam atentos para utilização de aspas.

Sistemas Unix e Software Livre não usam letras de diretório e não requerem que o nome real do servidor de arquivo faça parte do nome absoluto do arquivo, no qual o acesso ao arquivo de rede é usado. Ao invés disso, o Sistema apresenta todos os arquivos como parte de uma hierarquia sem remendos, junto com o uso de links simbólicos no sistema de arquivo. Isso confere aos administradores do sistema grande flexibilidade na separação do nome absoluto de um arquivo de seu lugar de armazenamento físico.

Quase todos os nomes de arquivos Windows® podem ser migrados diretamente para os servidores Software Livre sem alterações. É possível que se encontre na prática a única exceção nos nomes de arquivos que contêm o caractere “ / “., que terá que ser modificado durante a transição. Usuários que utilizam interface gráfica provavelmente nunca perceberão que os nomes dos arquivos se tornaram sensíveis à mudança de caixa de fonte, já que só digitam tais nomes quando criam o arquivo.

6.2 Planejamento de uma migração de sistemas 6.2.1 Acesso dual

Muitos planos de migração provavelmente incluirão um período de funcionamento em que algumas pessoas usam sistemas Software Livre e outras ainda usam sistemas proprietários, em paralelo. Nos arquivos acessados por membros dos dois grupos, poderão ser

necessários cuidados específicos para evitar problemas de acesso, especialmente na questão dos nomes dos arquivos conforme discutido no tópico anterior.

O compartilhamento de arquivos em sistemas Windows® usa o protocolo SMB (Server Message Block), tecnologia muito complexa com muitos níveis de compatibilidade. É usado por servidores de arquivos consagrados e também no modo “peer-to-peer”, no qual PCs individuais disponibilizam partes de seus sistemas na rede. Ambientes bem gerenciados da Administração irão basear-se mais provavelmente em servidores consagrados do que em compartilhamento ad-hoc. Arquivos de usuários não compartilhados em ambiente Windows® podem ser mantidos em vários lugares diferentes:

- Em um disco local do PC, uma estação de trabalho ou um laptop do usuário, por exemplo, o referido como diretório C.

- No perfil roving/roaming do usuário, que inclui a maior parte dos conjuntos de preferência e também o conteúdo da estação de trabalho Windows® e (normalmente) a pasta “Meus Documentos”. O perfil roving é mantido localmente em qualquer PC que o usuário estiver utilizando e é sincronizado de volta para um depósito de perfis na hora do

(4)

logout. Isso oferece facilidade de backup acessível, porém pode gerar sérias implicações de desempenho, com usuários relatando logouts muito lentos.

- Em um diretório de um servidor de arquivo central. Essa é opção comum em grandes redes de sistemas de estações de trabalho, pela facilidade de implementação de rotinas de backup.

O principal mecanismo de acesso ao arquivo de rede do Unix e dos sistemas Software Livre é o NFS – Network File System. O processo de utilização do NFS é relativamente simples: em geral a única configuração a ser efetuada para compartilhamento de um diretório em um servidor Software Livre/Unix é a edição de uma linha no arquivo /etc/exports.

O processo de migração geralmente se inicia nos servidores e geralmente é menos

trabalhoso ajustar sistemas em Software Livre do que proprietários. De qualquer forma, as opções para implementação para acesso dual em um processo de migração para

Software Livre estão apresentadas na Tabela abaixo, determinando 4 cenários distintos: servidores em Software Livre/Unix e clientes Software Livre; servidores em Software Livre/Unix e clientes Windows® ; servidoresWindows® e clientes Software Livre, e; servidores e clientes Windows® .

Servidores Windows® Servidores em Software Livre e Unix clientes Windows® Acesso a Arquivos SMB é

padrão

Servidores suportam SMB usando o pacote Samba. É um software maduro

com um desempenho excelente. clientes Software Livre Clientes GNU/Linux podem

acessar cotas SMB. É possível adicionar serviço NFS a servidores

Windows®

mas o custo envolvido deverá ser considerado.

Acesso a Arquivos NFS é padrão. Os clientes GNU/LINUX podem usar SMB como parte de um plano de migração.

6.2.2 Substituir o Windows NT® PDC/BDC por Samba+LDAP

O Samba pode cumprir o papel de Primary Domain Controller, permitindo, assim, que todos os servidores Windows® sejam eliminados, até mesmo se ainda forem necessários clientes Windows® . Observe que não é possível substituir somente o PDC ou somente um BDC em um domínio: todos os controladores de domínios devem estar operando o mesmo sistema, seja ele Windows® seja Samba. Isso ocorre porque, em parte, o protocolo de réplica do PDC não foi submetido a uma engenharia reversa.

(5)

6.2.3 Acesso a arquivo GNU/Linux SMBFS

O Samba permite que um sistema Software Livre forneça serviço de arquivo a clientes Windows® .

Já o SMBFS trabalha de forma inversa: permite que um sistema Software Livre acesse arquivos mantidos em servidores Windows® . O SMBFS é disponibilizado com as mais recentes distribuições

GNU/Linux, porém não é encontrado normalmente em sistemas Unix comerciais.

O modelo acesso-controle usado pelos sistemas de arquivos Windows® é diferente do usado por GNU/Linux e outros sistemas Software Livre; portanto, há algumas limitações com

relação ao que se pode conseguir com o SMBFS.

6.3.2 Como o SAMBA funciona

O Samba implementa o protocolo SMB, equivalente ao protocolo NetBEUI da Microsoft®, capaz de interligar plataformas GNU/Linux, Unix e variantes,Windows® , Macintosh® , Amiga® ,Novell® e Netware® . Pode atuar como um Windows NT® Domain Controller e é capaz de armazenar dados de gerência de domínio em um diretório acessado através de LDAP.

São fornecidas ferramentas, no pacote cliente, úteis para diagnosticar problemas com redes SMB e implementar criptografia. Pode-se realizar configurações do Samba remotamente por meio da ferramenta SWAT (Samba Web Administration Tool), que disponibiliza as

configurações do servidor via interface web. Dessa forma, torna-se possível que a configuração do Samba seja efetuada a partir de qualquer máquina cliente no domínio. Em função da sua interoperabilidade com diversos sistemas operacionais, o Samba torna-se solução capaz de auxiliar os projetos de migração. Ele é mantido por um grupo central de 30 voluntários ativos por todo o mundo. Mais informações podem ser encontradas em http://www.samba.org.

Pacote samba:

Outros utilitários importantes para a operação do clientes samba.

smbclient - Ferramenta para navegação e gerenciamento de arquivos, diretórios e impressoras compartilhados por servidores Windows ou samba.

smbfs - Pacote que possui ferramentas para o mapeamento de arquivos e diretórios compartilhados por servidores Windows ou samba em um diretório local.

winbind - Daemon que resolve nomes de usuários e grupo através de um servidor NT/SAMBA e mapeia os UIDs/GIDs deste servidor como usuários locais.

(6)

6.4 Conceitos gerais para a configuração do SAMBA: 6.4.1 Nome de máquina (nome NetBios)

Toda a máquina em uma rede NetBEUI é identificada por um nome, este nome deve ser único na rede e permite que outras máquinas acessem os recursos disponibilizados ou que sejam enviadas mensagens para a máquina. Este nome é composto de 16 caracteres, sendo 15 que identificam a máquina e o último o tipo de serviço que ela disponibiliza. O tipo de serviço é associado com o nome da máquina e registrado em servidores de nomes confirme a configuração da máquina (você verá isto mais adiante).

O nome de máquina é especificado nas diretivas netbios name e netbios aliases

6.4.2 Grupo de trabalho

O grupo de trabalho organiza a estrutura de máquinas da rede em forma de árvore,

facilitando sua pesquisa e localização. Tomemos como exemplo uma empresa grande com os departamentos comunicação, redes, web, rh, as máquinas que pertencem ao grupo de redes serão agrupadas no programa de navegação:

redes gleydson tecnico marcelo henrique michelle rh mrpaul web web1 web2 web3

A segurança no acesso a arquivos e diretórios na configuração de grupo de trabalho é controlada pela própria máquina, normalmente usando segurança em nível de

compartilhamento. Esta segurança funciona definindo um usuário/senha para acessar cada compartilhamento que a máquina possui. O Windows 95, Windows 98, XP Home Edition usam este nível de acesso por padrão. Os programas para navegação na rede NetBIOS são mostrados em smbclient, nmblookup, e Programas de navegação gráficos.

6.4.3 Domínio

O funcionamento é semelhante ao grupo de trabalho, com a diferença que a segurança é controlada pela máquina central (PDC) usando diretivas de acesso e grupos. O PDC

(7)

usuário para acessar os recursos existentes em outras máquinas, script de logon que poderá ser executado em cada máquina para fazer ajustes, sincronismo, manutenção ou qualquer outra tarefa programada pelo administrador do sistema.

6.4.4 Compartilhamento

Um compartilhamento é um recurso da máquina local que é disponibilizado para acesso via rede, que poderá ser mapeada por outra máquina. O compartilhamento pode ser um

diretório, arquivo, impressora. Além de permitir o acesso do usuário, o compartilhamento pode ser protegido por senha, e ter controle de acesso de leitura/gravação, monitoração de acessos, diretórios ocultos, autenticação via PDC (domínio) e outras formas para restringir e garantir segurança na disponibilização dos dados.

Um compartilhamento no SAMBA pode ser acessível publicamente (sem senha) ou estar rigidamente protegido tendo que passar por diversas barreiras para chegar ao seu conteúdo, como senhas, endereço de origem, interfaces, usuário autorizados, permissões de

visualização, etc.

6.4.5 Mapeamento

Mapear significa pegar um diretório/arquivo/impressora compartilhado por alguma máquina da rede para ser acessada pela máquina local. Para mapear algum recurso de rede, é necessário que ele seja compartilhado na outra máquina. Por exemplo, o diretório /usr compartilhado com o nome usr, pode ser mapeado por uma máquina Windows como a unidade F:, ou mapeado por uma máquina Linux no diretório /mnt/samba.

O programa responsável por mapear unidades compartilhadas no Linux é o smbmount e smbclient.

6.4.6 Navegação na Rede e controle de domínio

Esta função é controlada pelo nmbd que fica ativo o tempo todo disponibilizando os recursos da máquina na rede, participando de eleições NetBIOS, fazer logon de máquinas no domínio , etc. A função de navegação na rede é feita utilizando o compartilhamento IPC$. Este

compartilhamento possui acesso público somente leitura e utiliza o usuário "guest" para disponibilização de seus. Como deve ter percebido, é necessário especificar esta ID de usuário através do parâmetro guest account , ou a navegação de recursos no sistema (ou na rede, dependendo da configuração do SAMBA) não funcionará.

OBS: A função de navegação (browsing) poderá não funcionar corretamente caso a máquina

(8)

6.4.7 Arquivo de configuração do samba

Toda a configuração relacionada com nomes, grupo de trabalho, tipo de servidor, log,

compartilhamento de arquivos e impressão do samba é colocada no arquivo de configuração /etc/samba/smb.conf. Este arquivo é dividido em seções e parâmetros.

Uma seção no arquivo de configuração do samba (smb.conf) é definido por um nome entre "[ ]". As seções tem o objetivo de organizar os parâmetros para que tenham efeito somente em algumas configurações de compartilhamento do servidor (exceto os da seção [global] que não especificam compartilhamentos, mas suas diretivas podem ser válidas para todas os compartilhamentos do arquivo de configuração). Alguns nomes de seções foram reservados para configurações específicas do samba, eles são os seguintes:

[global]

Define configurações que afetam o servidor samba como um todo, fazendo efeito em todos os compartilhamentos existentes na máquina. Por exemplo, o grupo de trabalho, nome do servidor, página de código, restrições de acesso por nome, etc.

[homes]

Especifica opções de acesso a diretórios homes de usuários. O diretório home é disponibilizado somente para seu dono, após se autenticar no sistema.

[printers]

Define opções gerais para controle das impressoras do sistema. Este

compartilhamento mapeia os nomes de todas as impressoras encontradas no /etc/printcap. Configurações especiais podem ser feitas separadamente. [profile]

Define um perfil quando o servidor samba é usado como PDC de domínio.

Qualquer outro nome de [seção] no arquivo smb.conf que não sejam as acima, são tratadas como um compartilhamento ou impressora.

Um parâmetro é definido no formato nome = valor. Na configuração de booleanos, a seguinte sintaxe pode ser usada:

0 ou 1 yes ou no true ou false

Assim, as seguintes configurações são equivalentes master browse = 0

master browse = no master browse = false

(9)

Todos significam "NÃO ser o navegador principal de domínio". A escolha fica a gosto do administrador. Durante a configuração, você notará o poder da flexibilidade oferecida pelo samba na configuração de um servidor SMB :-)

Linhas iniciadas por # ou ; são tratadas como comentário. Quebras de linha pode ser especificadas com uma \ no final da linha.

6.4.7 Seção [global]

Os parâmetros especificados nesta seção tem efeito em todo o servidor samba incluindo os compartilhamentos. Caso o parâmetro seja novamente especificado para o

compartilhamento, o valor que valerá é o do compartilhamento.

Por exemplo, se guest user = nobody for usado na seção [global] e o guest user = foca for usado no compartilhamento [focalinux], o usuário que fará acesso público a todos os

compartilhamentos do servidor será o nobody, exceto para o compartilhamento [focalinux], que será feito pelo usuário foca. Uma lista completa pode ser obtida na página de manual do smb.conf.

6.4.8 Nomes e grupos de trabalho

netbios name = [nome do servidor]

Especifica o nome NetBIOS primário do servidor samba. Caso não seja ajustado, ele usará o hostname de sua máquina como valor padrão.

Ex.: netbios name = focasamba. workgroup = [grupo de trabalho/domínio]

Diz qual o nome do grupo de trabalho/domínio que a máquina samba pertencerá. Ex.: workgroup = focalinux.

netbios aliases = [nomes alternativos ao sistema]

Permite o uso de nomes alternativos ao servidor, separados por espaços. Ex.: teste1 teste2.

server string = [identificação]

Identificação enviada do servidor samba para o ambiente de rede. A string padrão é Samba %v (%v é substituída pela versão do samba, )

Ex: server string = Servidor Samba versão %v. name resolve order = [ordem]

Define a ordem de pesquisa para a resolução de nomes no samba. A ordem padrão é: lmhosts host wins bcast, que é a melhor para resolução rápida e que tente gerar menos tráfego broadcast possível.

(10)

6.5 Resolução de nomes de máquinas no samba

O Samba pode utiliza os seguintes métodos para resolução de nomes de máquinas na rede (Nome de máquina (nome NetBios), Seção 18.2.1). Eles estão listados em ordem de

prioridade do mais para o menos recomendável:

lmhosts - Pesquisa primeiro o arquivo /etc/samba/lmhosts (veja Arquivo /etc/samba/lmhosts, Seção 18.5.1 para detalhes sobre este arquivo).

host - Faz a pesquisa no arquivo /etc/hosts e no DNS em busca do nome da máquina. wins - Pesquisa no servidor WINS especificado pelo parâmetro wins server do

smb.conf (veja WINS, Seção 18.5.2).

bcast - Envia um pacote para o endereço de broadcast de sua configuração de rede. Este geralmente deve ser o último método por gerar tráfego excessivo em uma rede com um considerável número de computadores.

A ordem que a resolução de nomes é feita pelo samba, pode ser modificada usando o parâmetro "name resolve order = [ordem]" no arquivo de configuração do samba (ex. name resolve order = lmhosts host wins bcast).

REFERENCIAS:

http://guialivre.governoeletronico.gov.br/guiaonline/guialivre.pdf http://pt.wikipedia.org/wiki/Samba_(servidor)

Referências

Documentos relacionados

No entanto, para melhor compreensão das principais causas das dificuldades de aprendizagem, Fonseca (2002) realizou um agrupamento destas causas com base nos critérios:.. a)

A diferença entre o que os cristãos reconhecem como cura pela graça divina e a terapia Reiki é também evidente nos termos básicos usados pelos defensores do Reiki para descrever o que

Sistema de Apoio: 2 crianças apadrinhadas por família, distribuição mensal de cesta básica alimentar, matriculas, uniformes, material escolar e cuidados de saúde quando necessário

● Copia um arquivo da máquina local para um diretório específico no servidor remoto.. ● Exemplo: copiar arquivo local Telescope.jar para o diretório telescope

Os objetivos do presente trabalho foram (i) caracterizar genótipos de milho quanto à resistência a virose mosaico-comum causada pelo SCMV e (ii) introgredir a resistência

O nosso propósito é identificar quais ideias de Ausubel e Duval são compatíveis e mostrar como os conceitos centrais dessas duas teorias podem ser articulados como

Por sua vez, cabe lembrar que a Guarda Municipal não está exclusivamente voltada para a segurança pública, conforme os moldes do Regime Militar, mas sim para

Instalar o software de produto no servidor de gerenciamento Download dos arquivo de conteúdo do Endpoint Security Distribuir software para sistemas gerenciados remotamente