A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Operacionais de Rede – SAMBA Professor: João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática.

Cópias: 1
Projeto Integrador de Redes – SAMBA Professor: João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática.

Apresentações semelhantes


Apresentação em tema: "Sistemas Operacionais de Rede – SAMBA Professor: João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática."— Transcrição da apresentação:

1 Sistemas Operacionais de Rede – SAMBA Professor: João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática

2 SAMBA A finalidade do serviço Samba é permitir que estações Linux e Windows® compartilhem recursos entre si em uma rede. Através do Samba, o Linux pode servir clientes Windows, tornando-se: Servidor de arquivo Servidor de impressão Servidor de autenticação e autorização Servidor de nomes Windows®

3 SAMBA O Samba foi criado em 1992 por Andrew Tridgell e atualmente é mantido por uma equipe onde a maioria é de desenvolvedores voluntários. O Samba, tendo em vista suas funcionalidades acima, possui uma interação praticamente completa com estações de trabalho Windows®.

4 SAMBA O Servidor Linux pode atuar como Controlador de Domínio Primário - PDC -, tarefa até então exclusiva do Windows NT®e dos Windows Server, permitindo abrigar as contas de usuários, com suas respectivas senhas, de forma que clientes Windows possam ser autenticados, antes de utilizarem os recursos da rede.

5 SAMBA O pacote smb-clients possui algumas ferramentas de consultas de nomes NetBIOS bastante úteis. As principais são as ferramentas findsmb e nmblookup. A ferramenta findsmb é um pequeno Ambiente de Rede em modo texto: vai exibir as máquinas NetBIOS da rede, mas também mostra várias outras informações. O nmblookup é bem mais poderoso e nos permite fazer praticamente qualquer tipo de consulta NetBIOS via broadcast ou servidor de nomes. Além das máquinas que pertencem à um grupo, é possível visualizar também os recursos NetBIOS referentes à uma máquina ou um grupo em particular:

6 Classificação de clientes Netbios Nome Descrição B-nodeUtiliza somente broadcast P-nodeUtiliza somente servidor de nomes M-node utiliza broadcast para registro e resolução de nomes, avisando o servidor de nomes caso tenha sucesso. Usa broadcast para resolução de nomes, recaindo para um servidor de nomes se não tiver sucesso. H-node modo híbrido: utiliza servidor de nomes para registro e resolução, recaindo em broadcast se o servidor de nomes estiver indisponível. - Clientes Netbios são categorizados de acordo com a forma utilizada para resolução de nomes. As categorias utilizadas são descritas na tabela a seguir:

7 Recursos NetBIOS - Máquina Tipo de Recurso Código Hexadecimal Nome da máquina00 Serviço de Mensagens(winpopup)03 Domain Master Browser e PDC 1B Master Browser 1D Servidor de Arquivos e Impressoras 20 Exemplo: nmblookup –S urano nmblookup –S saturno Uma máquina NetBios não só anuncia sua presença na rede, mas também anuncia que tipo de recursos ela possui disponíveis. O formato utilizado para o nome possui um byte reservado para indicar este recurso.

8 Recursos NetBIOS – Grupos Tipo de Recurso Código Hexadecimal Nome do grupo00 Servidor de autenticação/login1C Master Browser 1D Nome do grupo(como usado em eleições) 1E Exemplo: nmblookup –S upd1 Em máquinas Windows, para visualizar os registros publicados na rede, pode usar o comando nbtstat –a Da mesma forma, o grupo de trabalho também possui recursos associados a ele. A tabela abaixo representa os principais recursos relativos a grupos.

