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...
Leonardo Couto Conrado: Integração com winbind - Ingressando estação Linux a um dominio Windows AD
22 de Maio de 2010, 0:00 - sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 597 vezes
0sem comentários ainda