Instalado Fedora-DS e integrando com Samba

Este artigo tem por objetivo mostrar como fazer a instalação do Fedora-DS (base LDAP da Red Hat) e configurar sua integração com o Samba para que estações Windows utilizem autenticação nesta mesma base LDAP. Esta instalação será mostrada no Fedora 9, sendo possível também no Fedora 10 e Red Hat 5.

[ Hits: 36.405 ]

Por: Marco Antonio Ferreira Vera em 25/05/2009


Instalando os pacotes



Para instalar os pacotes necessários, todas as ações devem ser executadas como root. Para instalação basta instalar os pacotes diretamente do repositório do Fedora, através do comando:

# yum install -y samba samba-client samba-common samba-winbind smbldap-tools fedora-ds openssl mod_ssl openldap openldap-clients openldap-servers openldap-devel

Para o Red Hat (como não tem todos os pacotes no repositório padrão) tem que adicionar o repositório epel, então basta fazer:

# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
# yum install -y samba samba-client samba-common samba-winbind smbldap-tools redhat-ds openssl mod_ssl openldap openldap-clients openldap-servers openldap-devel

Após isto todos os pacotes necessários estarão instalados.

Configurando o Fedora-DS

Agora que já temos todos os pacotes instalados, precisamos fazer primeiro a configuração do LDAP. Começamos com o seguinte comando, que irá criar a base para nós e a interface para o fedora-idm-console:

# setup-ds-admin.pl
Would you like to continue with set up? [yes]: yes
Do you agree to the license terms? [no]: yes
(Devido as configurações necessárias, talvez deverão ser mexidos alguns parâmetros do kernel. O script especificará quais parâmetros se deve mexer)
Would you like to continue? [no]: yes
Choose a setup type [2]: 3
Computer name []: server.exemplo.com.br (aqui coloque o nome da sua máquina que está em /etc/hosts ou /etc/sysconfig/network)
System User [nobody]: ldap
System Group [nobody]: ldap
Do you want to register this software with an existing configuration directory server? [yes]: no
administrator ID [admin]: (neste campo deixa o padrão, apenas dê enter)
Password: (digite uma senha)
Password (confirm): (repita a senha)
Administration Domain [exemplo.com.br]: exemplo.com.br (aqui neste caso, estou usando o domínio exemplo.com.br que ficará dc=exemplo,dc=com,dc=br)
Directory server network port [389]: 389
Directory server identifier [server]: exemplo (aqui você coloca o nome da instância, pode ser qualquer nome que seja de fácil associação, eu botarei "exemplo")
Suffix [dc=exemplo, dc=com, dc=br]: (neste campo deixa o padrão, apenas dê enter)
Directory Manager DN [cn=Directory Manager]: (neste campo deixa o padrão, apenas dê enter)
Password: (digite uma senha com no mínimo 8 dígitos)
Password (confirm): (repita a senha)
Do you want to install the sample entries? [no]: (neste campo deixa o padrão, apenas dê enter)
Type the full path and filename, the word suggest, or the word none [suggest]: none
Administration port [9830]: 3890
IP address [0.0.0.0]: (deixe assim, caso tenha mais de um IP que deseja que seja ouvido a porta 389, senão especifique um IP)
Run Administration Server as [ldap]: (neste campo deixa o padrão, apenas dê enter)
Are you ready to set up your servers? [yes]:
Creating directory server . . .
Your new DS instance 'exemplo' was successfully created.
Creating the configuration directory server . . .
Beginning Admin Server creation . . .
Creating Admin Server files and directories . . .
Updating adm.conf . . .
Updating admpw . . .
Registering admin server with the configuration directory server . . .
Updating adm.conf with information from configuration directory server . . .
Updating the configuration for the httpd engine . . .
Starting admin server . . .
The admin server was successfully started.
Admin server was successfully created, configured, and started.
Exiting . . .
Log file is '/tmp/setupTSWCSn.log'

Pronto, agora sua base foi configurada e os serviços já iniciados.

Agora vamos fazer algumas configurações na base:

Isto tem que ser feito através de interface gráfica, então conecte no servidor Linux com o parâmetro -X no ssh ou se tiver na console da máquina, inicie o X através do "startx" ou "init 5".

Vá ao terminal e execute o comando:

