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.
Parte 2: Entendendo os parâmetros do arquivo smb.conf
- %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áginas do artigo
1. Introdução2. 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
Rodando jogos a partir de uma imagem ISO
Modem 3G no Ubuntu Linux 8.04 - Qualquer operadora
Leitura recomendada
Samba + DHCP + Webmin em 3 distribuições Linux
Samba 4 - Configurado para reportar a diferentes redes
Servidores Debian ou Ubuntu integrados ao AD com cid-tty
Samba - PDC com Debian e Clamwin antivírus sincronizado nas estações
Comentários
ótimo artigo, bom para novatos e até para quem já meche com samba, muito esclarecedor.
Goste do artigo, especialmente para quem possui rede com servidor linux e as demais, windows.
Ó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!
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!
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
public = yes
guest ok = yes
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!
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!
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
[ ]'s
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!
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!
piuquest
Explique um pouco melhor, não compriendi bem a pergunta.
Explique um pouco melhor, não compriendi bem a pergunta.
muito bom o artigo!! além da didatica usada somando ao exemplo do smb.conf no final, poxa, nossa 1000. valeuuu
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.
cara, muito bom seu artigo.........
Valew mesmo.
Valew mesmo.
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.