Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Blogosfera d...
Tela cheia Sugerir um artigo

Leonardo Couto Conrado: Integração com winbind - Ingressando estação Linux a um dominio Windows AD

22 de Maio de 2010, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 597 vezes
A Necessidade da Integração:

Mesmo que sua empresa opte por uma migração completa, ela não poderá ser realizada da noite para o dia, gerando (mesmo que temporariamente) um ambiente de rede heterogêneo, onde servidores e estações com ambos os sistemas deverão conviver com o menor impacto possível sobre as atividades da empresa.

Onde trabalho já coloquei diversas estações Linux(precisamente distros CentOs) no servidor de dominio windows server 2003. Abaixo descrevo passo à passo com realizar este procedimento e você terá sucesso no join de sua estação Linux ao servidor de dominio windows utilizando o winbind que faz o papel de middleware neste cenário de integração.

A configuração abaixada foi realizada utlizando a distro CentOS, ou seja, derivação RedHat:

1 – CONFIGURAÇÃO DA REDE:

Edite o arquivo /etc/sysconfig/network e coloque as linhas:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=WKSSINAUXOPE001.EMPRESA.SDR

Altere as configurações do arquvivo /etc/hosts:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
#::1 localhost6.localdomain6 localhost6
10.0.0.60 WKSSINAUXOPE001.EMPRESA.SDR WKSSINAUXOPE001
# ACIMA COLOQUE O ENDEREÇO IP DO SERVIDOR DO DOMINIO E AO LADO COLOQUE O NOME DA MAQUINA LINUX, NÃO ME PERGUNTE PORQUE MAS SE VC MAPEAR O ENDEREÇO IP DO SERVIDOR PDC COM SEU NOME CORRESPONDENTE NÃO FUNCIONA! VAI ENTENDER NÉ?

Configuração do DNS (resolver)

a.Edite o arquivo /etc/resolv.conf e coloque as informações referentes ao domínio que você criou no w2003:

nameserver 10.0.0.60
domain empresa.sdr
search empresa.sdr

b.Teste

# ping srvpdc1tecnotrsdr
# dig empresa.sdr NS

2 - CONFIGURAÇÃO DO KERBEROS

a.Edite o arquivo /etc/krb5.conf e coloque as linhas abaixo, porém comente algumas linhas que são de exemplo no do arquivo padrão diferentes das que estão aqui listadas.

[libdefaults]
default_realm = EMPRESA.SDR
dns_lookup_realm = false
dns_lookup_kdc = false
clockskew=11001

[realms]
EMPRESA.SDR = {
kdc = srvpdc1tecnotrsdr.empresa.sdr:88
admin_server = srvpdc1tecnotrsdr.empresa.sdr:749
default_domain = empresa.sdr
}

[domain_realm]
.empresa.sdr = EMPRESA.SDR
empresa.sdr = EMPRESA.SDR


→ O arquivo final ficará parecido a este:

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = EMPRESA.SDR
dns_lookup_realm = false
dns_lookup_kdc = false
clockskew=11001

[realms]
EMPRESA.SDR = {
kdc = srvpdc1tecnotrsdr.empresa.sdr:88
admin_server = srvpdc1tecnotrsdr.empresa.sdr:749
default_domain = empresa.sdr
}

[domain_realm]

.empresa.sdr = EMPRESA.SDR
empresa.sdr = EMPRESA.SDR

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

3 - CONFIGURAÇÃO DO SAMBA:

a.Faça uma copia do /etc/samba/smb.conf e crie um novo com o conteúdo abaixo. Fazendo as devidas correções:

Deve ser instalados esses pacotes do samba(não necessariamente nestas versões):

samba-common-3.0.33-3.7.el5_3.1
samba-3.0.33-3.7.el5_3.1
samba-client-3.0.33-3.7.el5_3.1


[global]

security = ADS
password server = 10.0.0.60
realm = EMPRESA.SDR
workgroup = EMPRESA
server string = WKSSINAUXOPE001
encrypt passwords = yes
name resolve order = wins lmhosts bcast
wins server = 10.0.0.60

