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.
É 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:
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:
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.
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.
[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.