Você está na página 1de 9

Integrando Linux a Domínios Windows: uma Solução para os 

Laboratórios da Universidade Católica de Brasília
Giovanni A. Santos, Renata A. R. de Oliveira, Renato C. Lima

CESMIC – Universidade Católica de Brasília (UCB)
QS 07 Lote 01 EPCT – 71.966­700 – Taguatinga – DF – Brazil
giovanni@ucb.br, renatarodrigues@ucb.br, renatoc@ucb.br

Abstract. Perhaps the integral adoption of free software in all the sectors of an  
organization   is  not  something  possible.   However,  the  partial  adoption   is  a  
good strategy for that the use of free software conquers more space and adepts  
inside   the   company.   Being   thus,   this   article   describes   the   process   for  
installation and configuration of the Winbind, service that allows join Linux 
workstations   to   Windows   domains.   This   solution   was   adopted   by   the  
Universidade Católica de Brasília.

Resumo.  A  adoção  integral  de  software  livre  em   todos   os  setores   de  uma  
organização talvez não seja algo possível. Contudo, a implantação parcial  
mostra­se como uma boa estratégia para que o uso de software livre conquiste  
mais espaço e adeptos dentro da empresa. Sendo assim, este artigo descreve o  
processo para instalação e configuração do Winbind, serviço que permite a  
integração de estações Linux a domínios Windows. solução esta adotada pela  
Universidade   Católica   de   Brasília   para   implantação   do   Linux   em   seus  
laboratórios.

1. Introdução
Apesar do grande avanço visto nestes últimos anos com relação ao uso de software livre 
nas   organizações,   ainda   existe   um   grande   número   delas   que   utilizam   software 
proprietário tanto nos seus servidores quanto nas estações de trabalho.
Vários fatores contribuem para a resistência de alguns CIOs quanto à adoção de 
software livre:
• dúvidas relacionadas ao ROI (Return of Investment), ou seja, quanto de retorno 
(financeiro   ou   não)   a   empresa   terá   em   relação   ao   montante   investido   com 
treinamentos; 
• a falta de suporte nos moldes do existente no software proprietário. Para alguns, 
na   ocorrência   de   um   problema,   é   muito   mais   comôdo   fazer   uma   ligação   e 
acionar um técnico especializado (não importando o quanto isso custe) do que 
ter que resolver tal problema; 
• a desconfiança de que software livre não tem qualidade; 
• forte   integração   entre   os   diversos   softwares   da   organização,   impossibilitando 
muitas vezes a implantação parcial de soluções livres 
Seja   adotando   produtos   livres   ou   proprietários,   alguns   softwares   já   estão 
consolidados em grande parte das organizações devido ao serviço que desempenham. 
Entre tantos, um tipo de software bastante utilizado são os serviços de diretório LDAP.
Um serviço de diretório desempenha um importante papel dentro da empresa, 
pois ele fornece uma estrutura que facilita e padroniza o acesso a diversas informações, 
como por exemplo, dados de usuário, computadores, impressoras etc, servindo como um 
ponto   de   integração   entre   os   diversos   sistemas   e   minimizando   os   problemas   de 
administração dos mesmos.
Há vários serviços de diretório disponíveis, dentre os quais o Active Directory 
(AD) é o representante da Microsoft enquanto que no mundo do software livre tem­se o 
OpenLDAP como destaque.
Se uma empresa já adota uma solução "uniforme", ou seja, AD com estações 
Windows [Allen et al, 2006] ou OpenLDAP com estações Linux [Carter, 2003], não há 
maiores problemas com relação a configurações.
Por   outro  lado,  o  que  fazer  se  uma   empresa  que  adota  software  proprietário 
resolver implantar soluções livres parcialmente?
Primeiro, pode­se querer mudar o serviço de diretório mantendo­se as estações 
Windows.   Neste   caso,   a   autenticação   dos   usuários   pode   ser   feita   usando   um   outro 
software livre chamado Samba. Claro que o Samba serve para outras finalidades que 
não somente autenticação de usuários.
Além   disso,   tem   que   se   analisar   o   impacto   da   substituição   do   serviço   de 
diretório, pois, como já dito anteriormente, muitos sistemas podem depender dele, sendo 
necessária uma migração dos dados e, possivelmente, uma expansão dos esquemas no 
novo serviço.
Como   segunda   possibilidade,   a   empresa   pode   querer   substituir   as   estações 
Windows por estações Linux, mantendo­se o serviço de diretório proprietário, sendo 
que há duas soluções para tal integração: uma delas requer mais configuração do lado 
do   servidor   de   diretório   e   menos   nas   estações   de   trabalho;   a   outra   requer   mais 
configuração nas estações, porém, nenhuma no servidor.  
Esta segunda solução, que será descrita nas seções a seguir, foi a opção escolhida 
pela Universidade Católica de Brasília (UCB) para implantação do Linux como mais um 
sistema operacional disponível nas máquinas dos seus laboratórios.

