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.900 ]

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


Testando o Samba e fazendo ajustes necessários



É no compartilhamento Netlogon que estão todos os arquivos, estes estão localizados no diretório /usr/local/samba/lib/netlogon/, é nele que os scripts definidos no parâmetro Logon Script devem ficar. Caso este diretório não exista, será necessário criá-lo, para isto execute o seguinte comando em um terminal:

# mkdir -p /usr/local/samba/lib/netlogon

Este comando criará os diretórios recursivamente caso os mesmos ainda não existam. Os arquivos "profile", criados acima, aqueles que saúdam o usuário assim que ele se loga na máquina, devem ser postos aqui. Dentro do diretório onde devem ser postos os profiles, execute o seguinte comando para alterar o modo dos arquivos:

# chmod 755 * ; ls -l

Ainda existe a necessidade de criar um último compartilhamento e profiles. Neste compartilhamento deve ser colocado os profiles de cada usuário, de um outro ponto de vista existirão dentro do diretório/export/smb/ntprofile outros diretórios com os nomes de cada um dos usuários (Logins) e dentro destes diretórios deverão ficar os profiles de cada maquina, você pode criar os diretórios usando o seguinte comando:

# mkdir -p /export/smb/ntprofile

Copie para esta área os profiles de cada usuário, esteja certo que no arquivo smb.conf os cabeçalhos profiles e netlogon estejam com seus parâmetros path ajustados da seguinte forma:

[netlogon]
path = /usr/local/samba/lib/netlogon

[profiles]
path = /export/smb/ntprofile

Para testar se o arquivo smb.conf foi bem configurado, passe o seguinte comando em um terminal:

# testparm

Este programa detectará qualquer erro presente no arquivo.

Agora que a configuração do arquivo smb.conf está completa, devemos criar as contas para os usuários que deverão ter acesso ao domínio em questão. Para fazer isto, devemos adicionar um usuário às contas do Linux (Servidor) com o comando useradd, ou outro programa qualquer que faça o serviço. Após adicionar um usuário será necessário adicioná-lo no arquivo /etc/samba/smbpasswd. Este arquivo mantém as senhas que serão utilizadas para a autenticação de cada usuário que queira fazer uso dos diretórios do domínio, em alguns casos este arquivo existe dentro do diretório /etc/samba/private, caso isto seja verdade, talvez você veja algumas mensagens de erro ao executar o comando smbpasswd, para solucionar o problema basta copiar o arquivo para dentro do diretório /etc/samba.

Como root passe o seguinte comando em um terminal para adicioná-lo ao arquivo smbpasswd:

# smbpasswd -a root

Este comando adicionará o usuário root ao arquivo. No entanto, o usuário root já era registrado nos arquivos do servidor, mas se quisermos adicionar um usuário novo devemos seguir o exemplo a seguir. Neste exemplo, iremos adicionar um usuário chamado "Roberson Fox":

# useradd -c "Roberson Carlos Fox" -m robersonfox
# smbpasswd -a robersonfox


Este comando criará uma conta no arquivo /etc/passwd e no arquivo /etc/samba/smbpasswd, repita o comando acima até criar o número total de usuários.

Ainda nos resta um último procedimento, devemos criar um diretório para cada usuário no diretório /export/smb/ntprofile. Estes diretórios para os usuários serão utilizados para o armazenamento de arquivos pessoais de cada um, caso este arquivo não exista, o Windows emitirá uma mensagem de erro informando que não possui permissão para manipular o arquivo de profile daquele usuário, assim sendo, ele gravará a sessão de login em um local temporário. Então, toda vez que o usuário tentar se conectar ao servidor, o Windows terá que recriar ou usar um profile temporário, não podendo assim reaproveitar as informações da última sessão. Para criar os diretórios faça o seguinte para todos os usuários:

# mkdir -p /exports/smb/ntprofile/nome_do_usuário
# chown nome_do_usuário.grupo_do_usuário /exports/smb/ntprofile/nome_do_usuário


Ainda é necessário criar as contas especiais para cada máquina. As contas especiais devem ter login simétrico ao nome da máquina e devem ser adicionados no final do nome o caractere $, já a senha deve ser o nome da máquina em letras minúsculas. Exemplo:

# useradd -d /dev/null -c nome_da_maquina -m -s /bin/false nome_da_maquina
# smbpasswd -m -a nome_da_maquina


Crie uma conta especial para cada máquina, não se preocupe quanto a segurança, se você seguir os passos acima, todas as contas especiais terão um shell inválido e um diretório home nulo.

Agora resta-nos iniciar os servidores, para isto passe os seguintes comandos em um terminal:

# smb start
# nmbd
# smbstatus


Caso você queira iniciar automaticamente os servidores, adicione a um arquivo chamado "smb", que fica dentro do diretório /etc/rc.d/inet.d/, as seguintes linhas, caso este arquivo não exista é necessário criá-lo.

#! /bin/sh
. /etc/rc.d/inet.d/functions
. /etc/sysconfig/network
#[ ${NETWORKING} = "no" ] && exit 0
case "$1" in
start)
echo
echo -n "Iniciando Servidores: "
smbd -D
nmbd -D
echo ""
touch /var/lock/subsys/smb
clear
echo "Pronto"
;;
stop)
echo -n "Parando Servidores"
killproc smbd
killproc nmbd
rm -f /var/lock/subsys/smb
clear
echo "Pronto"
;;
*)
echo "Use: smb {start : stop}"
exit 1
esac

Para configurar o Windows a fim de que se possa fazê-lo parte do domínio, logue-se na máquina como administrador e no desktop clique com o botão direito do mouse sobre o ícone "Meu Computador" e vá até a opção "Propriedade", logo surgirá uma janela denominada "Propriedades do Sistema", o atalho para se chamar esta janela é: tecla Windows + Pause-Break. Na guia "Identificação de Rede" clique em "Propriedades" na janela que surge e altere o campo "Domain" com o nome do domínio declarado no parâmetro Workgroup no arquivo de configuração do Samba. Caso o nome do PC esteja errado, então aproveite para ajustá-lo nesta janela.

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

Alterando as permissões de um arquivo

Amarok: migrando de SQLite para MySQL

Evosign - Adicionar assinatura automática ao Evolution

Registrando extensões no kernel com o binfmt_misc

Gravando CDs em modo texto

Leitura recomendada

Samba3 + LDAP no ArchLinux

Ativar Log de Acessos do Samba no OpenMediaVault

Instalando o Swat

Gerando arquivos PDF através do SAMBA

Adicionando facilidades ao Samba

  
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