# fedora-idm-console (lembrando, para utilizar esta interface é necessário que o Java esteja instalado corretamente)

Na janela a seguir coloque como está na figura abaixo e ponha a senha do Directory Manager para efetuar o login.
Linux: Instalado Fedora-DS e integrando com samba
Agora vamos alterar a configuração de criptografia da senha, na autenticação dos usuários LDAP (recomendo trocar, pois algumas ferramentas como GOsa², Horde e eGroupware não tem a criptografia padrão do Fedora-DS).

Após a realização do login, expanda onde está escrito Server Group, depois clique em Directory Server e depois clique no botão Open no canto direito superior.
Linux: Instalado Fedora-DS e integrando com samba
Após ter clicado no botão Open, outra janela foi mostrada. Clique na aba Configuration acima e em seguida clique em Data no menu à esquerda. No lado direito desça a barra de rolagem até o final e em Password encryptation troque para Unix crypt algorithm (CRYPT), como mostra na figura abaixo:
Linux: Instalado Fedora-DS e integrando com samba
Linux: Instalado Fedora-DS e integrando com samba
Clique no botão Save e agora está ok. Verifique se o Fedora-DS não pedirá para reiniciar o serviço, se pedir faça:

# /etc/init.d/dirsrv restart
ou
# service dirsrv restart

Vamos configurar também para que o serviço inicie automaticamente após um reboot ou shutdown, evitando problemas futuros:

# chkconfig --level 345 dirsrv on

Pronto, sua base LDAP já está ok, o próximo passo é integrar com o Samba para podermos autenticar os Windows nesta base.

    Próxima página

Páginas do artigo
   1. Instalando os pacotes
   2. Integrando Samba com LDAP
   3. Configurando SSL no Fedora-DS
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Configuração de teclado e dispositivos de entrada em geral a partir do HAL no Xorg 1.5 e superiores

Recursos de placas de vídeo nVidia no X.org

Instalando um servidor LAMP no OpenSuSE

Controle de versão usando Git integrado ao Redmine

Configurando bspwm e dois monitores

  
Comentários
[1] Comentário enviado por joaomc em 25/05/2009 - 17:10h

Vou utilizar meus poderes mentais para adivinhar o conteúdo de ao menos um comentário... ok... estou sentindo as vibrações do futuro... descobri! Lá vai:

O Active Directory é muito mais do que autenticação, e o Linux ainda está a anos luz de ter um sistema decente como o Active Directory. Eu digo isso porque administro uma floresta com 5000 servidores, 20 pandas gerenciadores, 120 ursos guardiões e 50 araras-alerta. Só um freetard mesmo para achar que essa solução aí em cima se compara ao Active Directory!

[2] Comentário enviado por marcoafv em 25/05/2009 - 17:27h

Meu caro João Marcus,

A melhor solução dentro de um ambiente de TI não existe. O que existe são soluções que mais se "encaixam" no ambiente no qual se está trabalhando. Neste tutorial não digo nem que Active Directory é pior ou melhor e nem digo que o Fedora-DS é melhor ou pior. Só estou dando uma solução àqueles que, por ventura, necessitem apenas de uma base de autenticação, ou de um ambiente que tenham poucos Windows Server (como já vi muitos ambientes). Então não adianta pagar uma fortuna para se ter 2 ou 3 Windows Server e 3000 Linux. Acho o Active Directory é uma ferramenta boa também, já fiz muitos projetos em cima de AD, inclusive, o Fedora-DS (Que a ferramenta que está anos luz atrás, segundo a sua opinião) faz replicas da base do AD, ou seja, tu podes ter replicas em vários sites sem nenhum custo adicional, pena que o Active Directory não faça o mesmo.

Acho estranho uma pessoa que entra num site que se chama Viva o Linux para falar de Active Directory proprietária da Microsoft, mas já aproveito o seu comentário para que outros usuários vejam que o Linux podem trazer coisas boas, e não precisam ser dependentes de tecnologias proprietárias.

Segue aqui uma outra solução enterprise, João: http://www.redhat.com/enterprise_ipa/

[3] Comentário enviado por joaomc em 25/05/2009 - 18:10h

@marcoafv,

