Configurando o Samba

Criado por Andrew Tridgell, o Samba é uma excelente ferramenta para fornecer conectividade entre sistemas Windows e Unix-like. Nesse artigo procuro descrever os principais aspectos de sua configuração.

[ Hits: 114.919 ]

Por: Roberson Carlos em 01/05/2006 | Blog: http://carlrobers.wordpress.com


Entendendo os parâmetros do arquivo smb.conf



O arquivo smb.conf faz uso de algumas macros como estas abaixo:

  • %M, Máquina (Machine)
  • %U, Usuário (User)
  • %L, Nome da Máquina Local (Local Machine)

Ele é dividido em duas partes, são elas:
  • Opções Globais (Global Settings)
  • Compartilhamento

Os principais parâmetros da sessão Global Settings são:
  • NetBios Name
    Informações do servidor Windows, ou seja, é o nome da máquina sob o protocolo NetBios.
  • Workgroup
    O nome ou o grupo de trabalho do domínio.
  • Server String
    Uma breve descrição para o domínio para os PCs que têm o Windows como sistema operacional.
  • Log File
    Este parâmetro indica o local e a forma que serão segmentadas as informações de log vindas do relacionamento entre o Servidor e os Clientes Samba. Neste caso, é utilizado um parâmetro macro adicional para dizer ao Servidor que um arquivo de log deve ser criado para cada máquina que nele esteja conectada, ou seja, se a um servidor Linux estiverem conectados 4 PCs Windows e são, respectivamente, chamados de maquina1, maquina2, maquina3, maquina4, então teremos os arquivos de log da seguinte forma: maquina1.log, maquina2.log, maquina3.log e maquina4.log. Os arquivos de log ficam depositados dentro do diretório /var/log/samba.
  • max log size
    Neste parâmetro, deve ser colocado o valor em kilobytes para o tamanho máximo dos arquivos de log, caso você deixe este parâmetro com o valor 0, os arquivos terão um valor indefinido, podendo até mesmo ocupar metade de um disco rígido, portanto esta opção não é muito aconselhada, pois arquivos de log longos demais demoram a ser carregados e o mais importante, ninguém tem paciência para lê-los. Quando um arquivo de log chega ao seu limite seu conteúdo é movido para um arquivo com extensão .old e outro arquivo de log é criado, isto se nenhum arquivo com extensão .old já existir, se isto for verdade, o arquivo com extensão .old será removido permanentemente do seu HD e um novo log com conteúdo diferente o substituirá.
  • Security
    Este parâmetro refere-se a segurança, caso você defina o valor deste como "user", então toda vez que alguém quiser ter acesso ao servidor devera passar uma senha, esta é uma boa idéia, caso você necessite de segurança em seu servidor.
  • Encript Passwords
    Esta é uma opção booleana, então retorna somente dois valores, falso ou verdadeiro. Você pode usar encriptação de senhas ativando esta opção, isto dificultará a ação de algum cracker que pode estar há dias com um sniffer sondando sua rede em busca de senhas. Ele pode até conseguir capturar alguma coisa com seu software espião, porém terá um árduo trabalho para desenrolar o conteúdo.
  • Socket
    Esta opção melhora o desempenho do servidor
  • Local Master, OS Level, Domain Master, Preferred Master
    Estas opções fazem o servidor funcionar como um Browser Master. São estas opções que permitem um sistema Windows enxergar as outras máquinas que estão por perto e quais recursos estão disponíveis. Este serviço pode ser visualizado abrindo no Windows a janela "Meus Locais de Rede", a máquina terá a função de PDC, precisará controlar o mecanismo de browsing.
  • Domains Logons
    Habilita logins no domínio definido no parâmetro "Workgroup", se esta opção for setada como "NO", então não será permitida a entrada de ninguém no domínio.
  • Logon Script
    No momento em que é feito o login de um usuário em uma determinada máquina, é executado este script com extensão BAT, é ele que mostra uma tela de boas vindas na exata hora em que o usuário se conectar, assim como acontece nos servidores FTP. Para se criar um arquivo deste é necessário abrir um editor de textos como o JED ou mesmo o Bloco de Notas e escreva os seguintes comandos nele:

    net send genova Seja Bem Vindo ao Genova


    No qual genova é o nome da máquina. Este arquivo deve ser salvo com o nome da máquina por motivo de organização e seguido da extensão BAT e armazenado no diretório /usr/local/samba/lib/netlogon. Dentro deste diretório, crie os arquivos com o nome da máquina seguidos da extensão "bat" e adicione o comando demonstrado acima. É necessário um arquivo para cada máquina.

    No Linux, você pode usar o seguinte comando para criar um arquivo para a máquina que possui o nome genova:

    # echo "net send genova Seja Bem Vindo Ao Genova" > genova.bat

  • Logon Path
    Este parâmetro se encarrega de guardar o local onde deverão ficar os arquivos referentes ao profile de cada usuário. A macro %L deve ser substituída pelo nome da máquina local, e %U é o nome do usuário.

    Exemplo:

    //genova/profiles/robersonfox

    O Primeiro argumento é definido com o nome da máquina, o segundo é o nome do compartilhamento e o terceiro o nome do usuário.

  • Logon Drive, Logon Home

    É aqui que devemos configurar a unidade que deve ser mapeada e onde está o diretório home. A segunda opção não é necessária já que o samba mapeia a unidade automaticamente.

    A próxima sessão do arquivo é a Share Definitions, iremos configurar o comportamento dos diretórios dos usuários. Nesta sessão, temos os cabeçalhos, homes, NetLogon, Profiles, Printers, TMP, Public entre outros. A seguir o significado dos principais parâmetros:
  • Comment
    Mostra um comentário para o diretório em questão
  • Browseable
    Define se o diretório pode ser visto a partir de um browser
  • Writable
    Define se é possível ou não escrever neste arquivo
  • Public

    Este cabeçalho é um dos mais importantes, senão o mais importante. Em uma rede os usuários logados não tem um acesso livre aos documentos dos outros usuários, mas se eles não tem acesso aos arquivos, seria bobagem logar-se na rede, por isto existe este diretório, que é onde todos têm permissões para ler e escrever, desde que façam parte do grupo, é claro. O que define se um diretório é publico ou não é o parâmetro public, caso ele seja setado como "YES", então este será reconhecido pelo servidor como público, mas antes não se deve esquecer de deixar a propriedade do parâmetro Writable como "YES".
  • Write List
    Este parâmetro diz ao servidor qual o grupo que tem permissão para gravar no diretório, caso este seja definido como "@root", somente quem faz parte do grupo root poderá gravar neste diretório, os outros usuários somente poderão ler o conteúdo deste diretório.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Entendendo os parâmetros do arquivo smb.conf
   3. Testando o Samba e fazendo ajustes necessários
   4. Exemplo do arquivo smb.conf