2. Verificações Iniciais
Antes   de   prosseguir,   é   necessário   definir   um   nome   para   a   máquina   que  está   sendo 
configurada.
Para atribuir um nome à máquina, basta editar o arquivo  /etc/hostname. 
Este   arquivo   é   lido   toda   vez   que   a   máquina   é   inicializada.   Portanto,   é   necessário 
reinicilizar o computador para que o novo nome seja utilizado.
Uma   alternativa   a   esta   reinicialização   é   executar   o   programa  hostname
passando como parâmetro o nome da máquina. Porém, se esta execução estiver sendo 
feita   a   partir   de   um   ambiente   gráfico   (KDE,   Gnome   etc.)   é   preciso   reiniciá­lo 
(Ctrl+Alt+Backspace).
Um detalhe importante que precisa ser observado é que se a máquina possui dois 
sistemas operacionais (dual boot) então os nomes de máquina em cada sistema precisam 
ser diferentes.

A instalação dos pacotes de software citados neste documento será feita via um 
gerenciador de pacotes gráfico, o Synaptic. Ela também pode ser feita via um terminal 
utilizando o comando apt-get.

3. Instalação e Configuração do Kerberos
A  solução  aqui adotada  requer  a  instalação  e configuração  nas  estações  clientes  do 
Kerberos,   um   protocolo   para   a   autenticação   e   criptografia   da   comunicação   em 
aplicações cliente­servidor [Garman, 2003].
Neste   documento   será   utilizado   o   Kerberos   5,   versão   mais   recente   deste 
protocolo e que traz inúmeras vantagens em relação às versões anteriores.
Dois   pacotes   precisam   ser   instalados:  krb5-config  e  krb5-user.   O 
primeiro   provê   os   arquivos   necessários   à   configuração   do   Kerberos,   onde   o   mais 
importante   é   o  /etc/krb5.conf.   O   segundo   contém   programas   básicos   para   a 
comunicação com o servidor Kerberos.
Na instalação do krb5-config, o primeiro item a ser informado é o nome do 
domínio da rede Windows. Na Figura 1, o domínio informado é CESMIC.UCB.BR.

Figura 1: Informando nome do domínio para o 
Kerberos

A seguir, é solicitado o nome dos servidores Kerberos no domínio informado. 
Neste ponto podem ser usados os próprios servidores de domínio da rede Windows, 
tendo   em  vista que o AD  já fornece um  servidor Kerberos. A  Figura 2 mostra um 
exemplo   da   tela   de   configuração,   na   qual   está   sendo   informado   apenas 
um servidor, zeus.cesmic.ucb.br.

Figura 2: Informando o nome dos servidores  
Kerberos

Por último é solicitado o nome do servidor administrativo do domínio. Aqui será 
utilizado o mesmo servidor informado no passo anterior, conforme mostrado na Figura 
3.