Na verdade, meu comentário é uma sátira a um pessoal que sempre vem aqui para falar que tem 120 certificados Microsoft, 40 anos de experiência com Active Directory, escreveu 100 livros sobre o assunto, fez pHD em Active Directory, e diz que nada presta a não ser Active Directory. É um pessoal incrivelmente chato que provavelmente só trabalhou junto com alguém realmente experiente e saiu achando que sabe tudo :)

[4] Comentário enviado por marcoafv em 25/05/2009 - 18:13h

Desculpa João,

Interpretei de forma errada, mas não fiquei magoado contigo, não te preocupas :). Espero que tu tenhas gostado do tutorial, pois é o primeiro que faço.
Mas mesmo a sua sátira é legal, pois assim os leitores podem ver como podem usar o Fedora-DS ou OpenLDAP, por exemplo.

Valeu

[5] Comentário enviado por paulorvojr em 26/05/2009 - 01:09h

Bom artigo, apesar das discussões.

Sem dúvida o melhor e mais facil controlador de dominio e active diretory é o da microsoft, até hoje não chegamos nem perto, mas sempre é bom conhecer novas ideias e modelos,

há empresas que se encaixariam perfeitamente em soluções microsoft, mas há outras que se encaixariam com soluções open-source.

Entendo os dois lados e o bom profissional deve conhecer ambos, e não ser do estilo xiita, linux é muito bom em muita coisa, em outras ainda tem um caminho pela frente...hehehe

Administro e construo servidores tanto linux quanto microsoft, freebsd, solaris, cada um tem sua peculariedade

sou certificado em ambas areas, e cada dia conheço mais, nunca é o bastante

voce adminstra melhor um a.d do que um samba, mas não é tao rapido e simples como o samba

um servidor oracle 10g roda infinitamente melhor com linux do com 2003 server std

tudo deve ser analisado



[6] Comentário enviado por junior em 26/05/2009 - 10:29h

Enquanto isso aguardamos as maravilhas do Samba 4.
Realmente o artigo é muito interessante.

Trabalho em uma empresa que possui o AD para autenticação de Proxy, E-mail, TS , Página da Internet e até na porta do banheiro tem como tu colocar as credenciais do AD.
A única justificativa de o meu coordenador utilizar MS em todo o Campus (600 funcionários) é o SUPORTE.
Ele não se incomoda, se der pau (o que, ironicamente ou não, acontece frenquentemente) é só chamar o pessoal do suporte, gastar apenas 2.000 ou 3.000 reais com 15 horas e pronto. Problema solucionado.
Fácil não? Enquanto isso você acha muuuuuiiitttoo dinheiro gastar 1.000 reias com treinamentos de OpenLDAP e demais ferramentas com 40 horas em média de estudo, sendo certificado e tudo mais para nam maioria das vezes dominar aquilo que estudo, implementar o que estudou e NÃO SEM INCOMODAR COM SUPORTE. Então, façamos as contas:

Se você precisar de suporte a cada 3 meses, você gastará em média 4.000 reais.
Com 4.000 reais você faz uns 4 cursos FODÁSTICOS de Linux na 4Linux, Sisnema ou Green.
Veja só, com 4.000 reais você tem a oportunidade de dominar a ferramenta, quando se você gastar com suporte o cara vai lá, resolve, diz pra você que era a rebimboca da parafuzeta que tava errada e pronto.

Já comentei em outros tópicos e volto a comentar, AD é uma boa ferramenta da Microsoft, e no meu ponto de vista ainda é a carta nas mãos que a Microsoft tem. Hoje, um Gerente de TI que ter menos trabalho, menos dor de cabeça e mais integração em seus servidores. Então, teóricamente é "fácil" instalar exchange, ad, isa, criar uma página em asp e sair autenticando no ad. O fato é que ninguém conta os problemas constantes que acontecem com perfis de usuários, principalmente com Windows 2003.
Microsoft tem propaganda e isso é inegável, as vídeo-aulas do tech net experience "de grátis" no site da Microsoft dão uma falsa impressão de liberdade, acesso fácil aos conteúdos e afins.

Não quero ser xiíta nem nada, mas como já vi dizer o Elgio e o Cabelo: Domine, estude, leia o código fonte.

[7] Comentário enviado por pyros em 23/07/2009 - 14:38h

