Nesse artigo abordaremos como configurar o Samba como Primary Domain Controler (PDC), incluindo criação de scripts de logon, configuração de estações Windows e etc.
Antes de colocar as estações no domínio, é preciso alterar o registro do Windows. Para isso dentro da pasta descompactada do Samba (samba-3.0.23b), existe um diretório "docs" e dentro dele outro chamado "registry", que contem um arquivo para alteração do registro para cada sistema operacional. Ache o que cabe à sua necessidade, copie-o para estação cliente e execute-o. Dica: foi feito um teste com Windows XP Profissional sem efetuar essa alteração e funcionou corretamente.
Agora basta colocar a estação no domínio, para isso faça:
Iniciar > Configurações > Painel de Controle > Sistema > Nome do Computador > Alterar
E em domínio coloque o nome do domínio criado. O nome do domínio está na variável global do Samba, workgroup = Domínio.
Se tudo correr bem, será exibida uma mensagem de boas vindas e necessitará reiniciar a máquina, no logon após reiniciar, escolha opções >> e em "fazer logon em:" escolha o domínio criado. Caso contrário verifique as configurações anteriores. Dica: para verificar se o Samba está rodando utilize o comando "ps aux | grep samba".
Conclusão
Hoje, com o grande crescimento das redes locais, a administração vem tornando-se uma tarefa árdua e o surgimento de ferramentas para administração vem crescendo a cada dia. Abordamos aqui a instalação e configuração de um servidor que com certeza reduzirá o trabalho do administrador, bem como trará uma mobilidade para o usuário, uma vez que o mesmo poderá logar-se em qualquer máquina da rede que esteja configurada no servidor.
O custo desse projeto é zero, uma vez que utilizamos apenas softwares livres e open source.
Lembrando que abordamos apenas uma das várias funcionalidades que podem ser aplicadas usando a soma dos mesmos, uma leitura no site oficial de ambos agregaria um valor considerável ao leitor.
Agradecimentos
Agradeço primeiramente à Deus por me proporcionar a vida, a todos que me ajudaram durante a caminhada rumo à graduação no curso de Sistemas de Informação, especialmente a minha tia Roselene Tomassoni, aos meus poucos, mas grandes amigos de escalada que por muitas vezes tiveram que aceitar minha ausência devido aos estudos, a todos aqueles que de qualquer forma direta ou indiretamente contribuem com a minha pessoa. E claro, não poderia deixar de lembrar e agradecer aos desenvolvedores de software livre e open source.
Using Samba, 2nd Edition: By Jay Ts, Robert Eckstein, and David Collier-Brown
2nd Edition, February 2003
O'Reilly & Associates, ISBN: 0-596-00256-4
Disponível em: http://www.faqs.org/docs/samba/toc.html
OBS: Se possuir algum erro neste artigo, seja ele de qualquer natureza, peço a gentileza de avisar-me para que as correções sejam efetuadas.
[2] Comentário enviado por 52wz1h em 16/09/2006 - 21:54h
Parabéns pelo artigo. Gostaria de saber de uma coisa. Como fazer um cliente Linux logar neste PDC? Já vi algumas configurações no guia do hardware e fiquei espantado com tantas alterações que precisavam ser feitas em alguns arquivos, será que não existe algo mais simples utilizando samba? Obrigado.
[5] Comentário enviado por tomassoni em 19/09/2006 - 08:49h
Então ainda não fiz linux logar no PDC, vou ficar devendo essa .... :( assim que eu tiver tempo farei esse teste .... caso faça antes .... coloque ai ... :)
[7] Comentário enviado por angeloshimabuko em 26/09/2006 - 02:13h
Uma pequena correção: o NetBEUI (que foi criado pela IBM e não pela MS) é um protocolo que funciona entre as camadas 3 e 4 (rede e transporte) do modelo OSI, enquanto que SMB e CIFS são protocolos das camadas 6 e 7 (apresentação e aplicação) no mesmo modelo. Portanto, não podem ser equivalentes, como está no primeiro parágrafo.
[8] Comentário enviado por tomassoni em 26/09/2006 - 06:30h
Ok, valeu pela correção ! Eu tinha essa duvida mesmo, ta certo que não deveria ter postado se havia duvidas, porém sempre encontramos alguém para nós ajudar. Valeu pela atenção!
[11] Comentário enviado por lammer em 15/01/2007 - 09:37h
aew...olha oq q aconteceu quando eu executei o comando ./configure --prefix=/etc/samba
eu fiz algo errado ????
eu so novo..naum intendo muito
eu quero entrar no dominio da empresa e poder imprimir no servidor de impressao
mi ajudem
ricardo@linux-Suse:~/Desktop/samba-3.0.23b/source> ./configure --prefix=/etc/samba
SAMBA VERSION: 3.0.23b
checking for -fPIE...
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
ricardo@linux-Suse:~/Desktop/samba-3.0.23b/source>
[12] Comentário enviado por tomassoni em 29/01/2007 - 06:37h
lammer, vc nao deve ter o gcc isntaldo corretamente na maquina.....
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
Olha só a mensagem....experimente instalar o gcc e suas dependencias....
Se nao der certo avise-nos....
Ate
[15] Comentário enviado por tomassoni em 28/08/2007 - 15:51h
Vc criou o arquivo com o conteudo, por exemplo
comando| letra da unidade | ip_servidor + dir | se e persistente
net use P: \\192.168.1.3\publico /yes
net use I: \\192.168.1.3\iso /yes
e la no smb.conf apontou pra ele?
[global]
workgroup = Exemplo
netbios name = exemplo
server string = exemplo
admin users = @admin
time server = yes
keepalive = 20
logon script = todos.bat
logon path =
logon drive = J:
domain logons = yes
os level = 100
prefered master = yes
character set = ISO8859-1
client code page = 850
domain master = yes
add user script = /usr/sbin/useradd -m %u
add machine script = /usr/sbin/adduser -g maquinas -d /dev/null -s /bin/false -M %u
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
null passwords = no
passwd program = /usr/bin/passwd %u
passwd chat = "*New*UNIX*password*" %n\n "*Retype*new*UNIX*password*" %n\n" *passwd:*all*authentication*tokens*updated*successfully*"
preserve case = no
short preserve case = no
veto files = /*.avi/*.mid/*.mpeg/*.mov/*.mp3/*.wma/*.wmv/*.src/*.mpg/*.bmp/*.{*}/;
delete veto files = yes
[netlogon]
comment = Servico de logon
path = /home/samba/netlogon <-- aqui !!!!!!
guest ok = yes
browseable = no
[16] Comentário enviado por emersonba em 06/09/2007 - 10:00h
gostei muito do artigo, amigo, e gostaria de uma ajuda sua, configurei o samba e quando executo o comando net groupmap modify ntgroup="Domain Admins" unixgroup=admin, retorna a mensagem
[17] Comentário enviado por tomassoni em 10/09/2007 - 14:55h
Este procedimento difere nas versões 2.x e 3.x do Samba. Sendo assim, se você não sabe a versão de seu Samba, execute o comando "smbd -v" para verificar esta informação. Tendo em posse a versão do Samba, basta seguir os passos apropriados:
-- Samba 2.x --
No Samba 2.x, basta acrescentar no smb.conf a seguinte linha:
Código:
domain admin group = god
Onde "god" é o nome de seu grupo Unix que foi criado no passo anterior. Detalhe: este parâmetro aceita somente grupos, não queira incluir um nome de usuário nesta diretiva!
Feita a alteração, é necessário reiniciar o serviço Samba. Para isto, você pode usar os comandos "service smb restart" ou "/etc/init.d/smb restart"
-- Samba 3.x --
Já no Samba 3.x, você deve executar o seguinte comando:
Código:
net groupmap modify ntgroup="Domain Admins" unixgroup=god
Isto associará o grupo "Domain Admins" (Administradores do Domínio) ao grupo Unix "god"
[22] Comentário enviado por walterti em 30/12/2007 - 14:57h
As estações teão efetuando logon normalmente entretanto não consigo faze-las executar o script de logon automatico... são todas windows xp, existe alguma necessidade de modificação nelas????
segue abaixo meu smb.conf
[27] Comentário enviado por juninhosilva em 02/12/2008 - 09:29h
Ola amigo muito bom o artigo, porem ainda nunca montei um samaba com pdc vou levar seu artigo como base para meu primeiro mas fiquei com uma duvida, eu quero que tudo que for salvo no documentos e settings dos usuarios fique no meu servidor sendo assim nesse arquivo de conf seu o homes já faria isso?
[28] Comentário enviado por jremerich em 11/12/2008 - 11:32h
Cara, seguinte....
Eu estou tentando montar um diretorio que está em uma máquina Windows 98. Este diretório está compartilhado para todos os usuários, logo não precisa de login.
Só que está dando um monte de erros:
smbclient -L XXX.XXX.XXX.XXX
session request to XXX.XXX.XXX.XXX failed (Called name not present)
session request to XXX failed (Called name not present)
session request to *SMBSERVER failed (Called name not present)
---
sudo mkdir /mnt/axs
sudo mount -t cifs -o guest //XXX.XXX.XXX.XXX/axs /mnt/
mount error 2 = No such file or directory
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
---
sudo smbmount //XXX.XXX.XXX.XXX/axs /mnt -o guest
Warning: mapping 'guest' to 'guest,sec=none'
mount error 2 = No such file or directory
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
Já tentei até criar link simbólico! hehehe
Mas o interessante é que se eu digitar no nautilus smb://XXX.XXX.XXX.XXX/axs ele acessa e monta! =/
Eu preciso que esse diretório seja montado automaticamente ao inicializar o sistema.
[30] Comentário enviado por tomassoni em 19/08/2009 - 19:19h
E ai beleza, cara eu nunca vi essa mensagem, mas faz o seguinte vamos por partes vou tentar ajudar.
Lista os seus grupos para ver se existe.
# net groupmap list
a saida deve ser algo como
Domain Admins (S-1-5-21-2547222302-1596225915-2414751004-512) -> domadmin
Domain Users (S-1-5-21-2547222302-1596225915-2414751004-513) -> domuser
Domain Guests (S-1-5-21-2547222302-1596225915-2414751004-514) -> domguest
Ai você com o comando assima estaria modificando o grupo Domain Admins, fazendo que ele aponte para o grupo que também deve existir no /etc/group certo?! existe?
Bom agora so por desencargo, veirifque o nome do seu host
# hostaname
E verifique o /etc/host
Caso não exista o grupo Domain Admins crio já realizando o mapeamento.