SUSE 10 - servidor Samba, Tutorial e dicas.

Atualizado em: 23/07/2006



Sobre este documento

Este documento é uma adaptação do tutorial para CL10, o mesmo smb.conf funciona nas duas distro, que importa é a versão do Samba, como são semelhantes e da versão 3, as diferenças ficam por conta de comandos especificos sobre cada distro, neste documento estão os comandos especificos para uso no SUSE 10.

Tutorial com comandos e indicações exclusivos SUSE, comandos comum a todas as distro, ao Samba versão 3, ao mundo GNU/Linux ou especificos ao pacote estão no FAQ ou tutorial especifico do pacote ou comando.

Os comandos e dicas podem não atender as suas necessidades, não ser compatível com sua instalação, use como referencia, tente adaptar ao seu ambiente.

A configuração do servidor Samba no SUSE10 tem muita semelhança com o CL10, inclusive pode utilizar o mesmo smb.conf, as alterações são minimas, que eu lembro muda o comando para iniciar o serviço, criar usuários e instalar os pacotes, o restante não muda, configuração do cliente windows não muda, portanto pode seguir os tutorias para CL10 com um pouco de cautela que deverá funcionar sem problemas.

Página principal sobre Samba, Instalação e configuração, indicações, FAQ, tutoriais, modelos de configuração, smb.conf e outros documentos especificos como login script, tutoriais, lixeira, configurar estações e etc.
http://www.zago.eti.br/A-menu-samba.html

Sobre SUSE 10

Consulte "Suse Linux Referêcia", a configuração do Samba inicia na página 781 deste guia, como baixar este documento e mais dicas sobre ferramentas e aplicativos do SUSE 10 em;
http://www.zago.eti.br/distro/suse10-dicas.html

Ambiente - instalação do SUSE 10

Neste tópico não tive preocupação com segurança e desempenho do servidor, utilizei maquina dedicada, Semprom 2.400 com 1 GB de RAM, este servidor não está de cara para internet, funciona somente como servidor interno para outros serviços também, portanto optei pela instalação do ambiente KDE para uso remoto via ssh -X e FreeNX e configurei o grub para iniciar em modo texto.

Acho que não existe uma formula mágica de configuração nem definição do hardware, tudo depende de estudo e avaliação sobre a destinação do servidor, em sua instalação deve ser avaliado; uso de banco de dados, volume de dados, tipos de acesso, segurança, outros processos rodando no servidor e muitos outros detalhes devem ser considerados, testados para avaliar o perfil de instalação e configuração, use este perfil em ambiente de testes, para conhecer e colocar o servidor Samba em funcionamento, depois continue refinando a configuração conforme suas necessidades.

Com este perfil já instala os pacotes do Samba server e cliente, resta somente a configuração, veja os pacotes instaldos;

  suse10:~ # rpm -qa | grep samba
  kdebase3-samba-3.4.2-26
  samba-client-3.0.20-4
  yast2-samba-client-2.12.4-2
  yast2-samba-server-2.12.8-2
  samba-3.0.20-4
  
  suse10:~ # rpm -qa | grep smb
  libsmbclient-3.0.20-4

Configurar servidor Samba

Existem ferramentas amigáveis via ambiente gráfico, inclusive com acesso remoto, também pode se configurar via linha de comando ou combinando o uso de ambas, isto depende da facilidade e gosto de cada um, configurações que requerem poucos recursos de configuração e poucos usuários até vai bem com ferramentas como Yast2 ou webmin.

Considere fazer manualmente ou copiar o smb.conf de outra instalação, via ambiente gráfico parece mais amigável mas não cotempla todas as possibilidades de configuração, via linha de comando com auxilio de scripts pode tornar mais fácil e rápido.

Neste documento toda a configuração é via linha de comando, estão no formato para copiar e colar, procure acessar remotamente via ssh, FreeNX ou putty, em seu ambiente preferido, copie as linhas de comando para seu editor preferido, faça as alterações, copie novamente para colar no console, veja mais sobre estas dicas em;
http://www.zago.eti.br/samba/dicas-e-truques.html

Comandos utilizados nesta configuração:

Cosiderando que já instalou os pacotes do Samba como descrito nos tópicos anteriores, placa de rede configurada e funcionando sem problemas, ping funcionando sem erros entre servidor e as maquinas da rede, tudo OK nas duas direções, então vamos aos comandos para configurar o servidor, todos os comandos deste tópico são executados no servidor Samba.

