Conclusão
Espero não ter esquecido de mencionar algo crucial para o artigo, mas se fiz isto, espero contar com o pessoal para que informem para podermos solucionar possíveis inconvenientes.
Uma última informação referente à parte de implementação do artigo: se for necessário mudar permissões de arquivos ou pastas, você poderá fazê-lo usando a linha de comando no GNU/Linux ou por alguma máquina Windows 2000 ou posterior que seja membro do domínio. Mas lembre-se de respeitar o antigo e restrito padrão de permissões UNIX, digo isto pois não é possível, por exemplo, especificar mais do que um grupo para um arquivo ou pasta, que acredito que isto possa ser solucionado implantando ACL no GNU/Linux, que não é o foco deste artigo, mas pode ser o de um futuro.
Não acredito que um ambiente de rede só com GNU/Linux ou só com produtos Microsoft seja melhor ou pior, acredito que uma rede heterogênea seja a melhor solução para a maioria das empresas, pois assim podemos desfrutar do melhor que o software livre ou proprietário pode nos oferecer. Pois cada caso é um caso.
Enjoy!
By Loammy P. Lima
LPIC-1 (exames: LPI-101 e LPI-102)
MCP (exame: 70-290)
PS: Artigo publicado por mim na comunidade viva o linux.
Não deixe de conferir as postagens antigas
nas sessões ao lado!!! --->
Mostrando postagens com marcador Linux Integrado ao AD. Mostrar todas as postagens
Mostrando postagens com marcador Linux Integrado ao AD. Mostrar todas as postagens
segunda-feira, 16 de março de 2009
Linux Integrado ao AD Windows Server 2003 - parte4
Teste de integração com AD
Para testar e provar a integração podemos criar um grupo no AD pelo GNU/Linux, ex.:
# net group add grupo-teste -U administrator
Este novo grupo criado (grupo-teste) estará localizado no contêiner "Users" do domínio do Windows Server 2003.
Agora veremos o objetivo que eu gostaria de alcançar quando pensei nesta integração, que era poder usar o BD de usuários e grupos do AD para controlar o acesso ao servidor de arquivos Samba.
Podemos prosseguir criando uma pasta compartilhada no GNU/Linux para compartilhá-la pelo Samba, ex.:
# mkdir /home/pasta1
# chmod 2770 /home/pasta1
# chown NATS+administrator.NATS+grupo-teste /home/pasta1
Adicione as linhas abaixo no /etc/samba/smb.conf:
[pasta1]
path = /home/pasta1
writable = yes
browseable = yes
Agora reinicie o Samba e o Winbind.
Agora somente o usuário do domínio "administrator" e os usuários que pertencerem ao grupo do domínio "grupo-teste" terão acesso total à pasta compartilhada pasta1.
Para confirmar, logue-se na máquina3 (WinXP) com qualquer usuário do domínio nats.com, tente acessar a pasta1 compartilhada em membersvr, você não terá acesso a ela!
Para obter acesso a pasta1, inclua seu usuário (como por exemplo user-nat) ao "grupo-teste" do AD, exemplo:
# net rpc group ADDMEM grupo-teste user-nat -S dc-jund -U administrator
Faça logoff na máquina3 (WinXP) e faça logon novamente utilizando o user-nat (pois as associações de grupo só são atualizadas no momento de logon).
Agora provavelmente você poderá ler e criar arquivos no compartilhamento pasta1 no servidor de arquivos Samba.
NOTA: Caso isso não ocorra tente reiniciar novamente o Samba e o Winbind na máquina1 (membersvr).
Link para parte-5 deste artigo!
Para testar e provar a integração podemos criar um grupo no AD pelo GNU/Linux, ex.:
# net group add grupo-teste -U administrator
Este novo grupo criado (grupo-teste) estará localizado no contêiner "Users" do domínio do Windows Server 2003.
Agora veremos o objetivo que eu gostaria de alcançar quando pensei nesta integração, que era poder usar o BD de usuários e grupos do AD para controlar o acesso ao servidor de arquivos Samba.
Podemos prosseguir criando uma pasta compartilhada no GNU/Linux para compartilhá-la pelo Samba, ex.:
# mkdir /home/pasta1
# chmod 2770 /home/pasta1
# chown NATS+administrator.NATS+grupo-teste /home/pasta1
Adicione as linhas abaixo no /etc/samba/smb.conf:
[pasta1]
path = /home/pasta1
writable = yes
browseable = yes
Agora reinicie o Samba e o Winbind.
Agora somente o usuário do domínio "administrator" e os usuários que pertencerem ao grupo do domínio "grupo-teste" terão acesso total à pasta compartilhada pasta1.
Para confirmar, logue-se na máquina3 (WinXP) com qualquer usuário do domínio nats.com, tente acessar a pasta1 compartilhada em membersvr, você não terá acesso a ela!
Para obter acesso a pasta1, inclua seu usuário (como por exemplo user-nat) ao "grupo-teste" do AD, exemplo:
# net rpc group ADDMEM grupo-teste user-nat -S dc-jund -U administrator
Faça logoff na máquina3 (WinXP) e faça logon novamente utilizando o user-nat (pois as associações de grupo só são atualizadas no momento de logon).
Agora provavelmente você poderá ler e criar arquivos no compartilhamento pasta1 no servidor de arquivos Samba.
NOTA: Caso isso não ocorra tente reiniciar novamente o Samba e o Winbind na máquina1 (membersvr).
Link para parte-5 deste artigo!
Marcadores:
Linux Integrado ao AD
Linux Integrado ao AD Windows Server 2003 - parte3
Samba + Winbind
Agora precisamos instalar os pacotes Samba e Winbind.
Após instalá-los, adicione ou modifique as linhas da seção [global] do arquivo de configuração do Samba /etc/samba/smb.conf:
#Nome Netbios do domínio do AD.
workgroup = NATS
security = ads
encrypt passwords = true
#Adicione as linhas abaixo para a máq. membersvr não competir com a máq. dc-jund como DC da rede.
os level = 18
domain master = no
local master = no
preferred master = no
#As linhas abaixo são as mais importantes para o propósito do artigo, lembre-se de respeitar as caixas altas e baixas das fontes.
realm = NATS.COM
password server = dc-jund.nats.com
clientschannel = no
idmap uid = 15000-30000
idmap gid = 15000-30000
winbind separator = +
winbind enum users = yes
winbind enum groups = yes
Agora adicione "winbind" no fim das linhas do passwd e group no arquivo /etc/nsswitch.conf, para que fique desta forma:
passwd: compact winbind
group: compact winbind
Reinicie o Samba e o Winbind.
Adicione a máquina membersvr no domínio com o seguinte comando:
# net ads join -U administrator
O parâmetro "-U administrator" acima indica um usuário que tem privilégios no domínio para realizar a tarefa de adicionar uma máquina no domínio, isto indica que você pode especificar um outro usuário.
Reinicie o Samba e o Winbind novamente!
Agora teste a conexão da máquina membersvr com o AD com os comandos:
# wbinfo -t
Tem que apresentar a mensagem:
"Checking the trust secret via RPC calls succeeded"
Se aparecer outra mensagem, revise as configurações e reinicie o Samba e o Winbind.
O comando:
# wbinfo -u
ou com parâmetro -g, mostrará todos os usuários ou grupos respectivamente, que conterá uma lista de usuários ou grupos locais juntamente com os do domínio nats.com.
Lembra da linha "winbind separator = +" do smb.conf? Nos comandos acima vemos a sua utilidade, pois: MEMBERSVR+root -> Diz que o usuário root pertence a máquina local (membersvr); NATS+administrator -> Diz que o usuário administrator pertence ao domínio nats.com, ou seja, ao AD. Mas no GNU/Linux é mostrado o nome netbios (NATS), por isso não é apresentado o nome do domino (nats.com).
É possível visualizar também a integração dos usuários e grupos com os seguintes comandos:
# getent passwd
# getent group
Eles mostrarão os usuários ou grupos locais e do AD, respectivamente, com seus respectivos UID e GID que iniciam do 15000, conforme as linhas do smb.conf:
idmap uid = 15000-30000
idmap gid = 15000-30000
NOTA: Se você tiver mais que 15000 usuários e grupos, aumente a faixa especificada acima.
Se você já chegou até aqui é porque a integração entre o GNU/Linux e o Active Directory já esta pronta!
Link para parte-4 deste artigo!
Agora precisamos instalar os pacotes Samba e Winbind.
Após instalá-los, adicione ou modifique as linhas da seção [global] do arquivo de configuração do Samba /etc/samba/smb.conf:
#Nome Netbios do domínio do AD.
workgroup = NATS
security = ads
encrypt passwords = true
#Adicione as linhas abaixo para a máq. membersvr não competir com a máq. dc-jund como DC da rede.
os level = 18
domain master = no
local master = no
preferred master = no
#As linhas abaixo são as mais importantes para o propósito do artigo, lembre-se de respeitar as caixas altas e baixas das fontes.
realm = NATS.COM
password server = dc-jund.nats.com
clientschannel = no
idmap uid = 15000-30000
idmap gid = 15000-30000
winbind separator = +
winbind enum users = yes
winbind enum groups = yes
Agora adicione "winbind" no fim das linhas do passwd e group no arquivo /etc/nsswitch.conf, para que fique desta forma:
passwd: compact winbind
group: compact winbind
Reinicie o Samba e o Winbind.
Adicione a máquina membersvr no domínio com o seguinte comando:
# net ads join -U administrator
O parâmetro "-U administrator" acima indica um usuário que tem privilégios no domínio para realizar a tarefa de adicionar uma máquina no domínio, isto indica que você pode especificar um outro usuário.
Reinicie o Samba e o Winbind novamente!
Agora teste a conexão da máquina membersvr com o AD com os comandos:
# wbinfo -t
Tem que apresentar a mensagem:
"Checking the trust secret via RPC calls succeeded"
Se aparecer outra mensagem, revise as configurações e reinicie o Samba e o Winbind.
O comando:
# wbinfo -u
ou com parâmetro -g, mostrará todos os usuários ou grupos respectivamente, que conterá uma lista de usuários ou grupos locais juntamente com os do domínio nats.com.
Lembra da linha "winbind separator = +" do smb.conf? Nos comandos acima vemos a sua utilidade, pois: MEMBERSVR+root -> Diz que o usuário root pertence a máquina local (membersvr); NATS+administrator -> Diz que o usuário administrator pertence ao domínio nats.com, ou seja, ao AD. Mas no GNU/Linux é mostrado o nome netbios (NATS), por isso não é apresentado o nome do domino (nats.com).
É possível visualizar também a integração dos usuários e grupos com os seguintes comandos:
# getent passwd
# getent group
Eles mostrarão os usuários ou grupos locais e do AD, respectivamente, com seus respectivos UID e GID que iniciam do 15000, conforme as linhas do smb.conf:
idmap uid = 15000-30000
idmap gid = 15000-30000
NOTA: Se você tiver mais que 15000 usuários e grupos, aumente a faixa especificada acima.
Se você já chegou até aqui é porque a integração entre o GNU/Linux e o Active Directory já esta pronta!
Link para parte-4 deste artigo!
Marcadores:
Linux Integrado ao AD
Linux Integrado ao AD Windows Server 2003 - parte2
Configurações iniciais
Logue-se na máquina2 (Windows Server 2003) e adicione um registro do tipo "A" para a máquina membersvr no DNS, que após adicionado ficará mais ou menos assim:
membersvr Host(A) 192.168.10.254
Logue-se na máquina1(Debian) e efetue as seguintes configurações:
Edite /etc/hosts e adicione as linhas abaixo:
192.168.10.254 membersvr.nats.com membersvr
192.168.10.250 dc-jund.nats.com dc-jund
Agora edite o /etc/resolv.conf e adicione o IP do servidor DNS do Windows Server 2003 (se tiver mais que um, faça com que este seja o primário, colocando-o em primeiro na lista):
nameserver 192.168.10.250
Instale os seguintes pacotes: krb5-user e krb5-config
Configure o /etc/krb5.config, mas por medidas de segurança eu costumo fazer uma cópia dos arquivos originais de configuração que vem com os pacotes antes de alterá-los, e costumo renomeá-los com por exemplo /etc/krb5.config.orig.
Então o arquivo /etc/krb5.config deve ficar exatamente assim:
[libdefaults]
default_realm = NATS.COM
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
NATS.COM = {
kdc = dc-jund.nats.com
default_domain = NATS.COM
}
[domain_realm]
.nats.com = NATS.COM
NOTA: Lembre-se de respeitar quando as letras estão em maiúsculas ou minúsculas (caixa alta ou baixa).
Agora testaremos a conexão com o Kerberos localizado no DC do domínio nats.com (Windows Server 2003) com o seguinte comando:
# kinit user-teste@NATS.COM
O usuário "user-teste" deve estar criado no AD do Windows Server 2003, se você não tiver este usuário pode criá-lo antes ou especificar um usuário que esteja criado na BD do AD.
Após executar o comando acima, digite a senha (lembrando que o user não pode ter senha em branco).
Se for digitado o comando especificando o domínio com letras minúsculas, como por exemplo, user-teste@nats.com, será apresentado o seguinte erro:
Kinit(v5): Cannot find kdc for requested realm while getting initial credentials.
Mas se aparecer o erro:
Kinit(v5): clock skew too great while getting initial credentials.
É provável que a hora entre as duas máquinas (membersvr e dc-jund) está muito dessincronizada. Uma forma de resolver isto é instalar o pacote ntpdate e sincronizar a hora do membersvr baseado na hora do dc-jund, ex.:
# ntpdate dc-jund.nats.com
Se o comando "kinit user-teste@NATS.COM" não apresentar nenhum erro, podemos continuar...
Execute o comando "klist" (sem parâmetros) para confirmar o sucesso do comando "kinit" mencionado acima:
# klist
Link para parte-3 deste artigo!
Logue-se na máquina2 (Windows Server 2003) e adicione um registro do tipo "A" para a máquina membersvr no DNS, que após adicionado ficará mais ou menos assim:
membersvr Host(A) 192.168.10.254
Logue-se na máquina1(Debian) e efetue as seguintes configurações:
Edite /etc/hosts e adicione as linhas abaixo:
192.168.10.254 membersvr.nats.com membersvr
192.168.10.250 dc-jund.nats.com dc-jund
Agora edite o /etc/resolv.conf e adicione o IP do servidor DNS do Windows Server 2003 (se tiver mais que um, faça com que este seja o primário, colocando-o em primeiro na lista):
nameserver 192.168.10.250
Instale os seguintes pacotes: krb5-user e krb5-config
Configure o /etc/krb5.config, mas por medidas de segurança eu costumo fazer uma cópia dos arquivos originais de configuração que vem com os pacotes antes de alterá-los, e costumo renomeá-los com por exemplo /etc/krb5.config.orig.
Então o arquivo /etc/krb5.config deve ficar exatamente assim:
[libdefaults]
default_realm = NATS.COM
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
NATS.COM = {
kdc = dc-jund.nats.com
default_domain = NATS.COM
}
[domain_realm]
.nats.com = NATS.COM
NOTA: Lembre-se de respeitar quando as letras estão em maiúsculas ou minúsculas (caixa alta ou baixa).
Agora testaremos a conexão com o Kerberos localizado no DC do domínio nats.com (Windows Server 2003) com o seguinte comando:
# kinit user-teste@NATS.COM
O usuário "user-teste" deve estar criado no AD do Windows Server 2003, se você não tiver este usuário pode criá-lo antes ou especificar um usuário que esteja criado na BD do AD.
Após executar o comando acima, digite a senha (lembrando que o user não pode ter senha em branco).
Se for digitado o comando especificando o domínio com letras minúsculas, como por exemplo, user-teste@nats.com, será apresentado o seguinte erro:
Kinit(v5): Cannot find kdc for requested realm while getting initial credentials.
Mas se aparecer o erro:
Kinit(v5): clock skew too great while getting initial credentials.
É provável que a hora entre as duas máquinas (membersvr e dc-jund) está muito dessincronizada. Uma forma de resolver isto é instalar o pacote ntpdate e sincronizar a hora do membersvr baseado na hora do dc-jund, ex.:
# ntpdate dc-jund.nats.com
Se o comando "kinit user-teste@NATS.COM" não apresentar nenhum erro, podemos continuar...
Execute o comando "klist" (sem parâmetros) para confirmar o sucesso do comando "kinit" mencionado acima:
# klist
Link para parte-3 deste artigo!
Marcadores:
Linux Integrado ao AD
Linux Integrado ao AD Windows Server 2003 - parte1
Introdução
Este artigo veio da necessidade de criar um servidor de arquivos Samba que tivesse a possibilidade de utilizar a base de dados de usuários e grupos do Active Directory do Microsoft Windows Server 2003 R2 - SP2, utilizando-a para controlarmos o acesso aos arquivos servidos no Samba, fazendo com que este servidor GNU/Linux (Samba) se comporte como se fosse um Member Server.
Para o desenvolvimento deste artigo foi utilizado ambiente virtual criado no VirtualBox OSE com 3 máquinas virtuais. A seguir descrevo alguns detalhes sobre a configuração dessas máquinas:
Máquina1 - Debian Lenny (GNU/Linux) para utilizar a base de dados do AD.
Nome DNS máquina: membersvr.nats.com
IP: 192.168.10.254/24
Máquina2 - Windows Server 2003 R2 - SP2 para servir como DC do domínio.
Nome DNS máquina: dc-jund.nats.com
IP: 192.168.10.250/24
Máquina3 - Windows XP SP2 como cliente do domínio
Nome DNS máquina: xp-jund.nats.com
IP:192.168.10.1/24
Neste ambiente criado, a máquina com o Windows Server 2003 tem instalado o Active Directory e o servidor DNS, usando os seguinte nomes:
Domínio: nats.com
Nome domínio NETBIOS: NATS
Após ter apresentado alguns detalhes sobre o ambiente criado, darei início ás configurações necessárias na próxima parte.
Link para parte-2 deste artigo!!!
Este artigo veio da necessidade de criar um servidor de arquivos Samba que tivesse a possibilidade de utilizar a base de dados de usuários e grupos do Active Directory do Microsoft Windows Server 2003 R2 - SP2, utilizando-a para controlarmos o acesso aos arquivos servidos no Samba, fazendo com que este servidor GNU/Linux (Samba) se comporte como se fosse um Member Server.
Para o desenvolvimento deste artigo foi utilizado ambiente virtual criado no VirtualBox OSE com 3 máquinas virtuais. A seguir descrevo alguns detalhes sobre a configuração dessas máquinas:
Máquina1 - Debian Lenny (GNU/Linux) para utilizar a base de dados do AD.
Nome DNS máquina: membersvr.nats.com
IP: 192.168.10.254/24
Máquina2 - Windows Server 2003 R2 - SP2 para servir como DC do domínio.
Nome DNS máquina: dc-jund.nats.com
IP: 192.168.10.250/24
Máquina3 - Windows XP SP2 como cliente do domínio
Nome DNS máquina: xp-jund.nats.com
IP:192.168.10.1/24
Neste ambiente criado, a máquina com o Windows Server 2003 tem instalado o Active Directory e o servidor DNS, usando os seguinte nomes:
Domínio: nats.com
Nome domínio NETBIOS: NATS
Após ter apresentado alguns detalhes sobre o ambiente criado, darei início ás configurações necessárias na próxima parte.
Link para parte-2 deste artigo!!!
Marcadores:
Linux Integrado ao AD
Assinar:
Postagens (Atom)
