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.
Veja abaixo um exemplo de arquivo de configuração do Samba:
# Exemplo de arquivo de configuração para o Samba
# smb.conf,v 1.2.4.6 2002/03/13 18:56:16
#================ Global Settings ====================
[global]
# Executa uma ação quando o Samba trava:
panic action = /usr/share/samba/panic-action %d
# Nome do Grupo de Trabalho
workgroup = genova
# Descrição ou comentário
server string = %h server (Samba %v)
# Descomente a linha abaixo caso queira carregar automaticamente as impressoras
; load printers = yes
# Descomente a linha abaixo caso você queira admitir o acesso de usuários usando a conta de convidados
; guest account = nobody
invalid users = root
# Isto diz ao Samba para usar um arquivo de log para cada máquina que a ele se conectar
log file = /var/log/samba/log.%m
# Define o tamanho dos arquivos de Log
max log size = 1000
# É uma boa idéia deixar a opção security = user, isto vai obrigar o usuário a
# ter uma conta no servidor, pois sempre que alguém se logar a ele será
# requisitada a senha e o login
; security = user
# Você pode querer usar encriptação de senha para dificultar ainda mais
# a ação de pessoas mal intencionadas deixando como True a opção abaixo:
encrypt passwords = false
passdb backend = smbpasswd guest
# Você pode usar um arquivo customizado de
# configuração deixando descomentada a linha abaixo, a macro %m deve ser
# substituída pelo nome da máquina que esta conectada.
; include = /home/samba/etc/smb.conf.%m
# Muitas pessoas afirmam que esta opção melhora a performance do
# Servidor, você pode querer adicionar a seguinte linha no seu Smb.Conf.
# SO_RCVBUF=8192 SO_SNDBUF=8192
socket options = TCP_NODELAY
#----------------------- Browser Control Options ---------------------
# Mude o Local Master para NO caso você não queira o samba como um
# Master Browser na sua Rede
local master = yes
; os level = 20
# Dá suporte a logins de redes para o Windows 2000 e XP
; domain logons = yes
# Não use esta opção caso você tenha um Domínio Windows NT fazendo
# o trabalho de Domain Master
; domain master = auto
; preferred master = auto
#--- End of Browser Control Options ---
# Sessão de Suporte a Windows Internet Name Serving:
# Wins Support - Diz ao componente do Samba NMBD para ativar este Wins Server
; wins support = yes# WINS Server - Diz ao NMBD para ser
# um Cliente WINS Veja que: O Samba pode ser um WINS
# Server, ou um WINS Client, mas não os 2
; wins server = w.x.y.z
# Inclui informações do servidor DHCP, se este não estiver instalado
# comente esta linha abaixo.
include = /etc/samba/dhcp.conf
# Isto previne o NMBD de procurar por nomes NetBios em DNS.
dns proxy = no
# Define o Chat para a alteração de senhas e define o programa de senhas
passwd program = /usr/bin/passwd %u
passwd chat = *InsirasUmasNovasSenha:* %n
*RedigitesAsSenha:* %n
.
# Habilita logins com caracteres maiúsculos e minúsculos e mantém os
# caracteres dos nomes de arquivos na sua exata forma
; password level = 8
; preserve case = yes
# Os seguintes parâmetros somente serão úteis caso você tenha o pacote
# linpopup instalado
; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
obey pam restrictions = yes
[homes]
comment = Diretórios Pessoais
browseable = no
# Por padrão os diretórios pessoais são exportados com o modo
# somente-Leitura
# Altere o próximo parâmetro para YES se você que deixá-los como Leitura e
#Escrita
writable = no
# A criação de arquivos é setada como 0700 por razões de segurança se você
# deseja criar arquivos com permissões group=rw, então marque o próximo
# parâmetro como 0775
create mask = 0700
# A criação de diretórios usa como padrão permissões 0700 como medida de
# segurança, caso você queira que as permissões sejam group=rw então
# marque o parâmetro abaixo como 0775.
directory mask = 0700
# Descomente as linhas abaixo e crie o diretório NETLOGON para Domain
#Logons
# você terá que configurar o Samba para agir como um controlador de #domínios também
;[netlogon]
; comment = Network Logon Service
; path = /home/samba/netlogon
; guest ok = yes
; writable = no
; share modes = no
; write list = ntadmin
# Cria um compartilhamento de arquivos temporários, este está definido no
#diretório /tmp, pode ser lido
# e escrito, é publico.
[tmp]
comment = Arquivos temporários
path = /tmp read only = no public = yes
# Esta parte cria uma área pública a todos os usuários
# Esta área fica no diretório /home/public (Você pode alterar o local se quiser)
# Para os arquivos que estejam nesta área é permitido
# a impressão a leitura e a impressão mesmo sendo um usuário com um ID
#longe do root.
[public]
comment = Area Publica
path = /home/public
public = yes
writable = yes
printable = yes
# A linha abaixo determina qual o grupo que tem permissão para escrever nos
# Arquivos depositados neste diretório, altere o valor 'admin' para o grupo
# Que você quer que tenha permissão para escrever
# Nos arquivos.
; write list = @admin
# Comente as linhas abaixo caso não queira compartilhar impressoras
[printers]
comment = Todas as Impressoras
browseable = no
path = /tmp
printable = yes
public = no
writable = no
create mode = 0700
# Um exemplo para compartilhar seu CD-Rom com os outros usuários:
# Pode ser que você precise criar o diretório /cdrom (Descomente as linhas
#abaixo caso queira compartilhar)
;[cdrom]
; comment = CD-Rom em Servidor Samba
; writable = no
; locking = no
; path = /cdrom
; public = yes
; preexec = /bin/mount /cdrom
; postexec = /bin/umount /cdrom
# Os próximos 2 parâmetros mostram como montar automaticamente um
# CD-Rom quando este for acessado, para isto o arquivo /etc/fstab
# precisa conter uma entrada como esta
# /dev/scd0 /cdrom iso9660 defaults,noauto,ro,user 0 0
# Isto se você possui um cdrom em /dev/scd0
# Se você não quer usar o auto mount esteja certo que o CD esteja montado
# em /cdrom
Após reconfigurar este arquivo será necessário reiniciar o servidor smb com o seguinte comando:
[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?
[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"? )
[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.
[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!
[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.
[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.