Outros artigos deste autor

Gravação de CDs com o K3B

Modem 3G no Ubuntu Linux 8.04 - Qualquer operadora

Configurando uma conta do Yahoo no Evolution

Hamachi - Redes virtuais utilizando software e internet

Gravando CDs em modo texto

Leitura recomendada

Adicionando facilidades ao Samba

Servidor Samba com autenticação no Windows XP e troca de senha automática

Proteção contra vírus usando Samba + ClamAV + Samba-vscan no Fedora Core 3

Linux logando no Domínio NT

Integrando o Debian-BR-CDD ao domínio Active Directory

  
Comentários
[1] Comentário enviado por dupotter em 02/05/2006 - 13:25h

ótimo artigo, bom para novatos e até para quem já meche com samba, muito esclarecedor.

[2] Comentário enviado por brejao em 02/05/2006 - 14:07h

Goste do artigo, especialmente para quem possui rede com servidor linux e as demais, windows.

[3] Comentário enviado por upaf em 02/05/2006 - 14:40h

Ótimo artigo! Parabéns!
Aproveitando eu queria postar uma dúvida, caso alguém possa me ajudar.
Utilizando um artigo anteirormente postado aqui no VOL, eu criei uma impressora PDF no meu Samba, assim, se alguém quiser transformar um arquivo em PDF, basta imprimí-lo nessa impressora.
Meu problema é que especificamente para esse compartilhamento ImpressoraPDF, eu queria deixá-la SEM AUTENTICAÇÃO de usuário/senha, ou seja, qualquer pessoa poderia utilizá-la.
Tem como fazer isso somente para esse compartilhamento?