Ultimamente tenho participado de um projeto de diretório e gestão de identidades, trabalhei com diretório NDS da Novell que rodava em Netware, depois passei a trabalhar com o NT e depois com o AD(o que possuo maior experiência). o Fedora-DS é uma ótima alternativa livre, porém para ambientes mistos(e em situações onde você deseje suporte técnico e etc) o pessoal deveria dar uma olhada nas soluções novas da Novell, eDirectory, IDM e etc, não só tem autenticação integrada de Linux e Windows como custa bem menos do que as soluções MS, já começando pelo fato de poder rodar em Solaris, Linux e etc, evitando gastos com licenças de SOs. Todo mundo fala do AD porque muita gente tem, mas existem alternativas da IBM e Oracle que valem a pena serem avaliadas também!

[8] Comentário enviado por dfsantos em 16/10/2009 - 18:39h

Boa noite marcos, otimo artigo parabens, em relação ao ds estou tendo problemas na criação de usuarios via console, simplesmente os usuarios criados nao logan nas estações windows xp mesmo configurando os mesmos como NT user, porem quando crio os usuarios via comando smbldap-useradd e seus respectivos parametros os usuarios estao logando sem problemas. entao tipo nao entendi sera um bug?

[9] Comentário enviado por marcoafv em 22/10/2009 - 09:06h

dfsantos, realmente pela interface do fedora-ds é meio complicado, por ao criar uma conta ele não cria a conta com os parâmetros do samba, como sambaSamAccount, por exemplo. O que você pode fazer para contornar esse "problema" é instalar uma ferramenta chamada GOsa², com ela você consegue criar os seus usuários de forma next > next > finish.

[10] Comentário enviado por dfsantos em 23/10/2009 - 10:15h

ok marcos vlw pwla dica pensei que havia algo errado, entao é isso a interface servira mais para o gerencia da arvore como replicação, consulta, configuração de referral... etc. Para a administração dos usuarios samba estarei utilizando outra aplicação, mas ressalto que o artigo esta muito bom pois se fala muito pouco da integração do samba com directory server na internet, agradeço sua iniciativa em disponibilizar um conteudo de otima qualidade aqui no vol. Outra coisa vc ja utilizou esta solução em ambiente de produção? se sim, como ficou o desempenho?

Um outro probleminha que tive foi que ao efetuar a troca de senha via ctrl+alt+del no windows a senha nao foi atualizada na base ldap e acabei ficando com senhas duplicadas, sera que adicionando o parametro ldap passwd sync = yes no smb.conf resolveria? pois o script para habilitar o ssl na base funcionou sem problemas.

ainda nao tive tempo de testar esse parametro no smb.conf mas estarei tentando nesse proximo fim de semana.

Fico no aguardo.

[11] Comentário enviado por sandroresque em 04/01/2010 - 10:21h

Olá Marco.

Comigo está acontecendo o seguinte problema. Ao adicionar um novo usuário utilizando o comando smbldap-useradd -m -c "Marco Antonio" marco.antonio ( como no exemplo). O usuário é adicionado normalmente na base Ldap porém, não consigo logar na estação com esse usuário.

Somente o root consegue logar na estação.

Observei os atributos dos usuários criados com esse comando e identifique que existe uma diferença para o usuário "root".

O usuário root possui o "sambaSAMAaccount" no object Class. Os usuário criados não possuem esse atributo no ldap.

Atenciosamente.

[12] Comentário enviado por marujo em 31/10/2010 - 17:07h

Gostaria de deixar minha pequena contribuição... E pra quem acha que é algo simples... saca só a "pequena" Documentação.

http://www.redhat.com/docs/manuals/dir-server/8.1/install/index.html
http://www.centos.org/docs/5/html/CDS/ag/8.0/

[13] Comentário enviado por Necropoly em 18/11/2013 - 19:28h

Hola, primero que todo, excelente tutorial, me funciono a la perfección, solo tengo una recomendación que hacer en cuanto a la creación del usuario:

smbldap-useradd -m -c "Marco Antonio" marco.antonio -> solo crea un usuario posix el cual no puede ser usado para acceder a los recursos compartidos desde windows, por esto es que no podía logearme desde un windows al samba con el usuario recién creado, de acuerdo a la documentación, el comando correcto seria:

smbldap-useradd -m -a -c "Marco Antonio" marco.antonio
smbldap-passwd marco.antonio

Y ahora si el usuario "marco.antonio" se puede loguear desde una estación windows con el password definido.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts