Escolar Documentos
Profissional Documentos
Cultura Documentos
Linux Ad
Linux Ad
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.966700 – 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
mostrase 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 temse 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, podese querer mudar o serviço de diretório mantendose 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, mantendose 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 clienteservidor [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, devese solicitar o uso de senhas criptografadas (Figura 5).
Figura 5: Informando o uso de senhas
criptografadas na instalação do Samba
Por fim, devese 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 sambacommon mostrada acima, o arquivo
/etc/samba/smb.conf deverá conter, entre várias outras, as seguintes informações:
# Change this to the workgroup/NTdomain 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 atribuindose 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/sambadoc/htmldocs/ServerType.html in the sambadoc
# 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árioadministrador>
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 = 1677721633554431
idmap gid = 1677721633554431
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/commonaccount
account sufficient pam_winbind.so
account required pam_unix.so
# Arquivo /etc/pam.d/commonauth
auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure use_first_pass
# Arquivo /etc/pam.d/commonsession
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,
podese 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
dualboot ainda, mas tal implantação abre caminho para que novas soluções livres
comecem a ser adotadas, substituindose softwares proprietários atualmente utilizados
por produtos livres equivalentes.
A solução apresentada aqui, a integração via Winbind, apresentouse 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 Samba3 HOWTO and Reference
Guide, 2nd Edition. Prentice Hall, Inc., New Jersey, USA.
Allen, R., Richards, J. and LoweNorris, A. G. (2006), Active Directory, 3rd Edition.
O'Reilly Media, Inc., USA.
Carter, G. (2003), LDAP System Administrator. O'Reilly Media, Inc., USA.