Valeu!

[4] Comentário enviado por dupotter em 02/05/2006 - 15:13h

coloca essas linhas na parte do seu /etc/samba/smb.conf que diz respeito a essa impressora pdf no seu samba:

public = yes
guest ok = yes

[5] Comentário enviado por upaf em 02/05/2006 - 16:09h

dupotter, valeu pela dica, mas não deu certo... :(
Eu também já tentei criar um usuário novo "impressora", dei acesso à ele no Samba e alterei a seguinte linha na configuração do Samba:

guest account = impressora

Coloquei esse usuário na lista de acessos e nada...
Quando eu tento imprimir, o trabalho fica na fila. A única forma de fazer funcionar é fazendo um mapeamento na rede (autenticando), aí, nem que seja com o usuario "impressora", vai legal.

Estou usando o Debian 3.1

Existe algum parâmetro no Samba que diz pra ele usar um usuário específico quando não for um usuário já autenticado? (essa é a idéia da linha acima "guest account"? )

Valeu!


[6] Comentário enviado por dupotter em 03/05/2006 - 07:54h

ai vc ta trocando o usuário guest (fantasma), que no caso seria nobody, por impressora, faz o seguinte, manda seu smb.conf pro meu email, dupotter@gmail.com, ou cola aqui mesmo na caixa de comentário, a parte das impressoras, pra gente poder dar uma olhada.

[ ]'s

[7] Comentário enviado por piuquest em 25/08/2006 - 09:14h

Boa!
mas cara tenhu uma dúvida... meu dominio eh 2003 server
e minhas estações linux, as estações estão já todas logando no dominio windows 2003, porém gostaria q aos usuarios se logarem nas estações fosse possível mapear compartilhamentos no 2003 automaticamente de acordo com cada senha!

abraço!

[8] Comentário enviado por robersonfox em 25/08/2006 - 13:53h

piuquest
Explique um pouco melhor, não compriendi bem a pergunta.

[9] Comentário enviado por anaell em 24/10/2006 - 00:46h

muito bom o artigo!! além da didatica usada somando ao exemplo do smb.conf no final, poxa, nossa 1000. valeuuu

[10] Comentário enviado por Tyros em 02/11/2006 - 21:17h

Boas, sou novo nisto d linux e tb de samba, e estou com algumas dificuldades em conseguir aceder do linux para uma maquina windows, sera k alguem me podia explicar como faço, quais os comandos a por na prompt, o k tenho d configurar etc etc, ou indicar-me algum toturial. utilizo de momento o fedora 5... abraço e agradecia k alguem podesses esclarecer as minhas duvidas, é bastante importante para mim, obrigado.

[11] Comentário enviado por lipecys em 28/01/2008 - 08:37h

cara, muito bom seu artigo.........
Valew mesmo.

[12] Comentário enviado por henriquecorbo em 22/05/2011 - 14:33h

Eu uso o Fedora 14 em um VM no VirtualBox, mas não consegui compartilhar nenhuma pasta o Windows. Existe algum assistente gráfico que possa me auxiliar melhor. Eu não sei onde estou errando.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts