Active Directory no Linux

Active Directory no Linux

Conheça formas de obter mobilidade entre Windows e Linux.

Por Marcel Gagné


Por diversas vezes sugeri que nós da comunidade do código aberto, não tenhamos que trabalhar com a Microsoft. Eles, a Microsoft, é que devem ser forçados a trabalhar conosco. Acontece que, também sou um realista e alguém que trabalha no mundo real, onde sistemas de desktop Windows são a regra, não a exceção.

Embora o meu escritório tenha meia dúzia de computadores desktop Linux, é bem provável que o mesmo não aconteça no escritório ao lado. O Windows ainda tem uma grande presença nos departamentos de TI das empresas. Apesar das vantagens óbvias do Linux, muitos precisam se mover facilmente ou pelo menos fazer um intercâmbio de informações entre essas duas plataformas.

No entanto, os desktops Linux não são a curiosidade que costumavam ser. As empresas vêm considerando cada vez mais o uso de estações de trabalho Linux, e algumas pessoas até conseguem permissão para usar o Linux em suas estações de trabalho em vez do Windows. Seja qual for a razão, os administradores de sistemas Linux, por vezes, precisam configurá-lo para participar de um grupo de trabalho ou domínio Windows, para acessar arquivos, impressoras ou outros recursos compartilhados. Em um ambiente maior e mais seguro, servidores do Active Directory podem estar presentes.


Figura 1: O Dolphin confere os recursos de rede. 

Truques gráficos


O software cliente Samba, necessário para acessar os recursos do Windows, normalmente vem como parte da instalação padrão das distribuições Linux mais modernas. Caso você esteja usando KDE ou Gnome como ambiente de trabalho, pode estar certo que todas as ferramentas necessárias para acessar os recursos do Windows estão à sua disposição, apesar de que, alguns dos recursos mais avançados podem não estar instalados.

No gerenciador de arquivos Dolphin do KDE, na barra lateral do lado esquerdo, encontram-se alguns dos locais de armazenamento básico em seu sistema, incluindo o seu diretório home, o roote a mídia fixa ou removível conectada ao seu computador. Além disso, há um item chamadoNetwork (Rede).

Para ver qualquer recurso de rede já conectado e os meios para acessar outros, clique no íconeNetwork (figura 1). Para ver o sistema Windows e compartilhamentos, clique no ícone Samba Shares. Os servidores Samba [1] ou as máquinas Windows anunciando compartilhamento de rede serão exibidas primeiro na janela do navegador, abaixo de seu nome de grupo de trabalho (comocontabilidade ou vendas). Clique no nome do grupo de trabalho, e serão mostrados os computadores clientes, impressoras, dispositivo de rede e tudo o que estiver disponível na rede Windows. Para ler, escrever e usar os arquivos compartilhados nesses computadores, clique na pasta correspondente. Todos os diretórios compartilhados disponíveis estarão visíveis (figura 2). Daqui para frente, é o clássico arrastar e soltar dos gerenciadores de arquivos gráficos. Os passos para acessar os compartilhamentos do Windows no Gnome são similares. Para começar, execute o Nautilus clicando em Places no painel superior do Gnome e selecionando network. Quando o Nautilus abrir, haverá uma pasta chamada Windows Network. Clique nela duas vezes para ver os domínios ou grupos de trabalho do Windows na sua rede (figura 3).


Figura 2: Uma vez conectado, a navegação é feita como em qualquer gerenciador de arquivo básico.

Agora, basta clicar em algum dos grupos de trabalho para selecionar um computador. Então, na lista de computadores, clique duas vezes no que foi escolhido e comece a navegar nos recursos individuais. Saiba que, ocasionalmente, é possível que um nome de usuário e uma senha sejam solicitados para o acesso a um computador ou mesmo uma pasta.

Simples login


Nos ambientes Windows mais modernos, particularmente em grandes organizações, a autenticação é um pouco mais complicada. Com centenas de máquinas e possivelmente milhares de usuários, as empresas geralmente recorrem a algum tipo de sistema de autenticação central, preferivelmente algo que possua a capacidade single sign-on (simples login).

Dada a presença quase onipresente do Windows nas empresas, a tarefa desse tipo de autenticação central fica geralmente a cargo de um servidor Windows com o Active Directory Domain Services da Microsoft.

O Active Directory oferece um sistema de serviço de diretório similar ao LDAP, com autenticação e criptografia KerberosDNS e mais algumas coisas. Para acessar os recursos dos ambientes do Active Directory, seu computador Linux precisa entrar no Active Directory.

