Procedimento Para Integrar SAMBA Com AD 2008

Post on 17-Jul-2015

726 views 12 download

Transcript of Procedimento Para Integrar SAMBA Com AD 2008

INTEGRANDO UM SERVIDOR DE ARQUIVO SAMBA COM AD 2008

DGTI Diretoria de Gesto de Tecnologia da Informao

Classificao: Sigilosa Data: 07/04/2011 Verso: 1.0.0 Atualizado por: Ricardo Luiz Manhes Sampaio Jnior

INDICE1. 2. 3. 4. 5. INTRODUO .................................................................................................. 1 CONFIGURAES INICIAIS........................................................................... 1 INSTALANDO OS PACOTES: KRB5-USER E KRB5-CONFIG ...................... 1 INSTALANDO O SAMBA E WINBIND. ............................................................ 2 TESTE DE INTEGRAO COM AD ................................................................ 4

1. INTRODUOEste artigo veio da necessidade de criar um servidor de arquivos Samba que tivesse a possibilidade de utilizar a base de dados de usurios e grupos do Active Directory do Microsoft Windows Server 2008, 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. Mquina1 - Debian Lenny (GNU/Linux) para utilizar a base de dados do AD. Nome DNS mquina: sr0013.iff.edu.br IP: 10.0.1.20 Mquina2 - Windows Server 2008 para servir do domnio. Nome DNS mquina: sr0002.iff.edu.br IP: 10.0.1.20 Neste ambiente criado, a mquina com o Windows Server 2008 tem instalado o Active Directory e o servidor DNS, usando os seguinte nomes: Domnio: iff.edu.br Nome domnio NETBIOS: sr0002 Aps ter apresentado alguns detalhes sobre o ambiente criado, darei incio s configuraes necessrias na prxima parte.

2. CONFIGURAES INICIAISLogue-se na mquina2 (Windows Server 2008) e adicione um registro do tipo "A" para a mquina sr0013 no DNS, que aps adicionado ficar mais ou menos assim: sr0013 Host(A) 10.0.1.20 Logue-se na mquina1(Debian) e efetue as seguintes configuraes: Edite /etc/hosts e adicione as linhas abaixo: 10.0.1.20 sr0013.iff.edu.br sr0013 10.0.1.2 sr0002.iff.edu.br sr0002 Agora edite o /etc/resolv.conf e adicione o IP do servidor DNS do Windows Server 2008 (se tiver mais que um, faa com que este seja o primrio, colocando-o em primeiro na lista): nameserver 10.0.1.2

3. INSTALANDO OS PACOTES: KRB5-USER E KRB5-CONFIGPara instalar os pacotes informados acima basta executar o comando abaixo: apt-get install krb5-user krb5-config

Configure o /etc/krb5.config, mas por medidas de segurana eu costumo fazer uma cpia dos arquivos originais de configurao que vem com os pacotes antes de alter-los, e costumo renomelos com por exemplo /etc/krb5.config.orig. Ento o arquivo /etc/krb5.config deve ficar exatamente assim: [libdefaults] default_realm = IFF.EDU.BR dns_lookup_realm = false dns_lookup_kdc = false # The following krb5.conf variables are only for MIT Kerberos. krb4_config = /etc/krb.conf krb4_realms = /etc/krb.realms kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true # The following encryption type specification will be used by MIT Kerberos # if uncommented. In general, the defaults in the MIT Kerberos code are # correct and overriding these specifications only serves to disable new # encryption types as they are added, creating interoperability problems. # # Thie only time when you might need to uncomment these lines and change # the enctypes is if you have local software that will break on ticket # caches containing ticket encryption types it doesn't know about (such as # old versions of Sun Java). # # # default_tgs_enctypes = des3-hmac-sha1 default_tkt_enctypes = des3-hmac-sha1 permitted_enctypes = des3-hmac-sha1