winbind separator = /
winbind cache time = 7200
idmap uid = 10000-30000
winbind gid = 10000-30000
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/%U
template shell = /bin/bash
winbind use default domain = yes


4 - COLOCANDO A MÁQUINA NO DOMINIO:

a.Acerte o horario da máquina com o servidor AD (lembra do kerberos?), o kerberos não irá aceitar autenticação de estações com atrasos superiores a 5 minutos.

# net time set -I 10.0.0.60

b.Inicie o Kerberos

→ Não necessariamente administrador, essa conta pode ser uma conta do domínio que seja do grupo operadores de conta:

# kinit administrador

Autenticou? Caso não. Reveja o processo.

c.Cadastre a máquina a dominio

→ Não necessariamente administrador, essa conta pode ser uma conta do domínio que seja do grupo operadores de conta:

# net ads join -U administrador

Que retorno você obteve?

5 - TESTE O SAMBA E O WINBIND:

a.Inicie o serviço do winbindd

# /etc/init.d/winbind start

b.Teste se o winbind está trazendo as contas do AD

# wbinfo -u

6 - FAÇA A CPNFIGURAÇÃO DO PAM E DO NSS PARA FAZER A INTEGRAÇÃO DE AUTENTICAÇÃO

a.Edite o arquivo /etc/nsswitch.conf e modifique as linhas de acordo com o exemplo baixo:

passwd: files winbind
shadow: files winbind
group: files winbind


→ O arquivo final ficará parecido a este:
#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# The entry '[NOTFOUND=return]' means that the search for an
# entry should stop if the search in the previous entry turned
# up nothing. Note that if the search failed due to some other reason
# (like no NIS server responding) then the search continues with the
# next entry.
#
# Legal entries are:
#
# nisplus or nis+ Use NIS+ (NIS version 3)
# nis or yp Use NIS (NIS version 2), also called YP
# dns Use DNS (Domain Name Service)
# files Use the local files
# db Use the local database (.db) files
# compat Use NIS on compat mode
# hesiod Use Hesiod for user lookups
# [NOTFOUND=return] Stop searching if not found so far
#

# To use db, put the "db" in front of "files" for entries you want to be
# looked up first in the databases
#
# Example:
#passwd: db files nisplus nis
#shadow: db files nisplus nis
#group: db files nisplus nis

passwd: files winbind
shadow: files winbind
group: files winbind



#hosts: db files nisplus nis dns
hosts: files dns

# Example - obey only what nisplus tells us...
#services: nisplus [NOTFOUND=return] files
#networks: nisplus [NOTFOUND=return] files
#protocols: nisplus [NOTFOUND=return] files
#rpc: nisplus [NOTFOUND=return] files
#ethers: nisplus [NOTFOUND=return] files
#netmasks: nisplus [NOTFOUND=return] files

bootparams: nisplus [NOTFOUND=return] files

ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files

netgroup: nisplus

publickey: nisplus

automount: files nisplus
aliases: files nisplus


b.Teste

# getent passwd

c.Edite o arquivo /etc/pam.d/system-auth conforme abaixo. Adicione as linhas abaixo nas seções auth, account e session:

auth sufficient /lib/security/pam_winbind.so
account sufficient /lib/security/pam_winbind.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022


→ O arquivo final ficará parecido a este:

auth required pam_env.so
auth sufficient pam_unix.so likeauth nullok
auth sufficient pam_krb5.so use_first_pass
auth sufficient pam_winbind.so use_first_pass
auth required pam_deny.so

account required pam_unix.so
account sufficient pam_succeed_if.so uid < retry="3" skel="/etc/skel/" umask="0022" success="1" default="ignore]">@localhost

Pronto se tudo ocorreu com deveria sua estação linux estar dentro do dominio Windows. Existe outras maneiras de inserir sua estação a um dominio Windows como por exemplo utilizando ldap do linux ou o pacote gráfico likewise AD no Ubuntu, mas ai já fica a critério e necessidade de cada um...



Fonte: http://conteudoopensource.blogspot.com/2010/05/inserindo-estacao-linux-um-dominio.html

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.