Kerberos


Como sempre acontece no mundo do código aberto, o problema para se conectar ao Active Directory tem sempre mais de uma solução.

Primeiro, a mais trabalhosa. Mas, antes de pensar em pular esta parte completamente e passar para a solução mais simples, é bom saber que a solução mais difícil é a mais flexível. Ela oferece um grau de controle que não existe de outra maneira, e é um caminho para entender o que de fato acontece durante todo o processo.

O Kerberos é um protocolo de autenticação poderoso que usa criptografia baseada em chave secreta. Apesar de existir várias variações do Kerberos (incluindo a da própria Microsoft) por aí, veremos a versão de código aberto.


Figura 3: Rede Windows no Nautilus.

No meu sistema de teste, usei um sistema com Ubuntu 9.10. Na instalação, vários pacotes estão faltando, portanto, o primeiro passo é instalá-los:

apt‑get install krb5‑user libpam‑krb5 krb5‑config libkadm5clnt6


Para serviços de domínios e autenticação de senhas, essa é provavelmente uma boa hora para se certificar de ter incluído seu endereço IP no arquivo /etc/hosts nos vários hosts com os quais serão feitas conexões. Por exemplo:

172.16.59.21 adserver.realm.mydomain.dom

Além disso, certifique-se de ter acesso a todas as máquinas. Se puder dar um ping nos vários hosts, provavelmente tudo está correto.

O Kerberos depende de uma conexão de rede consistente. Para que funcione corretamente, os clientes e servidores devem estar devidamente sincronizados. O protocolo de rede (NTP) oferece essa sincronia de dados de tempos em tempos nos sistemas Linux. É quase certo que seu sistema já tenha o pacote ntpdate, portanto, basta configurá-lo para que ele pegue o tempo do controlador do Active Directory. Edite o arquivo de configuração /etc/default/ntpdate e faça as seguintes mudanças:

NTPSERVERS="adserver.realm.mydomain.dom"

Reinicie, então o NTP.



/etc/init.d/ntpdate restart



Até aqui, tudo bem. Daqui para frente, será preciso configurar o Kerberos. Ao instalar o pacotekrb5config, será necessário passar por uma sessão de perguntas e respostas sobre seu realmpadrão e se seu DNS contém ponteiros para os vários hosts. Esse é um ótimo caminho para criar sua configuração inicial, mas há muita informação que pode ser considerada desnecessária. Além disso, é possível apenas editar o arquivo /etc/krb5.conf conforme mostra a (listagem 1).

listagem 2 confirma que agora poderemos obter um ticket Kerberos do servidor AD. Para liberar o ticket, use kdestroy

Se conseguir obter o ticket do servidor, saberá que o Kerberos está funcionando.

Samba


Agora é a hora do Samba. Como já sabemos, o Samba é uma suíte de programas de código aberto que possibilitam ao desktop ou ao servidor Linux o acesso e o uso de arquivos e impressoras em uma rede Windows. Em um servidor, o Samba oferece esses serviços aos clientes Windows, efetivamente assumindo o posto do servidor Windows. De fato, o Samba pode funcionar como um servidor Active Directory, mas isso é assunto para um outro artigo. Para usar o Samba para atender as necessidades do cliente Active Directory, instale os seguintes pacotes:

apt‑get install winbind samba smbclient smbfs nfs‑common

Os dois últimos pacotes são opcionais, mas úteis caso seja preciso montar suas pastas de rede usando SMB ou NFS.

O principal arquivo de configuração do Samba está normalmente em /etc/samba/smb.conf (a menos, é claro, que outro caminho tenha sido especificado). Não será necessário mexer em todo o arquivo; o básico é mostrado na listagem 3.


Figura 4: Mesmo em uma rede Windows ou Samba simples, é possível que algum tipo de autenticação seja necessária. 

Enfatizamos que a configuração exibida na listagem 3 é básica. Um número imenso de parâmetros pode ser usado para configurar o Samba e o daemon de autenticação winbind, que suporta o login do Linux em recursos Windows. Muitos desses parâmetros são padrão, o que não quer dizer que eles sejam usados. Caso se interesse, digite testparm -v para conferir sua configuração e achar possíveis erros, mas o -v também devolve uma lista completa de todos os parâmetros que são padrão.

