Samba

Guia compreensivo do Samba

Esse tutorial irá ajudá-lo a configurar um compartilhamento confiável e seguro entre Linux e Windows. Será exibido os passos necessários em ambos os sistemas operacionais.

Esse guia deve ser compatível com as seguintes versões do Ubuntu:

  • Dapper Drake (6.06)
  • Edgy Eft (6.10)
  • Feisty Fawn (7.04)
  • Gutsy (7.10)

Ele também funciona com as seguintes versões do Microsoft Windows (com um Grupo de Trabalho, não com um Domínio):

  • Windows 2000 Professional
  • Windows XP Home
  • Windows XP Professional
  • Windows XP 64-bit Edition

Porém, apenas foi testado com o Feisty Fawn e Windows XP 64-bit Edition.

Nesse guia nós iremos configurar um compartilhamento no Windows e acessá-lo no Linux. Isso aparente ser mais confiável e mais natural.

Configurando SMB no Windows

Instalando o protocolo SMB

Vá em menu Iniciar > Configurações > Painel de Controle > Conexões de rede. Clique com o botão direito sobre o ícone do adaptador de rede em questão e selecione Propriedades. Confira se Compartilhamento de arquivo e impressoras para redes... está listado. Se não estiver, você pode clicar no botão Instalar para instalar aquele serviço.

Se você tiver o firewall do XP habilitado, confira se Compartilhamento de Arquivo e Impressora está selecionado na aba de Exceções na configuração do firewall. Da mesma forma, confira se qualquer outro firewall que você usa não restringe o acesso ao SMB (compartilhamento).

Configurando o Grupo de Trabalho e o Nome do Computador

Clique com o botão direito no ícone Meu Computador da área de trabalho e selecione Propriedades. Escolha a aba Nome do Computador, clique em Mudar... e use Grupo de trabalho. Nesse exemplo nós usaremos MSHOME para o grupo de trabalho, o qual também é o padrão no Samba do Ubuntu. Também entre com o nome do computador (nesse exemplo, MAQUINA). O Grupo de Trabalho e o Nome do Computador não diferenciam entre letras maíusculas ou minúsculas. É importante reiniciar o computador agora. Por favor reinicie, não faça simplesmente log out.

Configurando o Controle de Acesso

Nós precisamos adicionar um grupo e um usuário para efetivamente controlar o acesso ao nosso compartilhamento do Windows.

Volte ao prompt de comando e digite as linhas abaixo. Mude "Senha De Compartilhamento" para a senha de sua escolha.

net localgroup UbuntuSMB /add
net user ubuntu SenhaDeCompartilhamento /add /passwordchg:no /expires:never
net localgroup UbuntuSMB ubuntu /add
net localgroup Users ubuntu /delete

Devemos ter certeza que a senha nunca irá expirar. Digite:

compmgmt.msc

Encontre a seção Usuários grupos e locais em Ferramentas do sistema. Clique com o botão direito no usuário ubuntu e selecione Propriedades. Habilite Senha Nunca Expira e clique em OK.

Desabilitando o Compartilhamento Simples

Essa opção não torna o compartilhamento mais fácil. Isso é basicamente um empecilho. Abra uma janela do Explorer e vá em Ferramentas->Opções de pastas.... Clique na aba Modo de exibição e desabilite Usar compartilhamento simples de arquivos. Clique em OK para sair.

Configurando seu Compartilhamento

No Explorer, encontre um drive ou uma pasta que você deseja compartilhar. No meu exemplo, eu irei compartilhar a pasta c:\compartilhar. Clique com o botão direito na pasta ou drive e selecione Propriedades. Vá a aba Compartilhamento e habilite Compartilhar esta pasta rede. Entre com um nome do compartilhamento (compartilhar, nesse exemplo). Clique em Permissões e remova Todos da lista de grupos. Agora adicione o grupo UbuntuSMB (Adicionar..., digite UbuntuSMB e clique em OK). Configure as permissões desejadas para o Ubuntu acessar esse compartilhamento. (no meu exemplo, eu habilitei total leitura e escrita). Isso significa que ninguém é permitido a acessar o compartilhamento, exceto os usuários no grupo UbuntuSMB. Se você explicitamente escolher Negar Todos, então o UbuntuSMB também seria negado, uma vez que Negar antecede Permitir e nós não queremos isso.