9 SAMBA O arquivo de configuração do Samba é o smb.conf. Por padrão, este arquivo se encontra no diretório /etc/samba e pode ser editado diretamente usando o editor de texto puro de sua preferência. O arquivo smb.conf é dividido em seções, onde cada seção é identificada por um identificador único cercado por colchetes ([]), onde cada seção define as características individuais de cada diretório ou de impressora compartilhados. Entre cada seção e outra, existem diretivas definidas por palavras-chaves seguidas do sinal de igual (=) e o seu valor na sequência. Para se desabilitar uma diretiva ou criar um comentário, simplesmente insira um ponto-e-vírgula (;) ou uma cerquilha (#) no início de cada linha.

10 Seções Especiais Seção [Global]: Define os parâmetros de configuração gerais para o servidor como um todo. Qualquer opção configurada nesta seção será aplicada a todo compartilhamento. Seção [homes]: Define individualmente os parâmetros para as pastas bases (diretórios pessoais, como /home/fulano) dos usuários. Na verdade, esta seção permite que os usuários acessem seus diretórios base (pastas bases) no servidor Samba. Seção [Printers]: Define os parâmetros para todas as impressoras compartilhadas pelo servidor. É a partir destas definições que compartilhamos impressoras na rede. Além destas seções padrão, podem existir também as seções criadas pelo administrador, necessárias para compartilhar um diretório específico, de forma que, para cada compartilhamento, deve ser criada uma seção.

11 Seções Especiais

12 Seção [global] [global] netbios name = nome workgroup = SOREDES server string = Servidor SAMBA da disciplina SOR Onde: workgroup - grupo de trabalho ou domínio ao qual a máquina pertence Server string – comentário qualquer sobre o servidor Netbios name - por padrão, o Samba utiliza o nome DNS da máquina menos o domínio como o nome NetBIOS. Através da opção netbios name podemos forçar outro nome NetBIOS para a máquina.

13 Seção [global] Em Linux, para reiniciar um serviço, deve-se usar o comando: service restart Para pará-lo: service stop Para simplesmente iniciá-lo: service start No SAMBA, sempre que for feita alguma modificação no nome netbios ou no grupo de trabalho da máquina, deve-se reiniciar o serviço nmbd Caso se queira modificar alguma configuração relativa à um compartilhamento, deve-se reiniciar o serviço smbd

14 Seção [global] Neste momento é essencial entender o que é grupo de trabalho e domínio: Grupo de trabalho: é um grupo de computadores que compartilham recursos entre si e são listados de forma agrupada, quando é solicitado a lista de computadores do grupo de trabalho. A lista de computadores de um grupo de trabalho é apresentada no Windows Explorer, por exemplo. Domínio: é um grupo de trabalho que possui um servidor que mantém a lista de usuários e senhas denominado PDC (Controlador Primário do Domínio), de forma que os recursos que são compartilhados baseiam suas permissões de acesso na identificação dos usuários do domínio.

15 Seção [global] - Sempre que for feita uma configuração no arquivo smb.conf, é interessante usar o comando testparm, que informa possíveis erros na configuração do arquivo. - Para observar os compartilhamentos disponíveis em seu servidor e em outros servidores SAMBA espalhados pela rede, devemos usar o comando smbclient da seguinte forma: smbclient -L nome_da_maquina –N onde -N – efetua um login anônimo -L – lista os compartilhamentos exportados pelo servidor

16 Compartilhamento de diretórios Vamos compartilhar o diretório /mnt/arquivos no nosso servidor SAMBA. Para isto, será necessário adicionar mais uma seção ao arquivo smb.conf, com o nome do compartilhamento. [arquivos] comment = Compartilhamento de teste path = /mnt/arquivos O parâmetro comment serve apenas como uma pequena descrição do compartilhamento, e é opcional. O parâmetro path indica o caminho para o diretório compartilhado.

17 Compartilhamento de diretórios Usando a ferramenta smbclient é possível também acessar diretamente um compartilhamento explicitamente: smbclient //nome_da_maquina/arquivos –N Entretanto, tivemos um erro de acesso, pois o compartilhamento não pode ser acessado de forma anônima. Para que tal acesso seja possível, é necessário acrescentar à seção, a seguinte linha: [arquivos] comment = Compartilhamento de teste path = /mnt/arquivos guest ok = Yes Habilitanto com isso o login de usuários anônimos.

18 Seção [global] Opções de Segurança Hosts Deny – usado para listar endereços que não poderão ter acesso a um compartilhamento. Para restringir as máquinas que acessam o compartilhamento usamos a diretiva: hosts allow = lista os endereços IP separados por vírgulas ou espaços que podem se conectar ao compartilhamento. Endereços não listados aqui terão o acesso negado. security: especifica o nível de segurança dos compartilhamentos. Usando a opção user, fará com que qualquer usuário para acessar um compartilhamento, precise ter uma conta válida de usuário no sistema.

19 Autenticando usuários Para uma maior segurança no servidor, é interessante que só usuários autenticados acessem o compartilhamento. Durante a evolução do SAMBA, foram criados diversos backends, que permitem armazenar senhas encriptadas e outras informações referentes aos usuários. O smbpasswd é o backend mais simples, Nele as senhas são salvas no arquivo /etc/samba/smbpasswd e são transmitidas de forma encriptada através da rede, com suporte ao sistema NTLM, usado pelas versões contemporâneas do Windows. A vantagem do smbpasswd é que ele é um sistema bastante simples. Embora encriptadas, as senhas são armazenadas em um arquivo de texto, com uma conta por linha, o que lembra um pouco o arquivo /etc/passwd no Linux.

20 Autenticando usuários Para que o usuário possa ser usado no SAMBA, é necessário cadastrá-lo no smbpasswd. Antes disso, o usuário precisa existir previamente criado no sistema, caso contrário não será possível cadastrá-lo. Para que isto seja possível, é necessário registrar os usuários no serviço através do comando smbpasswd. Desta forma, para cadastrar um usuário no sistema, deve-se usar o comando: smbpasswd -a usuario Será pedida então a senha deste usuário, e após inseri-lo já é possível usá-lo para acessar compartilhamentos: smbclient //nome_da_maquina/arquivos –U usuario remover uma conta de usuário: smbpasswd -x fulano desabilitar uma conta de usuário (sem removê-la): smbpasswd -d fulano Reabilitar um usuário usa-se o parâmetro –e

21 Parâmetros de Compartilhamento É possível permitir que o compartilhamento fique oculto quando acessado por outros usuários. Isto pode ser conseguido através do uso do parâmetro browseable na seção do compartilhamento da seguinte forma: [arquivos] Comment = Compartilhamento de teste Path = /mnt/arquivos guest ok = yes browseable = no Desta forma será possível acessar o compartilhamento explicitamente, mas ele não aparecerá na lista de compartilhamentos do servidor.

22 Parâmetros de Compartilhamento Também é possível tornar o compartilhamento desativado temporariamente para alguma tarefa de manutenção por exemplo. Esta configuração faz com que o compartilhamento desapareça da mesma forma que se você apagasse ou comentasse a configuração. A principal vantagem é que quando você quiser que o compartilhamento volte a aparecer, é só apagar ou comentar a opção. A configuração então ficaria: [arquivos] Comment = Compartilhamento de teste Path = /mnt/arquivos guest ok = yes available = no

23 Parâmetros de compartilhamento Além disto é possível configurar se o compartilhamento será de leitura ou escrita ou só de leitura, sendo que o padrão é leitura. Isto pode ser feito através do parâmetro writable da seguinte forma: [arquivos] Comment = Compartilhamento de teste path = /mnt/arquivos guest ok = yes browseable = no writable = yes Para impedir que determinados tipos de arquivos possam ser gravados nos compartilhamentos, deve-se usar a diretiva veto files. Por exemplo: veto files = /*.mp3/ - Impede a gravação de qualquer arquivo tipo.mp3 em um compartilhamento. Se usado na seção [global], impede a gravação deste tipo de arquivo em qualquer compartilhamento daquele servidor.

24 Autenticando usuários Quando o smbclient é invocado na forma (//servidor/compartilhamento), ele abre um prompt para a digitação de comandos e ele age de maneira muito similar à um cliente FTP, aceitando os comandos tradicionais deste serviço. Desta forma, podemos usar comandos tradicionais, como GET, LS, MKDIR, etc. Para se verificar quais usuários e quais máquinas estão acessando compartilhamentos no servidor, podemos usar o comando smbstatus.

25 Seção [homes] O compartilhamento [homes] é um compartilhamento especial para o Samba. Este é um compartilhamento utilizado para automaticamente compartilhar o diretório /home do usuário. Em vez de criar compartilhamentos para cada diretório /home utiliza-se este compartilhamento especial.

26 Seção [homes] Sempre que um cliente SMB tentar uma conexão a um compartilhamento que não existe, o Samba vai verificar se o nome do compartilhamento por acaso não é um nome de usuário válido. Se for, e a senha estiver correta, então um compartilhamento com o nome do usuário será automaticamente criado. Este compartilhamento ficará invisível para logins anônimos e aparecerá para o usuário existente no sistema.

27 Seção [homes] Abaixo as linhas referentes à configuração da seção home. [homes] comment = Diretório home do usuário browseable = no writable = yes

28 Fazendo o Linux atuar como PDC Neste tópico será apresentada uma configuração básica do arquivo smb.conf, ou seja, mostraremos um resumo de quais opções devem ser alteradas para que o Linux se torne o PDC da rede. Esta configuração visa conseguir fazer com que o Linux tenha o controle de acesso ao Samba a nível de usuário. Assim, todos usuários deverão ser autenticados para terem acesso aos compartilhamentos de rede do Samba.

29 Fazendo o Linux atuar como PDC [global] workgroup = SOREDES Server string = PDC Samba encrypt passwords = yes os level = 100 local master = yes domain master = yes preferred master = yes domain logons = yes

30 Fazendo o Linux atuar como PDC Onde: Workgroup: neste momento, o parâmetro workgroup passa a especificar não mais apenas um grupo de trabalho, mas um domínio Netbios. local master: Quando você quiser que o Servidor Samba seja candidato à eleição de local master browser pelos computadores da sub-rede, atribua valor yes. preferred master: Caso você queira que o Servidor Samba sempre seja eleito, atribua valor yes para este parâmetro e descomente a opção. Esta opção deverá ser acompanhada com a opção domain master. domain master: Permite que o Samba atue como domain master browser, para o domínio. Ele irá, então, coletar e manter listas de computadores fornecidas pelos LMBs da rede local.

31 Fazendo o Linux atuar como PDC domain logons: Permite que o Samba autentique os clientes Windows® que seja pertencentes a esse domínio. Portanto, esta opção é essencial para quando o Linux estiver atuando como um PDC. encrypt passwords: É usado para que o Samba possa autenticar uma senha criptografada. Esta opção é necessária pois o Windows não suporta transmissão de senhas sem criptografia, e caso esta opção não seja ativada, o servidor SAMBA simplesmente não conseguirá conversar com as máquinas Windows que tentarem se autenticar no mesmo. os level: Permite especificar qual chance o servidor Linux terá de ser o Master Browser do grupo de trabalho. O valor padrão para os level é 20, mas para sermos um PDC precisaremos de no mínimo o valor 33, pois o Windows Server tem nível 32. Com o valor 100, o servidor SAMBA sempre ganhará a eleição.

32 Contas de máquinas para clientes Windows Para clientes Windows poderem participar de um domínio controlado por um servidor samba, você deve criar contas de máquinas para estas estações. Estas contas não terão login válido para usuário, serão apenas para autenticar as máquinas participantes do domínio

33 Contas de máquinas para clientes Windows Crie uma conta de máquina na base de dados do Linux. # addgroup maquinas #useradd -g maquinas –d /dev/null -s /bin/false lab5$ #smbpasswd –a –m lab5 onde o –m indica que a conta criada é uma conta de máquina e não uma conta de usuário válida. O símbolo $ é necessário para mostrar ao sistema que está sendo criada uma conta de máquina e não de usuário normal. -g máquinas insere a máquina no grupo máquinas criado previamente. -d /dev/null cria um diretório home nulo para o usuário. -s /bin/false direciona o usuário para um shell inválido, de forma que ele não possa utilizar o terminal.

34 Contas de máquinas para clientes Windows Quando a máquina passa a fazer parte do domínio, é criada uma relação de confiança entre ela e o servidor. Uma senha(chamada de machine trust account password) é usada pela máquina para comprovar sua identidade de domínio. Esta é uma senha interna, gerada automaticamente pelo sistema durante a conexão inicial. Para inserir as máquinas Windows no domínio, é necessário configurá-las no domínio criado com o PDC Samba. Após isto, será necessário logar-se como root para que seja criada a relação de confiança entre o servidor e o cliente. Após reiniciar a máquina, passa a aparecer a opção Efetuar logon em: DOMÍNIO na tela de login, permitindo ao cliente se logar com qualquer conta cadastrada previamente no servidor.

35 Seção [netlogon] O script de logon é uma forma prática e fácil de preparar um ambiente para um usuário. Podemos mapear drives de rede, impressoras, compartilhamentos, acertar o relógio(desde que o usuário tenha as permissões necessárias), etc... Este script é especificado através da diretiva logon script na seção [global] e é sempre relativo a uma seção de compartilhamento chamada de [netlogon]. [netlogon] comment = Serviço de Logon path = /etc/samba/netlogon guest ok = yes browseable = no O único item obrigatório é o caminho para o diretório onde se encontra o arquivo do script, no caso do exemplo o diretório /etc/samba/netlogon.

36 Seção [netlogon] Caso o script se chame teste.bat, então a linha logon script da seção [global] seria: logon script = teste.bat O script criado deve ser em formato de arquivo do Windows para que possa ser interpretado e executado pelo sistema operacional. Para converter o formato do arquivo podemos usar o programa unix2dos. Geralmente um script faz uso do comando net para realizar suas operações, podendo por exemplo permitir um mapeamento de compartilhamento usando net use ou o envio de mensagens winpopup utilizando net send. Uma outra forma de mapear um diretório no servidor para o cliente é através da diretiva logon drive dentro da seção [global]. Com a opção logon drive = H: por exemplo, o diretório home do usuário será mapeado como unidade H: na máquina Windows.

37 Seção [netlogon]

38 Perfis Móveis em SAMBA Mais uma configuração útil (porém opcional) é fazer com que o servidor armazene os arquivos e configurações do usuário (recurso chamado Roaming Profiles, ou perfis móveis), fornecendo-os à estação no momento em que o usuário faz logon. Isso permite que o usuário possa trabalhar em outras máquinas da rede e faz com que seus arquivos de trabalho sejam armazenados no servidor, diminuindo a possibilidade de perda de dados. Por outro lado, ativar os perfis móveis faz com que seja consumido mais espaço de armazenamento do servidor e aumenta o tráfego da rede, já que os arquivos precisam ser transferidos para a estação a cada logon. Isso pode tornar-se um problema caso os usuários da rede tenham o hábito de salvar muitos arquivos grandes na área de trabalho.

39 Perfis Móveis em SAMBA Este controle de usuários pode ser feito utilizando-se quotas, como visto anteriormente. Note que o servidor não armazena todos os arquivos do usuário, apenas as configurações dos aplicativos, entradas do menu iniciar, cookies, bookmarks e arquivos temporários do IE e o conteúdo das pastas Desktop, Modelos e Meus Documentos. As estações Windows 2000 e Windows XP utilizam os perfis móveis automaticamente, quando o recurso está disponível no servidor Samba. Você pode verificar a configuração e, caso desejado, desativar o uso do perfil móvel no cliente no "Meu Computador > Propriedades > Perfis de Usuário > Alterar tipo".

40 Perfis Móveis em SAMBA Para se habilitar a opção do uso de perfis móveis no SAMBA, pode-se usar a seguinte opção na seção [global]: logon path = \\%L\%U\profile onde o \\%L\%U é substituído pelo diretório home de cada usuário, ou seja, a pasta profile vai ser criada no diretório home ou pessoal de cada usuário no servidor SAMBA e este é o valor padrão para a diretiva logon path. A diretiva logon path informa onde vão ficar os arquivos que fazem parte do perfil móvel do usuário. Desta forma, não é necessário criar um compartilhamento específico para os perfis, sendo esta solução bastante prática. Isto pode ou não ser desejado dependendo da política da rede local.

41 SAMBA como servidor ou cliente WINS É possível configurar o servidor SAMBA de forma a se tornar um servidor de nomes Netbios. Através do parâmetro wins support = yes, o servidor SAMBA se torna um servidor de nomes. Caso esteja habilitado, máquinas NetBios da rede podem usar este servidor para registrar seus nomes. Também é possível configurar a máquina SAMBA para que ela use um servidor de nomes já existente na rede. Usando a opção wins server = IPServidor, será especificado um servidor de nomes WINS onde o servidor SAMBA irá registrar seus nomes Netbios neste servidor de nomes. Obviamente não se deve especificar wins support e wins server ao mesmo tempo, muito menos com wins server apontando para si mesmo.

42 Seção [printers] O compartilhamento especial [printers] possui um compartilha- mento bastante semelhante ao [homes]. Se o nome do compartilhamento que o cliente quer não for encontrado nem no smb.conf e no [homes], então o Samba vai procurar uma impressora com este nome. Se for encontrada, será criado na mesma hora um compartilhamento com o nome desta impressora fazendo uma cópia da seção [printers]. Esta é uma forma bastante prática para compartilhar todas as impressoras conhecidas pelo servidor através do serviço CUPS. Para compartilharmos todas as impressoras conhecidas pelo servidor através do serviço CUPS devemos inserir ao final da seção [Global] as linhas: printing = cups printcap name = cups load printers = yes

43 Seção [printers]

44 Onde: printing = Ele indica o tipo de sistema de impressão a ser utilizado. O Valor padrão é o cups e é o recomendado atualmente para o Samba. printcap name = caso se use printing = cups, também deve ser colocado cups aqui, que é o valor padrão. Load printers = indica se o Samba deve ou não carregar uma lista de todas as impressoras disponíveis ao ser iniciado. Deve ser habilitado para que as impressoras disponíveis sejam compartilhadas através do [printers]. O valor padrão é Yes.

45 Seção [printers] Após estas linhas é necessário também criar o compartilhamento das impressoras: [printers] Comment = Compartilhamento das impressoras Path = /var/spool/samba Printable = Yes Browseable = yes Writable = no Guest ok= yes Use client driver = yes Public = yes

46 Seção [printers] Onde: Public – torna a impressora pública no domínio. Guest ok = yes – permite que usuários anônimos consigam acessar a impressora. Use client driver = yes – permite que seja usado o driver da máquina cliente para impressão na impressora compartilhada. Comment = comentário sobre o compartilhamento

47 Seção [printers] Onde: Path – diretório onde os trabalhos de impressão podem ser armazenados temporariamente. A instalação do SAMBA cria o diretório /var/spool/samba com este propósito e é o diretório que será usado aqui. Printable – valor yes para compartilhamento de impressoras. Faz com que o Samba trate este compartilhamento como uma impressora, e não um compartilhamento de diretórios comum. Equivalente ao parâmetro print ok = yes Browseable - permite visualizar todos os compartilhamentos de impressoras. Writable – deve ser configurado para no neste caso. O parâmetro printable já garante o acesso de escrita necessário para rotinas de impressão.


Carregar ppt "Sistemas Operacionais de Rede – SAMBA Professor: João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática."

Apresentações semelhantes


Anúncios Google