Antes de iniciar o Samba e o Winbind, edite o arquivo /etc/nsswitch.conf e procure as linhaspasswd e group. A grande mudança aqui é adicionar winbind às linhas passwd e group:

passwd: files winbind

group: files winbind

shadow: files

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

networks: files


Então, inicie os serviços Samba e Winbind:

sudo /etc/init.d/samba start

sudo /etc/init.d/winbind start

  


E agora, o momento pelo qual todos esperávamos. Hora de se juntar ao domínio: para ver se tudo está funcionando corretamente, use algumas ferramentas que já estão presentes no pacote Winbind.

Para obter uma lista de usuários do domínio, digite wbinfo -u. Devido do grande número de usuários, é possível que esse processo demore um pouco. O resultado deve ser uma lista semelhante a essa:

user1

user2

user3

user4


Do mesmo modo, é possível listar os grupos com wbinfo -g, cujo resultado seria mais ou menos esse:

engineering_group

financial_group

humanresources_group


Particularmente, se o número de usuários do Active Directory for muito grande, acredito que seria interessante fazer mais uma modificação no arquivo smb.conf. Nessas circunstâncias, a enumeração de usuários e grupos pode exigir um grande desempenho da máquina, o que acarretaria timeouts, falhas de login e outros aborrecimentos. A mudança é de fácil implementação:

winbind enum users = no

winbind enum groups = no



Figura 5: A configuração GUI do Likewise Open facilita tudo.

Até o momento, já conseguimos e conversar com o servidor Active Directory, mas ainda temos que configurar a autenticação. Essa última parte acontece com o PAM (Plugable Authentication Module) Os arquivos que precisam ser editados estão no diretório /etc/pam.d. O seguinte comando instala alguns módulos adicionais para suporte PAM:

apt‑get install libpam‑mount libpam‑encfs

Esses módulos oferecem suporte para que o PAM possa montar compartilhamentos de rede, comoNFS ou CIFS, usando sistemas de arquivos criptografados. Para completar a configuração, será necessário editar alguns arquivos. A listagem 4 mostra algumas configurações dos arquivoscommon‑authcommon‑account e common‑session.

Likewise


Likewise Open [2], baseado no Winbind, facilita a configuração e a preparação de um desktop Linux para se juntar a um domínio Active Directory. Os usuários do Mac OS também podem usar o Likewise Open. A Likewise Software oferece uma versão comercial de nível empresarial, além de suporte ao projeto Likewise Open.

O bom do Likewise é que ele consegue fazer todo trabalho descrito anteriormente, com eficiência, apenas com um ou dois passos – sem configurar arquivos e sem a necessidade de pacotes adicionais além dos básicos do Likewise Open. Com uma reinicialização rápida, já é possível aproveitar o single sign-in e trabalhar no Windows e no Linux com seu próprio ID de usuário.

Para baixar tudo que o sistema Linux precisa, visite o site do Likewise Open. Pacotes de 32 e 64 bits estão disponíveis, além de pacotes DEB e RPM. A instalação é só uma questão de dar permissão de execução aos arquivos e executar a instalação. Há um pacote para o Likewise Open básico e outro com interface gráfica. O primeiro, LikewiseIdentityService, é necessário, mas o pacote com interface gráfica é opcional.

Figura 6: O último passo exige autenticação usando as credenciais do Administrador.

Para iniciar, altere os bits executáveis dos dois pacotes, desta forma:

chmod +x Likewise*installer


Depois, continue com a instalação dos pacotes:



sudo LikewiseIdentityServiceOpen‑5.3.0.7724‑linux‑i386‑deb‑installer




Uma vez que isso for feito, há a opção de entrar no Active Desktop usando a linha de comando ou o instalador gráfico. Para acessar seu domínio, execute:

sudo domainjoin‑cli join YOUR.AD.DOMAIN Administrator


A senha do Administrador será solicitada, após o que, assumindo que a informação correta foi inserida, será possível fazer o login. Para usar a versão gráfica do domainjoin, basta executar sudo domainjoin -gui. Uma tela como a da figura 5 será exibida.

Depois, insira o nome completo de domínio no qual deseja entrar e clique no botão Join Domain na base da janela. Então, o login e a senha da conta do Administrador serão pedidos (figura 6).

Certifique-se de digitar a senha corretamente pois ela não é exibida enquanto é digitada. Se tudo correu de acordo com o planejado, o que mais é necessário? A temida reinicialização do sistema (figura 7). Ao reiniciar o sistema, tudo estará pronto para o login usando as credenciais do seu Active Directory. Na figura 8, nós usaremos um gerenciador de login GDM no Ubuntu. Como a conta no AD não existe nesse computador, clique em Other para selecionar um usuário diferente dos que existem nesse computador.