Figura 3: Informando o servidor de domínio da  
rede Windows.
O   resultado   desta   configuração   pode   ser   visto   no   arquivo  /etc/krb5-
config. Abaixo está listada a alteração efetuada neste arquivo. A instalação do pacote 
krb5-user, por sua vez, não requer nenhuma configuração adicional.

[libdefaults]
    default_realm = CESMIC.UCB.BR
[realms]
 CESMIC.UCB.BR = {
    kdc = zeus.cesmic.ucb.br
    admin_server = zeus.cesmic.ucb.br
 }

4. Configuração do Samba
O   Samba   é   um   conjunto   de   pacotes   de   software   que   roda   sobre   a   maioria   das 
distribuições  Unix/Linux. Implementa o protocolo SMB/CIFS projetado inicialmente 
com   o   intuito   de   integrar   servidores   Unix/Linux   com   estações   Windows,   provendo 
serviços de arquivos e de impressão [Terpstra and Vernooij, 2005].
A   solução   descrita   neste   documento   não   requer   a   instalação   de   um   servidor 
samba   completo.   Porém,   é   necessário   a   configuração   do   arquivo 
/etc/samba/smb.conf,   o   qual   é   instalado   juntamente   com   o   pacote  samba-
common.
A   instalação   do  samba-common  requer   algumas   configurações   adicionais. 
Inicialmente, deve ser informado o grupo de trabalho ao qual o Samba estará vinculado. 
Conforme mostrado na Figura 4, está sendo utilizado o valor CESMIC.

Figura 4: Informando o grupo de trabalho na 
instalação do Samba

Em seguida, deve­se solicitar o uso de senhas criptografadas (Figura 5).
Figura 5: Informando o uso de senhas  
criptografadas na instalação do Samba

Por fim, deve­se escolher se se deseja obter informações do servidor WINS a 
partir do serviço DHCP. Para as configurações contidas neste documento e, tendo em 
vista que a máquina cliente utilizada não usa DHCP, a opção escolhida é Não (Figura 6).

Figura 6: Informando o uso ou não do DHCP  
durante a instalação do Samba

Após a configuração do samba­common mostrada acima, o arquivo 
/etc/samba/smb.conf deverá conter, entre várias outras, as seguintes informações:
# Change this to the workgroup/NT­domain name your Samba server will part of
 workgroup = CESMIC
# You may wish to use password encryption. See the section on
# 'encrypt passwords' in the smb.conf(5) manpage before enabling.
 encrypt passwords = true

Além das configurações iniciais, é preciso informar ao Samba que ele executará 
como um membro de um domínio do AD. Isso é feito atribuindo­se ads à propriedade 
security, conforme mostrado no trecho abaixo: 
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba­doc/htmldocs/ServerType.html in the samba­doc
# package for details.
; security = user
 security = ads

5. Registrando as Estações no Microsoft Active Directory
Agora   que   a   configuração   do   Samba   já   está   feita,   é   preciso   registrar   a   estação   ao 
domínio do AD. Para tal, basta executar em um terminal o programa net, a qual é uma 
ferramenta do pacote Samba, conforme a linha abaixo:
net ads join ­U <usuário­administrador>

O parâmetro  ads indica que o domínio é Active Directory,  join  é utilizado 


para   adicionar   a   máquina   ao   domínio   (configurado   no   arquivo  smb.conf)   e   o 
<usuário­administrador> é qualquer usuário que tenha as devidas permissões para tal 
operação.
Se a configuração não apresentar nenhum problema, será apresentada a seguinte 
mensagem:
Using short domain name ­­ "CESMIC"
Joined 'NOME­DA­MAQUINA' to realm 'CESMIC.UCB.BR' 