Se você conectar ao compartilhamento usando um usuário que não esteja no grupo UbuntuSMB, a conexão irá ocorrer, mas o ponto de montagem não será acessível a todos, apenas para o root. A listagem irá aparecer como algo:

?---------  ? ?    ?          ?                ? compartilhar

Você pode mudar a Lista de Controle de Acesso (LCA), as permissões, enquanto o compartilhamento estiver montado sem ter que reiniciar qualquer serviço nos sistemas operacionais. As mudanças terão efeito imediatamente (tanto no Feisty Fawn quanto no Windows XP 64-bit Edition)

Configurando o Samba no Ubuntu

Abra um terminal pelo menu Aplicações->Acessórios->Terminal e digite o seguinte.

$ sudo apt-get install samba smbfs
$ sudo mkdir -p /media/compartilharwin
$ sudo addgroup smb
$ sudo adduser $USER smb

Você tem que fechar a sessão atual para ter certeza que o seu usuário está no grupo smb. Você não precisa reiniciar.

Testanto seu Compartilhamento

Agora vamos tentar montar nosso compartilhamento do Windows! Lembre de substituir "Senha De Compartilhamento" pela senha do usuário ubuntu. O nome do usuário para o login não diferencia entre maiúsculas e minúsculas, contudo a senha sim. Também use os apropriados Grupo de Trabalho e Nome de Compartilhamento. "//MAQUINA/compartilhar" é chamado de nosso caminho do compartilhamento. Isso é um tipo de caminho UNC onde o formato é //NOME_DO_COMPUTADOR/NOME_DO_COMPARTILHAMENTO. No Windows, são usadas barras invertidas (\) no lugar das barras normais (/) para acessar caminhos UNC. Lembre-se que nós usamos "MAQUINA" para nosso nome do computador e "compartilhar" para nosso nome do compartilhamento.

$ sudo mount -t smbfs -o username=ubuntu,password=SenhaDeCompartilhamento,workgroup=MSHOME,gid=smb,uid=$USER,fmask=770,dmask=770,rw //MAQUINA/compartilhar /media/compartilharwin

Usando a permissão 770, nós damos acesso completo ao proprietário (o usuário atual), para todos no grupo smb e nenhum acesso aos usuários que não estão no grupo smb.

Se seu nome de compartilhamento tem espaços, você deve colocá-lo em aspas duplas (""), em geral para um nome como "Compartilhamento com Espaços":

$ sudo mount -t smbfs -o username=ubuntu,password=SenhaDeCompartilhamento,workgroup=MSHOME,gid=smb,uid=$USER,fmask=770,dmask=770,rw "//MAQUINA/Compartilhamento com Espaços" /media/compartilharwin

Você também terá que fazer alguma coisa na entrada do fstab que será mencionado depois.

