Você está na página 1de 8

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

INDICE
1. 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. INTRODUO
Este 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 INICIAIS
Logue-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-CONFIG


Para 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 AD


Para 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.

Você também pode gostar