6. Instalação e Configuração do Winbind
O  Winbind  é um  serviço  que unifica  as  contas  de  usuários  e  grupos  Unix/Linux e 
Windows, permitindo que usuários cadastrados no Active Directory possam ser vistos 
como se eles fossem usuários Unix/Linux nativos [Terpstra and Vernooij, 2005].
Além das configurações iniciais, é necessário prover outras informações neste 
arquivo para uso pelo Winbind.
Por   fim,   algumas   linhas   deverão   ser   adicionadas   à   seção   referente   às 
configurações do winbind. Aqui são sugeridas as seguintes:
realm = CESMIC.UCB.BR
winbind separator = +
template shell = /bin/bash
template homedir = /home/%U
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
winbind cache time = 14400
idmap uid = 16777216­33554431
idmap gid = 16777216­33554431
Quando   um   programa   qualquer   solicita   ao   sistema   Unix/Linux   informações 
sobre um determinado usuário ou grupo, tal solicitação é repassada ao controlador de 
domínio do Active Directory que foi informado na instalação do Samba. Isso é feito de 
forma transparente, necessitando apenas que sejam feitas as devidas configurações no 
arquivo /etc/nsswitch.conf:
passwd     compat winbind
groups     compat Winbind
shadow     compat winbind

A   partir   deste   ponto,   o   Winbind   pode   ser   instalado,   sendo   que   nenhuma 
configuração adicional é necessária ao longo do processo de instalação.
O   Winbind   também   fornece   bibliotecas  que   podem   ser   acopladas   ao   PAM 
(Pluggable Authentication Module) para que as aplicações baseadas neste possam ter a 
capacidade de autenticação no Active Directory.
A   configuração   do   PAM   requer   a   alteração   dos   arquivo  common-auth, 
common-account  e  common-session,   contidos   em  /etc/pam.d.   Abaixo, 
seguem as configurações necessárias em cada arquivo:
# Arquivo /etc/pam.d/common­account
account  sufficient pam_winbind.so
account required pam_unix.so

# Arquivo /etc/pam.d/common­auth
auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure use_first_pass

# Arquivo /etc/pam.d/common­session
session required pam_unix.so
session  required pam_mkhomedir.so skel=/etc/skel umask=0077

Após todas as configurações descritas neste documento terem sido efetuadas, 
pode­se fazer um teste inicial para se verificar se o Winbind está realmente conseguindo 
obter as informações dos usuários a partir do Active Directory:
wbinfo ­g

A execução do comando acima listará todos os grupos cadastrados no Active 
Directory. O uso do parâmetro -u, por sua vez, listará os usuários.

7. Conclusões
A   implantação   do   Linux   nos   laboratórios   da   UCB   oferece   a   possibilidade   de   que 
professores e alunos possam ter contato com mais um sistema operacional, o qual é 
baseado em uma filosofia tão amplamente discutida nos últimos tempos: o software 
livre.
Vale salientar que as máquinas dos laboratórios apresentam uma configuração 
dual­boot  ainda,   mas  tal   implantação   abre   caminho   para   que   novas   soluções   livres 
comecem a ser adotadas, substituindo­se softwares proprietários atualmente utilizados 
por produtos livres equivalentes.
A solução apresentada aqui, a integração via Winbind, apresentou­se como a 
mais adequada às necessidades da UCB, tendo em vista que a substituição do serviço de 
diretório por um equivalente livre seria inviável no momento, sendo mais praticável a 
configuração das estações de trabalho.

8. Referências
Garman, J (2003), Kerberos: The Definitive Guide. O'Reilly Media, Inc., USA.
Terpstra, J. H. and Vernooij, J. R. (2005), The Official Samba­3 HOWTO and Reference 
Guide, 2nd Edition. Prentice Hall, Inc., New Jersey, USA.
Allen, R., Richards, J. and Lowe­Norris, A. G. (2006), Active Directory, 3rd Edition. 
O'Reilly Media, Inc., USA.
Carter, G. (2003), LDAP System Administrator. O'Reilly Media, Inc., USA.

Você também pode gostar