# The following libdefaults parameters are only for Heimdal Kerberos. v4_instance_resolve = false v4_name_convert = { host = { rcmd = host ftp = ftp } plain = { something = something-else } } fcc-mit-ticketflags = true [realms] IFF.EDU.BR = { kdc = sr0002.iff.edu.br default_domain = IFF.EDU.BR }

NOTA: Lembre-se de respeitar quando as letras esto em maisculas ou minsculas (caixa alta ou baixa). Agora testaremos a conexo com o Kerberos localizado no DC do domnio iff.edu.br (Windows Server 2003) com o seguinte comando: # kinit user-teste@IFF.EDU.BR O usurio "user-teste" deve estar criado no AD do Windows Server 2008, se voc no tiver este usurio pode cri-lo antes ou especificar um usurio que esteja criado na BD do AD. Aps executar o comando acima, digite a senha (lembrando que o user no pode ter senha em branco). Se for digitado o comando especificando o domnio com letras minsculas, como por exemplo, user-teste@iff.edu.br, 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. provvel que a hora entre as duas mquinas (sr0013 e sr0002) est muito dessincronizada. Uma forma de resolver isto instalar o pacote ntpdate e sincronizar a hora do sr0013 baseado na hora do sr0002, ex.: # ntpdate sr002.iff.edu.br Se o comando "kinit user-teste@IFF.EDU.BR" no apresentar nenhum erro, podemos continuar.

4. INSTALANDO O SAMBA E WINBIND.Aps instal-los, adicione ou modifique as linhas da seo [global] do arquivo de configurao do Samba /etc/samba/smb.conf: # Global parameters workgroup = IFF security = ads encrypt passwords = true

os level = 18 domain master = no local master = no preferred master = no realm = IFF.EDU.BR password server = sr0002.iff.edu.br clientschannel = no idmap uid = 15000-30000 idmap gid = 15000-30000 winbind separator = + winbind enum users = yes winbind enum groups = yes [dgti] path = /home/dgti writable = yes browseable = yes create mask = 775 directory mask = 775 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 mquina sr0013 no domnio com o seguinte comando: # net ads join -U administrator O parmetro "-U administrator" acima indica um usurio que tem privilgios no domnio para realizar a tarefa de adicionar uma mquina no domnio, isto indica que voc pode especificar um outro usurio. Reinicie o Samba e o Winbind novamente! comandos: # wbinfo -t Tem que apresentar a mensagem: "Checking the trust secret via RPC calls succeeded" Se aparecer outra mensagem, revise as configuraes e reinicie o Samba e o Winbind. # wbinfo -u ou com parmetro -g, mostrar todos os usurios ou grupos respectivamente, que conter uma lista de usurios ou grupos locais juntamente com os do domnio nats.com. Lembra da linha "winbind separator = +" do smb.conf? Nos comandos acima vemos a sua utilidade, pois: SR0013+root - > Diz que o usurio root pertence a mquina local (sr0013); IFF+administrator -> Diz que o usurio administrator pertence ao domnio nats.com, ou seja, ao AD. Mas no GNU/Linux mostrado o nome netbios (IFF), por isso no apresentado o nome do domino (iff.edu.br). possvel visualizar tambm a integrao dos usurios e grupos com os seguintes comandos:

# getent passwd # getent group Eles mostraro os usurios 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 usurios e grupos, aumente a faixa especificada acima. Se voc j chegou at aqui porque a integrao entre o GNU/Linux e o Active Directory j esta pronta!

5. TESTE DE INTEGRAO COM ADPara testar e provar a integrao 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 continer "Users" do domnio do Windows Server 2008. Agora veremos o objetivo que eu gostaria de alcanar quando pensei nesta integrao, que era poder usar o BD de usurios 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 IFF+administrator.IFF+grupoteste /home/pasta1 Adicione as linhas abaixo no /etc/samba/smb.conf: [dgti] path = /home/dgti writable = yes browseable = yes create mask = 775 directory mask = 775 Agora reinicie o Samba e o Winbind. Agora somente o usurio do domnio "administrator" e os usurios que pertencerem ao grupo do domnio "grupo-teste" tero acesso total pasta compartilhada pasta1.