Porque as redes de computadores são bastante heterogêneas e muitas vezes precisamos que nossa estação Linux interaja com as demais estações Windows em um ambiente de rede. Se você almeja isto, de uma forma bi-direcional, este artigo poderá lhe ser útil. Você irá precisar de um pouco de paciência, pois o artigo não é muito pequenininho. HAVE FUN!
IMPORTANTE: Sugeri que no momento da compilação do samba fosse utilizada a opção --enable-debug para ajudar no rastreamento de possíveis falhas, contudo a saída dos comandos serão muito mais informativas (verbosas). Depois de todos os testes executados com sucesso, recompile-o sem esta opção, afim de eliminar mensagens desnecessárias.
A figura abaixo exibe algumas informações sobre o servidor win2003, como tabela de mapeamentos WINS, ambiente de rede, registros DNS, resolução de nomes em linha de comando e computadores registrados no domínio:
Até o presente momento nossa estação Slack não é membro do domínio MICROSOFT.COM (conforme pudemos ver na imagem).
Vamos então integrá-la ao domínio. Para isto é necessário informar as credenciais de um usuário membro do grupo Domain Admins (Administradores do domínio):
# net ads join -U Administrator
Administrator's password: *******
Using short domain name -- MICROSOFT
Joined 'SLACK' to realm 'MICROSOFT.COM'
A partir deste momento o computador Slack deve ser exibido na lista de computadores pertencentes ao domínio MICROSOFT.COM.
Agora que estamos aptos a comunicar através da rede, utilizando o protocolo SMB, vamos tentar descobrir alguns recursos da rede. A partir de sua estação Linux execute:
# smbclient -L 169.213.64.1
Deixe o campo Password em branco e pressione ENTER para que seja feita uma tentativa de logon anônimo. O resultado, no ambiente dado foi:
Anonymous login successful
Domain=[MICROSOFT] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2]
Sharename Type Comment
--------- ---- -------
Error returning browse list: NT_STATUS_ACCESS_DENIED
session request to 169.213.64.1 failed (Called name not present)
session request to 169 failed (Called name not present)
Anonymous login successful
Domain=[MICROSOFT] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2]
Server Comment
--------- -------
SLACK Samba 3.0.21a e Active Directory (by KL3B3R)
WIN2003 Microsoft Windows 2003 Enterprise SP1
WIN2K Microsoft Windows 2000 Professional SP4
WIN98 Microsoft Windows 98 SE
WINXP Microsoft Windows XP Professional SP2
Workgroup Master
--------- -------
MICROSOFT WIN2003
Observe que próximo ao final do resultado foram listadas as cinco máquinas (com suas respectivas descrições) que compõem a rede. Um pouco acima teríamos os compartilhamentos disponíveis no servidor, entretanto não informamos um usuário e senha válidas para acessar tal máquina, o que não permitiu que os compartilhamentos fossem listados, vide NT_STATUS_ACCESS_DENIED.
IMPORTANTE: O comando DEVE funcionar mesmo substituindo o endereço ip do servidor pelo seu nome na rede. O resultado deverá ser exatamente o mesmo quando se digitar:
# smbclient -L win2003
Criamos alguns compartilhamentos na estação Win98, conforme exibido na figura abaixo:
Vamos então tentar utilizar o mesmo comando para efetuar logon anônimo nesta estação. Observe o resultado:
# smbclient -L win98
Password:
Sharename Type Comment
--------- ---- -------
CORREIO Disk Recipiente para correios eletrônicos
PUBLIC Disk Pasta de domínio público
JOGOS Disk Console para Atari 2600
IPC$ IPC Comunicação remota entre processos
Server Comment
--------- -------
Workgroup Master
--------- -------
Ao contrário do que acontece com os sistemas baseados em Windows NT, o Microsoft Windows 98 (bem como 95 e ME) não forçam a necessidade de autenticação. Podemos então montar estes compartilhamentos na nossa estação Linux, veja:
Tentemos então novamente conectar (listar os compartilhamentos) do servidor win2003, mas desta vez informando credenciais autenticáveis. Repetirei o comando exibido um pouco acima, mas desta vez tentando logar com o usuário William Henry Gates (billgates@microsoft.com) e senha "bluescreen". Execute o seguinte comando, e perceba o resultado:
# smbclient -L win2003 -U billgates%bluescreen
Domain=[MICROSOFT] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2]
Sharename Type Comment
--------- ---- -------
C$ Disk Default share
Filmes Disk Últimos lançamentos do cinema
IPC$ IPC Remote IPC
ADMIN$ Disk Remote Admin
Processos Disk Documentos privativos
SYSVOL Disk Logon server share
Clipes Disk Somente artistas renomados
NETLOGON Disk Logon server share
Imagens Disk Damas com e sem pudor
Domain=[MICROSOFT] OS=[Windows Server 2003 3790 Service Pack 1]
Server=[Windows Server 2003 5.2]
Server Comment
--------- -------
SLACK Samba 3.0.21a e Active Directory (by KL3B3R)
WIN2003 Microsoft Windows 2003 Enterprise SP1
WIN2K Microsoft Windows 2000 Professional SP4
WIN98 Microsoft Windows 98 SE
WINXP Microsoft Windows XP Professional SP2
Workgroup Master
--------- -------
MICROSOFT WIN2003
Excelente: realmente estamos conseguindo autenticar os usuários do Active Directory. Tente o mesmo comando, informando uma senha inválida e observe o resultado:
# smbclient -L win2003 -U billgates%PieInTheFace
session setup failed: NT_STATUS_LOGON_FAILURE
Vamos agora montar uma pasta compartilhada no win2003. Execute:
cli_negprot: SMB signing is mandatory and we have disabled it.
1704: protocol negotiation failed
Surpresa? Não se preocupe, isto já era esperado. Este problema acontece porque recentemente a Microsoft alterou seu protocolo e incluiu nele algumas melhorias no que diz respeito a segurança. A versão atualizada é chamada CIFS, que suporta algumas características não suportadas pelo SMBFS. Devido a conhecidos problemas de segurança muitos servidores Windows 2003 são configurados para recusar acesso à clientes usando SMBFS. Portanto, devemos efetuar a montagem utilizando o tipo CIFS, e no meu caso, só funcionou informando (na linha de comando) nome do usuário, senha, e o endereço ip (e não o nome) do win2003. Eis:
# mount -t cifs -o username=billgates,password=bluescreen //169.213.64.1/filmes /mnt/movies
Há uma maneira de desativar esta opção no Windows 2003, mas não sei até que ponto isto poderia ser interessante. Acesse "Administrative Tools" -> "Domain Controller Security Settings" -> "Local Policies" -> "Security Options". Localize a entrada "Microsoft network server: Digitally sign communications (always)", desative-a e execute o gpupdate. Apesar de (com essa alteração) já conseguirmos montar os compartilhamentos especificando SMBFS como tipo de sistema de arquivos, problemas de "Acesso Negado" ocorreram no meu ambiente quando na tentativa de utilizar um usuário sem privilégios administrativos. Nem entrarei no mérito da questão pois não recomendo desabilitar opções que são implementados para incrementar segurança dos sistemas. Sugiro que utilize "-t cifs" quando da necessidade de se conectar à compartilhamentos localizados em controladores de domínio Windows 2003 e "-t smbfs" para as demais situações.
Vamos então conectar-nos a um compartilhamento de cada uma das máquinas da nossa rede, para testar de uma só vez os compartilhamentos das versões mais comuns do Microsoft Windows. Podemos começar criando os pontos de montagem:
# cd /mnt
# mkdir win98 win2k winxp win2003
# mount -t smbfs -o username=billgates,password=bluescreen //win98/jogos /mnt/win98
# mount -t smbfs -o username=billgates,password=bluescreen //win2k/softwares /mnt/win2k
# mount -t smbfs -o username=billgates,password=bluescreen //winxp/bd /mnt/winxp
# mount -t cifs -o username=billgates,password=bluescreen //169.213.64.1/netlogon /mnt/win2003
Agora sim, conseguimos acessar qualquer compartilhamento de qualquer computador da rede, desde que o usuário informado tenha acesso aos mesmos. Mas... e o inverso? Queremos agora que todos as outras máquinas consigam se conectar aos diretórios compartilhados no nosso slack. Let's try, baby? ;)
Podemos tentar dia e noite, noite e dia que não conseguiremos acessar os compartilhamentos da nossa estação slack. Se o fizermos a partir do win98, o mesmo irá solicitar uma senha para se conectar em IPC$ conforme mostra a figura abaixo:
Se tentarmos de qualquer outro sistema baseado em Windows NT, a famosa janelinha de logon aparecerá, informando que o login atual não tem permissão para se conectar em slack. E não adianta... qualquer usuário do domínio que você tentar autenticar no Linux irá falhar. Perceba nas imagens:
Confesso que na minha instalação original (anterior a esse ambiente virtual), neste ponto o stress tomava conta de meu ser. Recorri a muitas documentações na Internet e absolutamente nenhuma informação a respeito solucionava o problema. Mas como eu sou brasileiro e não desisto nunca... depois de 3 dias de labuta com o tal sistema que não autenticava, fui pra casa, abri outra Skol, sentei em frente ao meu PC e comecei a jogar Quake 4. Durante o jogo eu mentalizava que cada monstro inimigo era um membro do grupo de desenvolvimento do SambaTeam, e aí eu "pregava bala" com gosto. Fazia questão de estraçalhar, um a um, todos aqueles malditos. Matei pelo menos umas sete ou oito gerações de cada um dos desenvolvedores - malfeitores que não forneciam documentação suficiente para solucionar nossos problemas. Foi quando de repente me veio à cabeça: "Hã? Mas com relação a este problema, a documentação oficial foi o único lugar onde ainda não recorri". E fui então pesquisar a respeito nas manpages e FAQs do site oficial. E não é de ver que a solução estava descrita lá? Os papéis se inverteram: eu é que era o monstro sem coração que de forma injusta agredia verbalmente pessoas tão idôneas e sensatas. Até hoje peço perdão por tamanha "cretinice" de minha parte. Mas tudo bem, eu também sou quase um mortal e por isso tenho o direito de quase pecar. Voltando à solução, ela baseia-se na utilização de uma biblioteca fornecida junto com o código fonte do samba. Bastou acessar o diretório onde havia descompactado o Samba e:
Agora sim podemos nos conectar à nossa estação Linux de qualquer máquina da rede, autenticando usuários do Active Directory, conforme mostra a figura abaixo:
IMPORTANTE: Esteja sempre atento ao sincronismo dos relógios das máquinas pois caso a diferença ultrapasse o limite estabelecido pelas configurações do Kerberos os usuários não serão autenticados, conseqüentemente o acesso não será permitido.
E por falar em autenticação de usuários, que tal incrementarmos nosso smb.conf? Podemos definir políticas de acesso por usuários ou grupos de usuários do domínio. Antes disso, utilize o CUPS (http://localhost:631) para instalar suas impressoras. Feito isso, edite o smb.conf, mantendo intacta a seção [global], deixando as demais sessões assim:
[Public]
comment = Diretorio Temporario
path = /tmp
read only = no
[Install]
comment = Arquivos de Instalação
valid users = MICROSOFT"Domain Admins"
path = /shared/install
read only = Yes
[Artigos]
comment = Publicações diversas
path = /shared/artigos
valid users = MICROSOFTKleber
read only = no
browseable = yes
[Scripts]
comment = Acesso restrito
path = /shared/scripts
valid users = MICROSOFTPatrick
read only = no
browseable = no
[Sexy pics]
comment = Proibido para menores de 18 anos
path = /shared/xxx
valid users = MICROSOFT”Adults only”
browseable = no
read only = yes
guest ok = no
[printers]
comment = Todas as impressoras
path = /var/spool/samba
create mask = 0600
guest ok = Yes
printable = Yes
use client driver = Yes
browseable = Yes
IMPORTANTE: Obviamente os diretórios informados no PATH de cada uma das seções devem existir ou ser criados. Lembre-se que após qualquer alteração feita no arquivo de configuração do Samba, os seus daemons deve sem reinicializados.
Ótimo, agora o nosso ambiente está completo. À partir de uma das estações (win2k), me conectei à alguns recursos disponíveis na estação Slack. Observe que ao se tentar acessar o compartilhamento "Install", uma janela se abre para que seja informada uma conta pertencente ao grupo "Domain Admins", pois este é o único grupo que tem acesso ao recurso. Veja na figura a seguir:
Excelente, agora temos nossa estação Linux absolutamente integrada ao Active Directory. Com estes procedimentos você pode utilizar sua estação Linux de forma transparente no seu ambiente de rede. Melhor que isso, você pode criar um servidor de arquivos para seu domínio, com todo o conforto e segurança da utilização de autenticação do Active Directory.
[2] Comentário enviado por JefersonLopes em 24/04/2006 - 11:18h
Muito bom seu Artigo KL3B3R, ele nos trouxe LUZ onde havia TREVAS na configuração e integração do samba com ActiveDirectory, muito bem organizado e com esses shots ajudará e muito nós linuxers de plantão. Valeu mesmo.
[3] Comentário enviado por KL3B3R em 24/04/2006 - 11:30h
.
Agradeço os comentários recebidos e espero que o artigo lhes seja útil.
Revisando a publicação do Viva-O-Linux, percebi que pequenos mas notáveis detalhes foram omitidos e entrarei em contato com a equipe de publicação do VivaOLinux para alertar sobre as correções a serem feitas. Enquanto isto não ocorre, já as apontarei aqui para os leitores:
Especificamente na "Página 9", intitulada "Trabalhando com rede", no quadro de "configuração avançada" do smb.conf, provavelmente para adequar o HTML, foram removidas as "\" que separam o nome do domínio e o usuário ou grupo pertencente ao mesmo. Os valores corretos, seriam, por exemplo:
valid users=MICROSOFT\"DomainAdmins"
ao invés de:
valid users=MICROSOFT"DomainAdmins"
Acredito que em breve o material já esteja corrigido.
[5] Comentário enviado por capitainkurn em 24/04/2006 - 15:21h
Excelente artigo!
Muito obrigado por compartilhar com a comunidade seu tempo e trabalho.
Além do mais achei muito didática e detalhada sua explanação.
Parabéns!
[6] Comentário enviado por douglas698 em 24/04/2006 - 15:35h
Parabéns, até que enfim achei um artigo sobre integração que valesse a pena no vol. Li muitos artigos sobre isso mas eram meio superficiais e faltavam detalhes...Neste, vc colocou até mesmo os erros que enfrentou, muito bom isso, pq quando fiz, deram exatamente esses erros hehe...
Eu uso o debian sarge 3.1 e consegui fazer rodar alterando apenas algumas linhas do smb.conf. Tá perfeito. Mas uma duvida de iniciante, como faço pra permitir que qualquer usuário acesse meus compartilhamentos sem a necessidade de fornecer senha?
[7] Comentário enviado por KL3B3R em 24/04/2006 - 15:47h
.
Caro Douglas (douglas698),
No próprio artigo eu fiz um pequeno comentário sobre a superficialidade e dispersão das informações a respeito do assunto e foi exatamente este o motivo que me levou a escrever este artigo: tentar reunir em um só documento tudo aquilo (ou quase tudo) que fosse necessário para que um administrador pudesse implementar seu ambiente sem ter que ficar procurando por informações em diversos lugares pela Internet. Se eu tiver consegido isso, certamente meu objetivo terá sido alcançado e ficarei bastante satisfeito em ajudar a comunidade. Inclusive já fiquei bastante satisfeito em saber que você foi o primeiro usuário que conseguiu "portar" a documentação para outra distribuição. De certa forma você acabou contribuindo, e muito com a credibilidade do documento e só tenho a lhe agradecer.
Com relação à sua "dúvida de iniciante", o Active Directory existe exatamente para facilitar a vida do administrador, concentrando nele todas as informações e credenciais da rede, sem abrir mão da segurança. Ainda assim, se você quiser permitir que usuários sem autenticação do AD acessem algum recurso compartilhado, é algo simples de ser feito. No Linux, basta remover a opção "valid users" do compartilhamento, e no Windows basta remover todas as permissões de usuário no compartilhamento e adicionar o usuário "Everyone" ("Todos") com as permissões que você desejar (leitura, escrita, controle total, etc). A partir deste momento você poderá montar o diretório compartilhado sem especificar uma conta válida. Tome cuidado e veja até que ponto isso pode lhe ser interessante pois mesmo para uma "Pasta Pública" seria recomendado que apenas usuários autenticados tivessem acesso. Espero ter ajudado.
[10] Comentário enviado por douglas698 em 25/04/2006 - 13:10h
outra pergunta, existe alguma forma de eu puxar todos os usuarios do ad automaticamente para usarem o samba ou trrei que adicionar um por um no linux. Não sei se fiz algo errado mas pelo menos o meu está assim....
[11] Comentário enviado por KL3B3R em 25/04/2006 - 14:09h
Douglas, você não precisa adicionar usuário nenhum no Linux. O daemon winbindd é "o cara" quem vai fazer o samba autenticar os seus usuários do Active Directory. Se você tivesse que adicionar usuários no Linux (ou mesmo no Samba), pra nada serviria este documento. O intuito é exatamente unificar a base de usuários para que você crie as contas somente uma vez, no AD e possa autenticá-los nas estações Linux.
Observe que no artigo em momento algum eu adicionei um usuário no sistema.
[14] Comentário enviado por dedraks em 26/04/2006 - 21:25h
Não estou conseguindo instalar o OpenLDAP.
Quando eu executo o ./configure .....
Aparece a mensagem:
configure: WARNING: Could not locate TLS/SSL package
configure: WARNING: TLS data protection not supported!
configure: error: LAN Manager password require OpenSSL.
[16] Comentário enviado por douglas698 em 11/05/2006 - 13:12h
consegui rodar esse tutorial 100% no debian sarge 3.1. Tinha alguns bugs que eu não sabia o que eram mas já resolvi. No debian é bem parecido, com excessão de alguns pacotes diferentes que devem ser instalados e alguns outros com nome diferente.
Já coloquei um serv linux como serv de arquivos em produção e até agora está tudo ok.
Lembrando que usei todos os pacotes stable.
Caso alguém queira saber mais a respeito ou mesmo quiser meu smb.conf me mande um email.
douglas698@terra.com.br
Um abraço a todos e parabéns pelo tutorial. Muitíssimo útil...
[18] Comentário enviado por fesky em 26/06/2006 - 16:32h
Oi Kleber... muito bom esta matéria... todos os testes que fiz mostraram q realmente está se comunicando com o AD, porém estou no dilema q vc estava tb.. mas no meu naum funcionou.... qdo tento ir pela rede no Windows... ele aparece pra digitar o usuario e senha... e mesmo colocando o usuario e senha não está se autenticando... fiz os passos q vc disse... porém não encontrei a libnss_winbind.so...o q eu faço??? muito obrigada
[23] Comentário enviado por Cocota em 24/08/2006 - 22:08h
Caro Kleber,
Você foi o cara pra uma turma inteira.
Estamos aqui no fim de semestre da cadeira Administração de Sistemas Operacionais. Onde nossa última tarefa era integrar o Server2003 com o Slack 10.2
Tudo funcionou e provavelmente todo mundo vai passar. Um abraço e VIVA O LINUX!
[24] Comentário enviado por gersonraymond em 28/10/2006 - 23:36h
Meu caro Kleber, li todo seu artigo é muito bom ter pessoas como você que luta por um objetivo concreto. Este artigo contribuiu em muito com meu aprendizado, parabéns pelo seu empenho.
[25] Comentário enviado por fag_oliv em 01/11/2006 - 16:25h
ola kleber, muito bom seu artigo, mas estou um problema o mesmo problema de outros usuarios que postaram ai, por favor se voce souber de uma solucao, me passa um e-mail ... valew...
utils/net_ads.c:ads_startup(191)
ads_connect: Transport endpoint is not connected
[27] Comentário enviado por nyberg_pvh em 17/11/2006 - 01:21h
Gostei do artigo, porem ainda tenho muita duvidas, quanto a uma aplicaçã ode " Active directoy" for open source, entendão, adoro linux, porme ainda não consegui não sei se por falte de procurar um pouco mas ou por prequisa, pois gostaria de saber como me livrar da micro$soft, como controlador de dominio, e claro, que não gostaria de perder,as facilidade que tenho hj, como por exemplo deixar o usuário, absolutamento em minhas mãos, com as restriçãoes, obrigado gostaria de ajuda se possivel, me indicassem algum assunto.
[28] Comentário enviado por luiz_kim em 26/11/2006 - 14:11h
Tenho uma dúvida. Tenho um servidor Windows 2003 e gostaria de saber se é possível utilizar o Linux como terminais utilizando profile remoto do windows (somente os arquivos do profile, desktop e e-mails), também montando a pasta meus documentos dentro do diretório home e o desktop do Windows no desktop do Linmux. Assim os usuários da minha rede, podem logar-se em qualquer máquina da empresa, e visualizar seus documentos e a-mails.
Se alguém puder mandar um tutorial ou link, ou pelo menos souber se é possível eu agradeço.
[30] Comentário enviado por marcelomprates em 30/01/2007 - 10:52h
Bom Dia Kleber muito boa sua matéria estou tentando fazer más da erro no kerberos quando dou o comando abaixo.
Sabe o que pode ser???
[root@localhost src]# ./configure --prefix=/usr --enable-dns-for-realm --enable-thread-support
configure: loading cache ./config.cache
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.
[36] Comentário enviado por rfreire em 05/04/2007 - 08:05h
Bom dia amigo.
Tem como eu instalar um impressora de rede TCP/IP no cups?
Fiz alguns teste e vi que o cups não registra o número de páginas impressas, tem como fazer isso?
[37] Comentário enviado por fernando_rst em 14/05/2007 - 09:14h
Kleber, Parabéns !!
Veja se pode me dar um help ou mesmo alguém da Lista.
Consegui ingressar o meu servidor Samba no AD, ele até mesmo criou a conta no AD. No meu server eu listo todos os usuários do AD através do wbinfo -u e menos g para os grupos.
Porém se dou um getent passwd não aparece os usuários do dominio somente os do Linux.
[42] Comentário enviado por jorge.januario em 13/07/2007 - 23:36h
Boa Noite Cleber,
Primeiramente adorei o artigo, muito bom mais estou tendo um problema ao tentar acessar o servidor através de uma estão linux com Suse, eu já configurei a placa de rede pra usar dchp, consigo acessar a internet com proxy configurado, consigo até enxergar a rede do trabalho, mias quan tendo acessar aclgum micro ou servidor aparece a seguinte mensagem de erro:
An error occurred while loading smb://d_sede/10.3.17.51/produtos$:
Abraço,
JorgeBoa Noite Cleber,
Primeiramente adorei o artigo, muito bom mais estou tendo um problema ao tentar acessar o servidor através de uma estão linux com Suse, eu já configurei a placa de rede pra usar dchp, consigo acessar a internet com proxy configurado, consigo até enxergar a rede do trabalho, mias quan tendo acessar aclgum micro ou servidor aparece a seguinte mensagem de erro:
An error occurred while loading smb://d_sede/10.3.17.51/produtos$:
[44] Comentário enviado por dastyler em 22/07/2007 - 21:29h
Olá!!
Parabens pelo artigo!! Muito bom!
Mas gostaria de lembrar que hoje temos alternativas bem faceis para integrar um terminal LInux com rede com dominio MS.
Eu mesmo utilizo o smb4k no modo grafico e consigo acessar tranquilamente compartilhamentos de rede no dominio mediante minha senha cadastrada pelo sysadm.
E basta configurar o samba como servidor na mesma maquina e e vocetme um compartilhamento funcional!
Abs...>)
[47] Comentário enviado por winckler em 11/09/2007 - 09:27h
Bom dia !
Kleber, preciso de um help aqui.
Estou com tudo, a principio "ok", ai quando dei o comando :
# net ads join -U Administrador
Administrador's password:
COLOQUEI A SENHA E ME RETORNOU ISTO:
Using short domain name -- SERVICOOP2
Failed to set servicePrincipalNames. Please ensure that
the DNS domain of this server matches the AD domain,
Or rejoin with using Domain Admin credentials.
Deleted account for 'ARCH' in realm 'SERVICOOP2'
Failed to join domain: Type or value exists
E AGORA... o que tá rolando aqui ? tem concerto ?
acredito que seja pelo mesmo motivo que não consigo acessar o linux no ambiente de rede. Quando clico no meu linux no ambiente de rede do meu Win2k Server, ele retorna:
"\\Arch não acessível
O banco de dados de segurança do servidor não tem uma conta de computador para a relação de confiança desta estação de trabalho."
[52] Comentário enviado por acgiulianetti em 17/12/2007 - 16:08h
Também não consegui autenticação das estações xp para o linux. Já verifiquei a biblioteca libnss_winbind, já reiniciei, já instalei outra versão do samba, já instalei o source e também não resolveu.
O net join, wbinfo -u, wbinfo -g funcionam normalmente, mas quando vou mapear a unidade no xp pede autenticação e nada que coloco faz funcionar.
Alguém tem uma outra dica ? Uso fedora 6 com samba 3.0.24-11
[53] Comentário enviado por gil-lima em 23/12/2007 - 01:14h
Kleber, primeiramente quero lhe parabenizar por este artigo
Simulei adicionar estações linux em windows server 2000 e tudo funcionou perfeitamente. Adicionei diferentes distros, como: Fedora 7, Slackware 12 e Arch Linux. O Fedora 7 inclusive adicionei com o samba e kerberos que tem nos repositorios.
Parabéns cara.
Estou procurando formas do usuário do AD logar na shell.
[56] Comentário enviado por anunakin em 11/01/2008 - 09:46h
Galera, estou tentando fazer um servidor de impressão em Linux que autentique no AD, o problema é que os usuários só autenticão se estiverem no /etc/passwd .... alguém sabe como contornar isso?
[57] Comentário enviado por and_pl em 12/02/2008 - 10:06h
Galera, fiz todas as configurações de acordo com o artigo, todos os testes e tudo ok...so que eu nao consigo acessar a pasta compartilhada com o usuario cadastrado no AD...alguem sabe o que pode estar acontecendo?
[58] Comentário enviado por danyleidy em 14/02/2008 - 15:56h
?comentario=Alguem poderia me ajudar estou tentando configurar o servidor mas quando cheguei na parte trabalhando em rede quando dou o comando
# net ads join -U danyleidy
danyleidy's password: *******
Essa msg é exibida e nao faço a minima ideia de como resolver
Failed to join domain: Operations error
[59] Comentário enviado por hcfgnr em 25/02/2008 - 18:22h
Caro Kléber,
fiz as configurações de acordo com o seu passo-a-passo, e acabei parando no Kerberos. Na hora da conexão com o AD, acontece o seguinte erro:
[root@samba /]# kinit server
Password for server@samba.com.br:
kinit(v5): Clock skew too great while getting initial credentials
Como vi que havia colocado uma referência a esse tipo de mensagem de erro, fui logo tentar arrumar. Acabei também procurando a solução em outros lugares, mas o que acontece é que a data e hora do meu sistema linux e do meu servidor AD estão iguais, e as configurações de fuso horário também.
[62] Comentário enviado por danyleidy em 27/02/2008 - 12:53h
já tinha cadastrado o meu linux no /etc/hosts e continuava dando problema então resolvi começar tudo de novo, foi então que veio a luz, não deu mas nenhum erro, mas muito obrigado pelo comentário and_pl . Valeu
[63] Comentário enviado por danyleidy em 27/02/2008 - 13:34h
Primeiramente queira parabenizar o Kl3b3r pelo artigo....
Consegui implementa-lo no Debian, mas agora me bateu um probleminha:
como inserir as estações Linux (Ubuntu) e fazer com que elas autentiquem? ou seja como fazer com que as estações sejam membros do domínio e que seja possível logar através delas?
[64] Comentário enviado por hcfgnr em 27/02/2008 - 18:38h
Obrigado pela ajuda and_pl. Funcionou.
Agora não estou conseguindo fazer com que minhas máquinas windows acessem os diretórios no linux usando user e senha do AD. Quando tento acessar os diretórios, é me pedido user e senha e não passa. O que fazer?
smb.conf
[teste]
comment = Diretório teste para arrmazenamento de arquivos
path = /teste
valid users = SAMBATeste
read only = No
[comum_ad]
comment = Diretório comum para o AD
path = /comum_ad
valid users = SAMBA "Domain Admins"
read only = No
[66] Comentário enviado por brunoarantes em 07/03/2008 - 10:09h
amigo estou com o mesmo problema, o linux está logando no ad sem problemas, só que os usuarios do ad não conseguem acesso a pasta compartinhada no linux, fica pedindo user e senha e não passa. tem como me ajudar. exemplo do compartilhamento:
[DTI]
comment = Departamento de Tecnologia da Informacao
path = /publica1/DTI
browseable = yes
write list = MEUDOMINIO\bruno
valid users = MEUDOMINIO\bruno
create mask = 0775
directory mask = 0775
[67] Comentário enviado por rayane em 10/03/2008 - 11:43h
Bom dia.
Estou com problemas na hora de colocar a máquina no domínio. Revisei todas as alterações realizadas e estão todas corretas, entretando a mesma mensagem continua sendo reportada.
Estou utilizando Kubuntu e o AD roda no NT 2000.
Você sugere alguma alteração? Veja a mensagem:
________________________________________________________________
administrador@autenticaad:/etc/samba$ net ads join -S PBSRVADCG1 -w PB.SEBRAE.CORP -U rayane
[2008/03/10 11:18:11, 0] passdb/secrets.c:secrets_init(66)
Failed to open /var/lib/samba/secrets.tdb
Invalid configuration. Exiting....
Failed to join domain: Access denied
_________________________________________________________________
Os hosts são todos ruiondows, sendo o PDC AD rodando no NT 2000, como já citei; porém a intenção é migrar as estações para linux-ubuntu, sendo que necessito de loga-lás no Active Directory.
Aguardo respostas e desde já agradeço.
jcyane@gmail.com
[68] Comentário enviado por and_pl em 10/03/2008 - 15:30h
Rayane, o kerberos conecta normal?
ja tentou usar o comando net ads join -U administrador
-----------------------------------------------------------------------------
Nos teste que fiz aqui tive problemas com outros usuarios, mesmo eles sendo adm.....
[72] Comentário enviado por and_pl em 14/03/2008 - 09:47h
Galera, estou com um probleminha.
-----------------------------------------------------
A integração está ok
Consigo negar e autorizar acesso a pasta por usuario, mas o mesmo não acontece com grupos. Não consigo liberar acesso de um grupo, o que pode estar errado? qual tipo de grupo tenho que criar? como devo relacionar o mesmo no smb.conf? obrigado.
[73] Comentário enviado por anunakin em 14/03/2008 - 15:21h
Aqui resolvi tudim... descobri o motivo do meu problema com o AD... como nossa rede é uma floresta com mais de 40 arvores, sendo que na nossa arvore há 1400 usuários... o que ocorre é que o winbindd ao tentar listar os usuários cai em timeout... e como o samba não possui uma diretiva para restringir a busca a um AD somentte, assim os usuários só logavam se eu cria-se no /etc/passwd ... foi o que fiz criei um script PHP-CLI que roda via cron todo dia e adiciona e remove usuários do AD, sincronizando... o script usa o arquivo /etc/samba/smb.conf para carregar os dados necessários... e sincronizar as contas...
Os grupos é a mesma coisa tem de cria-los no /etc/group ... dai coloque os usuários nos grupos pelo AD, aqui funcionou assim.... creio que numa rede menor o winbindd deva funcionar sem problemas...
Finalmente meu servidor de impressão autentica no AD, serve drivers e tudo mais....
[74] Comentário enviado por and_pl em 17/03/2008 - 14:40h
Minha rede atualmente tem 190 usuarios e se eu digitar só o nome do usuario tudo funciona ok: valid users = DOMINIO\usuario .....dessa forma o usuario ja autentica tranquilamente. Para grupo eu estou fazendo da seguinte forma valid users = DOMINIO\"grupo" e não consegui autenticar. O que estou fazendo errado? alguem ja passou por isso? muito obrigado pela ajuda.
[76] Comentário enviado por and_pl em 17/03/2008 - 16:17h
anunakin muito obrigado pela disposição. Minha configuração ja estava assim e não estava funcionando. Abri pesquisa no site oficial do samba e depois de duas horas e meia de pesquisa consegui descobrir. O grupo tem que ser colocado da seguinte forma:
valid users = @"DOMINIO\grupo"
[77] Comentário enviado por henrique_1502 em 25/03/2008 - 11:07h
root@sol:/tmp/krb5-1.6.3/src# ./configure --prefix=/usr --enable-dns-for-realm --enable-thread-support
configure: loading cache ./config.cache
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
Estou usando Slackware 12
See `config.log' for more details.
[78] Comentário enviado por rayane em 27/03/2008 - 10:44h
Bom dia galera.
Estou com problemas na hora da
autenticação. A máquina Linux(estou na plataforma Xubuntu 6.06), busca a base de usuários no AD(roda 2000) - e a propósito, é necessário para
que isso ocorra, se logar na máquina localmente , testar a conexão do kerberos com KINIT USER, e reiniciar o samba - e quando digito a senha, resulta em falha no logon. Observando seus comentários, penso que seja o ntp, e então revi a configuração, que está ok, e ainda pesquisei para ver se era necessário implementar algo mais. Na tentativa, a instalei o serviço ntp, e setei, assim como no /etc/default/ntpdate, o server AD2000, e em e no
/etc/default/ntp deixei as opção, que já veio no arquivo de instalação NTPD_OPTS='-g', e acrescentei '-4', que de acordo com o que pesquisei, força o DNS a resolver o nome dos hosts. Verifiquei o formato da hora,
localmente, deixando DD-MM-AA, e o log do sistema retorna:
_______________________________________________________________________
Mar 27 09:45:36 autenticaad winbindd[5558]: [2008/03/27 09:45:36, 0]
lib/util_sid.c:string_to_sid(242)
Mar 27 09:45:36 autenticaad winbindd[5558]: string_to_sid: Sid S-0-0
is not in a valid format.
______________________________________________________________________
Mar 27 09:43:11 autenticaad nmbd[6674]: Unable to find the Domain
Master Browser name GRUPO<1b> for the workgroup GRUPO.
Mar 27 09:43:11 autenticaad nmbd[6674]: Unable to sync browse lists in
this workgroup.
Já alterei o nome do workgroup pelo nome do domínio, entretanto nada de autenticação.
Reli os comentários presentes no seu artigo, além de buscar na net
possível resolução, e ainda não consegui resolver o problema.
Se tiverem alguma sugestão, respondam-me, por favor.
Atenciosamente,
[79] Comentário enviado por rayane em 27/03/2008 - 11:31h
Galera,
mais uma coisa:
quando tento, via modo gráfico, configurar o relógio para ele receber automaticamente a hora do AD - setando ipAD.domínio, é retornado:
______________________________________________
Habilite o contato com o servidor de domínio.
______________________________________________
Alguém sabe como? Tendo em vista que a máquina já está no domínio, sendo vista pelo AD. Isso também é requisitado nos logs:
_______________________________________________
Mar 27 11:14:15 autenticaad nmbd[9685]: *****
Mar 27 11:14:15 autenticaad nmbd[9685]: [2008/03/27 11:14:15, 0] nmbd/nmbd_browsesync.c:find_domain_master_name_query_fail(351)
Mar 27 11:14:15 autenticaad nmbd[9685]: find_domain_master_name_query_fail:
Mar 27 11:14:15 autenticaad nmbd[9685]: Unable to find the Domain Master Browser name PB-SEBRAE<1b> for the workgroup GRUPO
Mar 27 11:14:15 autenticaad nmbd[9685]: Unable to sync browse lists in this workgroup.
Mar 27 11:14:15 autenticaad nmbd[9685]: [2008/03/27 11:14:15, 0] nmbd/nmbd_browsesync.c:find_domain_master_name_query_fail(351)
Mar 27 11:14:15 autenticaad nmbd[9685]: find_domain_master_name_query_fail:
Mar 27 11:14:15 autenticaad nmbd[9685]: Unable to find the Domain Master Browser name GRUPO for the workgroup GRUPO
Mar 27 11:14:15 autenticaad nmbd[9685]: Unable to sync browse lists in this workgroup.
___________________________________________________________
Agradeço, desde já quem puder contribuir comigo, na peleja pela LIBERDADE!
[82] Comentário enviado por huntter em 28/03/2008 - 02:16h
Esta de parabens pela publicaçao bem completa...com muitos detalhes...mas nao entendi uma coisa...para que serviu a instalação do openldap e do database do openldap...afinal foi o kerberos que permitiu a autenticação junto com o samba no dominio nao foi ? o seu howtoo parece que funciona sem o openldap nao ?
[83] Comentário enviado por anunakin em 28/03/2008 - 23:25h
Puxa "and_pl" desculpa ai... pensei que você soubesse isso... do "@" pois no arquivo smb.conf.example tem isso!!! e no man do samba tbm!!! nem citei isso...
[84] Comentário enviado por and_pl em 31/03/2008 - 09:03h
"anunakin" na verdade eu ja tinha grupos no samba trabalhando dessa forma "@" + segui o manual a risca e não atentei a esse detalhe. Mais foi bom, nessa pesquisa aprendi varias coisas que não sabia, obrigado pela atenção.
[86] Comentário enviado por jcyane em 18/04/2008 - 11:28h
Bom dia galera.
Já escrevi para o "and_pb" e para outros mais, mas como não obtive resposta venho novamente solocitar ajuda para um humilde iniciante :)
É o seguinte:
Tudo o que o Kleber aconselha em seu artigo segui direitinho, além de acrescentar alguma coisa necessário - como a instalação do ntp para fazer o sincronismo com o AD2000 - tendo em vista que aqui roda AD2000 na plataforma Xubuntu.
Consigo acessar via comando e modo gráfico, os compartilhamentos do servidor, visualizar a lista de usuários pelo comando "wbinfo - u" e os grupos "wbinfo -g", testo conexáo do kerberos e tudo beleza.
Quando faço logoff para entra com um usuário do domínio, o client busca no AD2000 a base de dados e mostra-os como se fossem usuários locais, porém quando digito a senha de vários usuários, tendo a proeza de autenticação o resultado é "falha no logon".
Nos logs do sistema são retornados:
____________________________________________________________
Apr 18 11:01:38 autenticaad nmbd[6387]: Unable to find the Domain Master Brows er name DOMINIO<1b> for the workgroup DOMINIO.
Apr 18 11:01:38 autenticaad nmbd[6387]: Unable to sync browse lists in this wo rkgroup.
Apr 18 11:02:44 autenticaad winbindd[6466]: [2008/04/18 11:02:44, 0] libsmb/cred entials.c:creds_client_check(324)
Apr 18 11:02:44 autenticaad winbindd[6466]: creds_client_check: credentials ch eck failed.
Apr 18 11:02:44 autenticaad winbindd[6466]: [2008/04/18 11:02:44, 0] rpc_client/ cli_netlogon.c:rpccli_netlogon_sam_network_logon(1019)
Apr 18 11:02:44 autenticaad winbindd[6466]: rpccli_netlogon_sam_network_logon: credentials chain check failed
[87] Comentário enviado por mesaque em 01/08/2008 - 17:35h
Caros colegas,
Cumpri quase todos passos do Artigo, até incluir meu linux no domínio. Ele reconhece os usuários, entretanto, ao compartilhar uma pasta no linux e acessar de um cliente windows xp ele pede a senha. No artigo, o Kleber fala para procurar uma biblioteca do samba source /nsswitch/libnss_winbind.so e copiar para a pasta /lib e criar um link simbólico para /lib/libnss_winbind.so2, mas nem encontro esta biblioteca na pasta indicada. Fiz instalação em um servidor Ubuntu 8.04 via apt-get. Não compilei nada.
[91] Comentário enviado por gokden em 18/09/2008 - 19:11h
Cara....
PARABENS...... artigo mto mto mto bom...
funcionou certim aqui. =D
salvou minha vida =D
mais a unica coisa que eu gostaria de saber... é se tem jeito de visualizar os compartilhamentos dos computadores que estão do dominio
graficamente... pelo nautilus por exmplo..
[93] Comentário enviado por Atreta em 23/01/2009 - 13:44h
Muito bom o artigo,
Estava com um probleminha aqui para adicionar a maquina na rede, mas consegui adicionando o nome do dominio ao comando net join
aqui ficou assim: net join ads dominio.local -U administrador
Espero que isso ajude alguem.
Abraço e parabens pelo artigo.
edit: Não estou conseguindo autenticar no linux com os usuários do meu domínio, do linux pro AD eu consigo conectar se eu der o comando smbclient -L computador_no_ad -U usuario_no_ad
O que pode ter de errado?
Obrigado.
[94] Comentário enviado por brunoeduribeiro em 24/06/2009 - 16:41h
Olá pessoal, tudo bem... Muito Show esse artigo... Parabéns Kl3b3r.
Eu estou implementando essa solução no Debian etch e fiquei com uma duvida pq recebei um warning quando rodei esse comando referente a instalação do samba:
[95] Comentário enviado por L!N5X em 04/08/2009 - 08:25h
Olá a todos, bem após muitas pesquisas não conseguir um conteúdo com essa qualidade sei qtambém que para elaborar um tutorial deste nível leva tempo mas nada como compartilhar nossos conhecimentos pois como diz o ditado é vivendo e aprendendo. A minha sugestão é a seguinte todos que querem implementar esta solução fazermos um tuto e mandassermos para analise e no final juntaremos todas as contribuição em uma única solução para não ficar tão vazado as info como sou novato no mundo opensource ainda não conseguir implementar devido a não saber compilar um kernel e algumas outras coisas que ainda não estou familiarizado devido a esta dificuldade e acreditando que muitos como eu encontra-se nessa mesma situação sugiro que vcs elabore um tuto mais detalhada evitando assim nós levarmos uma surra de uma coisa que na primeira vista parece ser tão fácil.
No mais agradeço a todos que colaboram e em especial ao KLEBER pela iniciativa e conhecimento.
[99] Comentário enviado por INEM em 27/04/2010 - 07:58h
Olá,
Gostaria de colocar uma dúvida, eu segui o tutorial na medida do possível, mas no final quando vou integrar a máquina linux no AD do windows server 2003 ele dá o seguinte erro:
Failed to set servicePrincipalNames. Please ensure that
the DNS domain of this server matches the AD domain,
Or rejoin with using Domain Admin credentials.
Ao realizar o teste para ver se o usuário se consegue autenticar com a conta dele no AD com o comando kinit ele não dá erro nenhum e de seguida com o comando klist ele apresenta o ticket com sucesso, agora este erro não estou a conseguir ultrapassar, alguém me ajuda??
[101] Comentário enviado por feliperl em 27/05/2010 - 17:29h
Grande Kleber,
Estou com um problema. A hora do meu controlador de Domínio está rigorosamente igual a do meu Servidor Debian e ainda me vejo em meio a esse erro: "kinit(v5): Clock skew too great while getting initial credentials".
Já coloquei ambos com o mesmo fuso horário e sem ajustes automático do horário de verão. Você tem idéia do que pode está causando isso?
Abraços
[EDIT]
Consegui resolver. É simples!
Instalei o ntpdate para sincronizar a hora do Debian com a do WIN2k3 Server.
#apt-get install ntpdate
#ntp 192.168.0.250 //(ip do servidor)
Após isso, sincronizado!
[104] Comentário enviado por mago_dos_chats em 29/12/2010 - 15:11h
mto bom o artigo cara, so que pra configurar o samba não deu certo, sugiro utilizar configurações descritas em outro arquivo aqui no VOL : http://wiki.ubuntu-br.org/AutenticandoAD .
E so uma dica galera, pra quem receber o erro DNS update faile, crie no seu servidor de AD (windows) uma entrada de dns do tipo (A) para a estação linux que esta inserindo.
[105] Comentário enviado por Paulo.detarcio em 03/11/2011 - 16:43h
Olá Kleber estou tentando faz algum tempo colocar o Ubuntu no dominio Windows server 2003 ambos em uma maquina virtual para teste, pesquisando pela net achei o link do seu artigo, mas como é de 2006 achei uma diferenca em um dos links dos softwares necessarios que é o do BerkeleyDB que já não está mais neste link a Oracle deve ter comprado...o endereço redireciona para o novo site mas creio que é uma boa uma atualização, voltando ao assunto principal, estou começando a por em pratica seu artigo agora e não tenho muito a dizer (por enquanto) mas ja percebi que está muito bem mais completo dos qual ví por ai.
[106] Comentário enviado por khayo em 28/03/2012 - 13:31h
Para instalar o BerkeleyDB procurar pelo pacote libdb
No Ubuntu
"apt-cache search libdb"
e ver qual o pacote melhor se encaixa para você
Quanto ao artigo está ótimo! Briguei um pouco aqui com a compilação dos pacotes mas consegui compilar todos, e nesse exato momento estou tentando acertar um parâmetro obsoleto (idmap)
[107] Comentário enviado por snowblack85 em 22/06/2013 - 01:18h
Olá Kleber.
Seu artigo está muito bom, deu par dar uma esclarecida muito boa, tava com muitas duvidas, nesse assunto, mais fazendo os passos descritos por você, fazendo algumas alterações, conseguir chegar até:
"net ads join -U Administrador."
Using short domain name -- DOMINIO
Joined 'PROXYVM2' to realm 'dominio.local'
No DNS domain configured for "srvproxy". Unable to perform dns update
DNS update failed!
[108] Comentário enviado por evanf em 21/06/2016 - 12:59h
Bom dia, estou tentando colocar um pc linux no ad "net ads join -U Administrador"
e esta retornando a mensagem abaixo.
Failed to join domain: failed to find DC for domain VILARICACENTER.LOCAL
alguém já passou por isso ?
os outros testes passaram ok