Para testar outro compartilhamento você deve especificar outro nome de compartilhamento (em geral, //MAQUINA/compartilhar) e o destino (em geral, /media/compartilharwin)

Explicando o comando

  • sudo mount -- comando usado para montar um drive ao destino.

  • -t smbfs -- especifica que nós queremos usar o sistema de arquivos "smbfs" (Samba).

  • -o username=... -- esses são os parâmetros que nós passamos ao "smbfs" para fazer a conexão apropriada ao compartilhamento.

  • gid=smb -- isso especifica que nós queremos que o grupo "smb" seja proprietário do ponto de montagem.

  • fmask=777,dmask=777 -- essas são as permissões que estamos dando aos proprietários, todos os usuários do grupo "smb".

  • rw -- isso especifica que nós queremos acesso de leitura e escrita ao compartilhamento. ro daria acesso de apenas leitura.

Se seu terminal não exibir nenhuma mensagem após o comando, então provavelmente a montagem foi feita. Verifique se as permissões são as que você desejava.

$ stat -c %a /media/compartilharwin

Se elas forem diferentes de 770 como foi especificado, verifique se você digitou o comando mount de forma correta.

Nota Importante: você não pode montar um computador inteiro em um único local. Por exemplo, você não pode montar todo o computador //MAQUINA/ em uma pasta de seu sistema Linux. Você também precisa ter cuidado como especificar seu caminho de compartilhamento. //MAQUINA/compartilhar irá funcionar, mas //MAQUINA/compartilhar/ irá retornar o seguinte:

25034: tree connect failed: ERRDOS - ERRnosuchshare (You specified an invalid share name)
SMB connection failed

Montando Automaticamente o Compartilhamento

Segurança em nossa senha

Vamos desmontar todos os compartilhamentos que nós testamos a montagem no passo anterior.

$sudo umount -a -t smbfs

Nós não queremos que nosso usuário e senha estejam em um arquivo de texto simples e visível para todos em /etc/fstab. Então, nós podemos usar um arquivo credencial que somente o root pode ver desde que somente ele tenha montado esse compartilhamento. Digite o seguinte:

$ sudo touch /etc/smbcredentials
$ sudo chmod 600 /etc/smbcredentials

Abra /etc/smbcredentials usando seu editor de texto favorito.

  • Ubuntu/GNOME:

         gksu gedit /etc/smbcredentials

    Kubuntu/KDE:

         kdesu kate /etc/smbcredentials

Digite o seguinte no arquivo /etc/smbcredentials:

username = ubuntu
password = SenhaDeCompartilhamento

Salve-o e feche seu editor de textos. Alguns editores de texto fazem uma cópia do arquivo adicionando um ~ (til) ao nome do arquivo. Vamos ter certeza que esse arquivo será removido e então ninguém possa obter nosso usuário e senha. Tenha certeza de colocar o ~ (til) no fim da seguinte entrada.

sudo rm /etc/smbcredentials~

Registrando nosso Compartilhamento

Abra /etc/fstab da mesma forma que você abriu /etc/smbcredentials. Para cada compartilhamento que você deseja montar no boot do sistema, adicione uma linha como a seguinte.

//MAQUINA/compartilhar  /media/compartilharwin  smbfs auto,credentials=/etc/smbcredentials,workgroup=MSHOME,gid=smb,uid=1000,fmask=770,dmask=770,rw       0       0

uid=1000 é assumido como o usuário que você está usando agora. Mude isso para o ID do usuário atual ou o nome, como for necessário. Isso tudo deve estar em uma mesma linha do fstab. Pode aparecer palavras quebradas em seu editor de texto, mas desde que a linha não seja quebrada, está tudo bem. Salve e saia de seu editor de textos.

Se seu nome de compartilhamento contém espaços em branco, você deve substituí-los por \040, em geral para "Compartilhamento com espaços":

//MAQUINA/Compartilhamento\040com\040espaços     /media/compartilharwin        smbfs   auto,credentials=/etc/smbcredentials,workgroup=MSHOME,gid=smb,uid=1000,fmask=770,dmask=770,rw       0       0

Testando o fstab

Digite o seguinte para testar nossa montagem automática do Samba.

$ sudo mount -a -t smbfs
$ mount | grep smbfs

Nosso compartilhamento Samba deve ser listado. Ele também deve ter a acessibilidade e permissões corretas. Se ele não tiver, eu sugiro que você revise os passos anteriores.

Parabéns

Nosso compartilhamento deve funcionar perfeitamente agora, seguro e confiável. Ele deve aparecer em nosso sistema de arquivos no boot automaticamente.

Problemas

Por enquanto essa seção está vazia. Por favor adicionar quaisquer erros (e suas soluções) que você encontrar.

Créditos

Original: Comprehensive Samba Guide

Autor: Community Ubuntu

Tradutor: LuizAquino

Data: 09/03/2008



CategoryRevisada

Samba (last edited 2011-09-19 23:19:53 by localhost)