Execute ou copie e cole em um terminal, konsole, shell... as linhas abaixo:

  mkdir /home/netlogon
  mkdir /home/profiles
  mkdir /home/docs
  mkdir /home/diretoria
  chmod -R 777 /home/profiles
  chkconfig  smb on
  cd /etc/samba
  rcsmb start
  
  # criar o usuário zago (Linux e Samba), digite a senha quando solicitado
  useradd -m zago
  passwd zago
  smbpasswd -a zago
  
  Simplificando, linhas para copiar e colar todas de uma vez,
  
  usuario=zago
  senha=minhasenha
  useradd -m $usuario
  echo $senha | passwd --stdin $usuario
  ( echo $senha ; echo $senha ) | smbpasswd -s -a $usuario
  ##
  
  Configure o /etc/samba/smb.conf, Yast2, webmin, copie de outra instalação, 
  utilize  este modelo na comparação ou substitua o original da configuração por este,
   
  http://www.zago.eti.br/modelos/smb.conf-suse10.txt
  
  comando para importar smb.conf-suse10.txt diretamente no editor  "vi" (veja cp.txt)
  
  mv /etc/samba/smb.conf /etc/samba/smb.confori
  vi /etc/samba/smb.conf
    :r !lynx -dump http://www.zago.eti.br/modelos/smb.conf-suse10.txt
  
  Recarregue as alterações com;
  
  rcsmb reload

Agora, com Samba configurado e rodando, entre no yast e na configuação do Samba, pode ser em ambiente texto ou gráfico, procure e habilite a opção de iniciar Samba automaticamente no boot, não precisa fazer mais nada, na saida será executado o suseconfig e não terás problemas na configuração das estações, não sei explicar o porque, quando não executar este procedimento vai ocorrer erro ao adicionar estações Win XP, talvez falte algum comando como executar suseconfig ou algo do tipo, quando tiver tempo, procuro por uma solução mais elegante, por enquanto siga esta dica quando configurar a estação winxp conforme tutorial indicado abaixo, este quebra-galho funciona e resolve o problema.

Prontinho, servidor no ar!, aproveite e faça um teste no smb.conf, muito simples, veja o que está sendo interpretado pelo Samba com o comando;

testparm -v

Caso retorne alguma indicação de erro, já sabe, tem que resolver todos os problemas antes de prosseguir, pode ser erro de digitação ou outro qualquer, tem que resolver o problema antes de configurar a estação.....

Também vai notar muitas diretivas que não constam no smb.conf, estas diretivas são carregadas com o valor default quando não definida (omitidas) no smb.conf o samba carraga o valor default, caso deseje ou precise alterar alguma opção, então edite o smb.conf e altere ou inclua a diretiva com a opção desejada, reinicie o Samba e volte a testar com testparm para conferir os valores em uso, caso não tenha erros, tente primeiro colocar o samba em funcionamento e testar a partir das estações , depois faça o ajuste fino, facilita no entendimento e solução de problemas.

Pode redirecionar o resultado para arquivo e acessar com seu editor preferido, exemplo para redirecionar a saida para o arquivo meuteste testparm -v > meuteste, veja mais dicas sobre outros comandos, uso dos logs e solução de problemas na página indicada no inicio deste documento (A-menu-samba.html, dicas-e-truques.html ...)

Agora vem a configuração da estação windows, siga as dicas de como configurar a estação para fazer login no servidor samba.

Na primeira instalação do Samba o ideal é usar uma estação win98 por ser mais fácil de configurar, depois que funcionar configure estações com outras versões de windows, procure utilizar ambiente de testes, utilize instalações zeradas, sem nada de firewall, facilita na solução de problemas, depois da primeira configuração já sabe como fazer e tem melhores condições de replicar o procedimento nas demais instalações e aplicar suas regras de sugurança.

Configuar estação win98, procure neste documento pelo tópico: Configurar cliente - Estação Win98 e ME

As demais versões do windows requer mais comandos no servidor samba pra incluir as estações, continue consultando este documento e demais arquivos do FAQ no diretório samba, procure pelo nome do arquivo associado à versão do windows instalado nas estações.

Win XP cliente - configurar estações Win XP como cliente Samba

Tem varios procedimentos para chegar ao mesmo resultado, tem que mexe no registro do windows, tem que cadastra a maquina no servidor manualmente e outros caminhos, em resumo, no smb.conf indicado nesta instalação, já está configurado para adicionar as estações automaticamente, precisa definir a senha de root do samba e criar um grupo com mesmo nome do grupo das estações, pode seguir as dicas para CL10 que funcionam no SUSE10 também, siga este tutorial com telas de exemplo da configuração;
http://www.zago.eti.br/samba/cliente-winxp-pro.html