No campo Username, insira o nome do usuário do domínio desse modo:

DOMAIN_NAME/username



Figura 7: Ao entrar no Active Directory e após a configuração, é necessária uma reinicialização.

Quando solicitada, insira sua senha para finalizar o processo. Ao fazer o login com a conta AD pela primeira vez, o diretório home não existe. Sem problemas o sistema irá criá-lo em /etc/skel.

Se preferir, é possível fazer o login com sua conta normal e depois fazer o login na estação de trabalho local com SSH (será necessário ter o servidor openssh instalado, logicamente). Para isso, faça o seguinte:

ssh AD‑DOMAIN\\user_name@localhost


Note as barras duplas, se colocar só uma barra não funcinonará. Quando a senha for solicitada, basta inseri-la.

Como você pode ver, um desktop Linux pode trabalhar dentro de uma rede Windows de várias maneiras. Do compartilhamento do espaço de domínio até ambientes de Active Directory seguros, executar seu Linux em um desktop de PC não quer dizer que não se possa fazer parte da comunidade.


Figura 8: Fazer login no Active Directory usando GDM.

Mais informações


[1] Samba: http://www.samba.org 
[2] Likewise Open: http://www.powerbrokeropen.org/



Listagem 1: /etc/krb5.conf

01 [libdefaults]
02 default_realm = REALM.MYDOMAIN.DOM
03 kdc_timesync = 1
04 ccache_type = 4
05 forwardable = true
06 proxiable = true

07 [realms]
08 REALM.MYDOMAIN.DOM = {
09 k dc = adserver.realm.mydomain.dom
10 k dc = adserver2.realm.mydomain.dom
11 a dmin_server = adserver.realm.mydomain.dom
12 }

13 [domain_realm]
14 .r ealm.mydomain.dom = REALM.MYDOMAIN.DOM
15 r ealm.mydomain.dom = REALM.MYDOMAIN.DOM

Listagem 2: Conseguindo um Ticket

01 root@adilaptop:~# kinit Administrator@REALM.MYDOMAIN.DOM
02 Password for Administrator@REALM.MYDOMAIN.DOM:
03
04 root@adilaptop:~# klist
05 Ticket cache: FILE:/tmp/krb5cc_0
06 Default principal: Administrator@REALM.MYDOMAIN.DOM
07
08 Valid starting Expires Service principal
09 03/10/10 17:05:06 03/11/10 03:05:20 k rbtgt/REALM.MYDOMAIN.DOM@REALM.MYDOMAIN.DOM
10 renew until 03/11/10 17:05:06

Listagem 3: /etc/ samba/smb.conf

01 [globals]
02 workgroup = AD‐DOMAIN
03 netbios name = ADILAPTOP
04 pa ssword server = adserver.realm.mydomain.dom
05 realm = REALM.MYDOMAIN.DOM
06 server string = My Linux Test Machine
07 security = adsidmap uid = 1000‐2000000
08 idmap gid = 1000‐2000000
09 winbind enum users = yes
10 winbind enum groups = yes
11 winbind use default domain = Yes
12 winbind nested groups = Yes
13 winbind separator = +winbind refresh tickets = yes
14 template homedir = /home/%U
15 template shell = /bin/bash

Listagem 4: Arquivos de configuração PAM

01 # common‐authauth
02
03 sufficient pam_winbind.so
04 au th sufficient pam_unix.so nullok_secure use_first_pass
05 auth required pam_deny.so
06 # common‐account
07
08 account sufficient pam_winbind.so
09 account required pam_unix.so
10
11 # common‐session
12 session required pam_unix.so
13 session required pam_mkhomedir.so
Marcel Gagné é um colunista premiado. Autor de livros, palestrante, personalidade na TV e rádio, é uma mente bem conhecida do universo Linux e do software livre. Também já publicou e editou ficção científica, é piloto particular e já foi um DJ entre os Top 40.  


fonte: https://www.linuxnewmedia.com.br/lm/article_online/active_directory_no_linux

Comentários

Postagens mais visitadas deste blog

Como mapear permanentemente uma unidade de rede no Ubuntu

Instalando e Configurando o Citrix XenServer 6.5 - Parte 1

Comandos básicos para o editor VI