Nas mensagens do FAQ e outros tutoriais tem mais dicas sobre a configuração da estação windows, pesquise neste diretório os arquivos com win no nome.

Profile - Móvel ou local

Comandos e configuração no servidor Samba.

O smb.conf indicado neste tutorial está configurado para não utilizar perfil móvel, está assim no smb.conf;

  # Logon no Win2k/XP sem profiles
          logon path = 

Esta diretiva "logon path =" sem parametro ou diretiva, indica que não usará perfil móvel, portanto, sem perfil dos usuários no servidor Samba.

Quem vai usar perfil móvel, precisa alterar no smb.conf para incluir o profile móvel, como neste exemplo que grava o perfil por usuário, username no login "%U" ;

  # Where to store roving profiles (only for Win95 and WinNT)
  #        %L substitutes for this servers netbios name, %U is username
  #        You must uncomment the [Profiles] share below
  ;   logon path = \\%L\Profiles\%U
  logon path = \\%L\Profiles\%U

Também precisa criar o compartilhamento a ser utilizado para salvar os arquivos, precisa criar o diretório e configurar no smb.conf exemplo;

  criar o diretório
   mkdir /home/profiles
   
  Incluir no smb.conf este compartilhamento, ajuste as permissões e caminhos.
  
  [Profiles]
      comment = Network User Profiles
      path = /home/profiles
      read only = no
      create mask = 0700
      directory mask = 0700

No Samba é somente isto, caso tenha algum problema com permissão, faça um teste com chmod, libere geral com chmod -R 777 /home/profiles, veja nos logs e faça os ajustes, o restante da configuração é na estação windows.

Mesmo com esta configuração no smb.conf pode configurar estações para não usar perfil móvel, pode ter um misto de usuários com perfil móvel e outros com perfil local, use o GPEDIT.MSC na configuração da estação, mais detalhes, use CTRL+F e procure por GPEDIT.MSC em;
http://www.zago.eti.br/samba/samba-xp-w2k-win2003.txt

Configurar cliente - Estação Win98 e ME.

Na estação Win98 configure em propriedades do ambiente de rede:

  No Desktop da estação win98
    click com botão auxiliar em embiente de rede
    click em Propriedades
    Na aba Configuração, selecione:
    Cliente para redes Microsoft
    click em Propriedades
    marque "Efetuar logon no dominio do Windows NT
    preencha a caixa "Dominio do NT" com o grupo de trabalho MYGROUP
    OK
    click na aba identificação
    altere o grupo para MYGROUP "Grupo de Trabalho: MYGROUP
  Ok até fechar as janelas e aguarde até pedir para  reiniciar o computador

No proximo boot na tela de login informe o usuario, senha e dominio: Onde:

  usuário ->  seja um usuário cadastrado no samba
  senha   ->  a senha deste usuário pro samba
  dominio ->  Neste exemplo foi utulizado como dominio MYGROUP, obrigatoriamente
  tem que ser também o grupo de trabalho no ambiente de rede do windows e também
  ser a diretiva no smb.conf no [global]:
     workgroup = MYGROUP

Entendeu....., o mesmo nome nos 3 lugares tem que serem iguais.

Caso não complete o login, reveja a configuração, sem login não terá acesso aos compartilhamentos do Samba, caso completou o logim, terá acesso aos seguintes compartilhamentos:

Click em ambiente de rede para encontrar o compartilhamento Samba, click sobre ele e encontrará 3 compartilhametos, public, tmp e zago Explicando: Public e tmp são os compartilhamentos do samba e zago é o compartilhamento do usuario criado no Samba como no exemplo acima. Em Public o usuario zago não tem acesso e tem todos os direitos em tmp e zago.

Enquanto não conseguir os resultados acima não adianta tentar os proximos passos, a rede não está funcionando e os proximos itens depende desta parte funcionando corretamente.

Caso não teve exito, tem algum caracter errado, passo errado ou algo parecido, refaça todos os passos até conseguir o resultado indicado acima para depois personalizar, login script, permissões, criar outros compartilhamentos e ajustes personalizar o servidor a seu modo, não esqueça dos logs, eles são sua grande fonte de informação na procura do problema.

Mapear unidade de rede automaticamente no login, controles de acesso, permissões, controle por tipos de arquivos que podem salvar, profile móvel, lixeira no servidor, antí-virus, log, auditoria e muitos outros recursos para refinar e personalizar seu servidor Samba, veja indicações de tutoriais e FAQ especifico em;
http://www.zago.eti.br/samba/A-menu-samba.html
Página principal deste site (FAQ)
http://www.zago.eti.br/menu.html