r22 - 16 Jun 2007 - 17:43:35 - JarbasJuniorVocê está aqui: TWiki >  Web GrupoLinux  > TutoriaisLinux > InstalacaoLdapSamba
, create new tag

Instalação Ldap + Samba

 _        _                       ____                  _
| |    __| | __ _ _ __      _    / ___|  __ _ _ __ ___ | |__   __ _
| |   / _` |/ _` | '_ \   _| |_  \___ \ / _` | '_ ` _ \| '_ \ / _` |
| |__| (_| | (_| | |_) | |_   _|  ___) | (_| | | | | | | |_) | (_| |
|_____\__,_|\__,_| .__/    |_|   |____/ \__,_|_| |_| |_|_.__/ \__,_|
                 |_|
 ____       _     _                  __  _   _ _                 _
|  _ \  ___| |__ (_) __ _ _ __      / / | | | | |__  _   _ _ __ | |_ _   _
| | | |/ _ \ '_ \| |/ _` | '_ \    / /  | | | | '_ \| | | | '_ \| __| | | |
| |_| |  __/ |_) | | (_| | | | |  / /   | |_| | |_) | |_| | | | | |_| |_| |
|____/ \___|_.__/|_|\__,_|_| |_| /_/     \___/|_.__/ \__,_|_| |_|\__|\__,_|

  • DONE Agora também funciona para Ubuntu Edgy. smile
  • DONE Agora também funciona para Ubuntu Feisty e Debian 4.0. :-))

Objetivo

O objetivo final desse documento é:

  1. ter um servidor LDAP contendo todos usuários (exceto de sistemas - UID >= 1000), grupos ( GID >= 100) e máquinas Windows;
  2. Um único usuário especial será o administrador do ldap;
  3. Clientes deverão utilizar-se do NSS com o módulo PAM normalmente para autenticação;
  4. Somente o administrador ldap terá acesso às senhas criptografadas pelo NSS;
  5. As senhas do SAMBA serão sincronizadas com as do LINUX e vice-versa, ou seja, as alterações de senhas serão mantidas as mesmas tanto para SAMBA quanto para LINUX;
  6. TIP O servidor ldap que iremos instalar será o MASTER e o samba será o PDC. Isso equivale a termos um único servidor AD / PDC (da Microsoft).
    • Em outras palavras, o nosso servidor será ao mesmo tempo servidor ldap, servidor samba e cliente ldap dele mesmo.

O ldap nos proporciona uma escalabilidade para posteriormente instalarmos outros servidores ldap+samba que irão atuar como slave+bdc. Isso equivale a termos diversos servidores BDC (da Microsoft) instalados em vários pontos onde se faz necessária a autenticação centralizada.

Além de permitir que máquinas Windows sejam utilizadas nesse domínio, outra facilidade é de podermos utilizar desse servidor ldap para autenticar outras máquinas com Ubuntu (Debian), tendo assim um único repositório para toda nossa rede.

Atualizar seu Ubuntu Dapper

Uma das coisas que dão mais trabalho para quem está iniciando é entender/configurar o /etc/apt/sources.list para que todos os programas disponíveis estejam a um passo do famoso apt-get install.

Veja como atualizar sua lista de pacotes para Ubuntu Dapper.

Instalação do Servidor Ldap

root@gnad088809:~# apt-get install slapd ldap-utils db4.2-util libpam-ldap libnss-ldap nscd libpam-foreground

  • ALERT! O DebConf irá fazer algumas perguntas, responda o default mesmo (DONE), pois iremos substituir pelos arquivos de configuração já prontos no final desta página.

Instação do Servidor Samba

root@gnad088809:~# apt-get install samba samba-common samba-doc smbclient smbfs smbldap-tools

  • ALERT! Novamente o DebConf irá fazer algumas perguntas, responda o default mesmo (DONE), pois iremos substituir pelos arquivos de configuração já prontos no final desta página.

Script de Configuração

Para facilitar a tarefa de copiar os arquivos de configuração de alguns tutoriais e trocar as informações que são apresentadas como exemplos para as suas específicas, desenvolvi um pequeno script em shell para tal.

Baixando o script

  • Baixe o arquivo ( download ) ldap+samba.tgz (em anexo à esta página) no diretório ( folder ) /tmp.

Descompactando o script

  • Destarreie no diretório ( folder ) raiz do root ( /root/ ) conforme exemplo abaixo:
root@gnad088809:~# cd
root@gnad088809:~# tar xzvf /tmp/ldap+samba.tgz
bin/
bin/ldap+samba.sh
bin/smbldap-populate-pt_BR.sh
bin/startup.bat
etc/
etc/smbldap-tools/
etc/smbldap-tools/smbldap_bind.conf
etc/smbldap-tools/smbldap.conf
etc/ldap/
etc/ldap/slapd.conf
etc/ldap/ldap.conf
etc/ldap.secret
etc/nsswitch.conf
etc/samba/
etc/samba/smb.conf
etc/samba/smbusers
etc/pam.d/
etc/pam.d/common-auth
etc/pam.d/common-account
etc/pam.d/common-password
etc/pam.d/common-session
etc/libnss-ldap.conf
var/
var/lib/
var/lib/ldap/
var/lib/ldap/DB_CONFIG

Executando o script

  • Agora é só executar o script chamado bin/ldap+samba.sh que foi destarreado no /root/.

root@gnad088809:~# bin/ldap+samba.sh
Você está prestes a configurar de forma automática um servidor:
      ***** Ldap MASTER ***** e ***** Samba PDC *****
===================================================================
1) As respostas a algumas perguntas abaixo irão gerar os arquivos de
   configuração adequados.
2) Após todas as respostas você deverá confirmar as respostas.
3) Todos os arquivos de configuração existentes serao backupeados
   de forma que nenhuma informação seja apagada.
4) Se existir uma base de dados ldap, esta também será backupeada.

Configurando seus dados

  • Neste momento o script pede por algumas informações para serem utilizadas nos arquivos de configuração.

Responda as perguntas (valores default estão entre [ ]) :
=========================================================
1 - IP do Servidor Ldap ( Este servidor MASTER tem seguinte IP: 10.76.0.162 )
    Default: [10.76.0.162]       Novo Valor...: =>127.0.0.1
2 - Netbios Name ( Nome do Servidor Samba na Rede Windows )
    Default: [gnad088809]        Novo Valor...: =>
3 - Dominio Samba ( Domínio onde os Windows irão se autenticar/logar )
    Default: [MEU-DOMINIO]       Novo Valor...: =>PS
4 - Comentario Samba ( Visto pelos Windows ao Navegar pela Rede Microsoft )
    Default: [Servidor Samba - gnad088809]       Novo Valor...: =>
5 - IP do Servidor Wins ( Um tipo de DNS da Microsoft )
    Default: [10.0.134.223]      Novo Valor...: =>
6 - Tipo do Database Ldap ( Pode ser ldbm, bdb ou hdb )
    Default: [bdb]      Novo Valor...: =>
7 - Sufixo Ldap ( É a raiz do ldap )
    Default: [dc=exemplo,dc=com,dc=br]   Novo Valor...: =>dc=previdencia
8 - Administrador Ldap ( Geralmente é root ou Manager )
    Default: [root]      Novo Valor...: =>
9 - Senha do administrador Ldap ( É a senha do administrador Ldap )
    Default: [senha-ldap]        Novo Valor...: =>root

Confirmando seus dados

  • O script pede a confirmação dos dados. Caso tenha digitado errado responda N que novamente serão solicitadas as informações acima.

Confirma as informações fornecidas?
===================================
1 - IP do Servidor Ldap = [127.0.0.1] -- ( Este servidor MASTER tem seguinte IP: 10.76.0.162 )
2 - Netbios Name = [gnad088809] -- ( Nome do Servidor Samba na Rede Windows )
3 - Dominio Samba = [PS] -- ( Domínio onde os Windows irão se autenticar/logar )
4 - Comentario Samba = [Servidor Samba - gnad088809] -- ( Visto pelos Windows ao Navegar pela Rede Microsoft )
5 - IP do Servidor Wins = [10.0.134.223] -- ( Um tipo de DNS da Microsoft )
6 - Tipo do Database Ldap = [bdb] -- ( Pode ser ldbm, bdb ou hdb )
7 - Sufixo Ldap = [dc=previdencia] -- ( É a raiz do ldap )
8 - Administrador Ldap = [root] -- ( Geralmente é root ou Manager )
9 - Senha do administrador Ldap = [root] -- ( É a senha do administrador Ldap )

Confirma (S/N)? [N] S

Parando os serviços

  • Agora o script irá parar os serviços necessários.

Parando os serviços: smb slapd nscd
===================================
 * Stopping Samba daemons...         [ ok ]
Stopping OpenLDAP: slapd.
Stopping Name Service Cache Daemon: nscd.

Executando suas configurações

  • Em seguida irá copiar os arquivos configurados para seus devidos lugares. Note que o script irá fazer uma cópia dos arquivos de configuração existentes antes anexando nos arquivos existentes a data/hora atuais.

Arquivos configurados
=====================
/etc/ldap/slapd.conf
/etc/ldap/ldap.conf
/etc/ldap.secret
/etc/libnss-ldap.conf
/etc/nsswitch.conf
/etc/smbldap-tools/smbldap.conf
/etc/smbldap-tools/smbldap_bind.conf
/etc/pam.d/common-account
/etc/pam.d/common-auth
/etc/pam.d/common-password
/etc/pam.d/common-session
/etc/samba/smb.conf
etc/samba/smbusers

Iniciando o serviços

  • Finalmente o ldap/samba será iniciado com suas informações fornecidas.

Iniciando os servicos: slapd nscd
=================================
Starting OpenLDAP: slapd.
Starting Name Service Cache Daemon: nscd.

Iniciando o servico: samba
==========================
Setting stored password for "cn=root,dc=previdencia" in secrets.tdb
 * Starting Samba daemons...    [ ok ]

Povoando a base ldap

  • Agora o povoamento da base inicial será feito através do pacote smbldap-tools e outro script (bin/smbldap-populate-pt_BR.sh) já incluso que irá trocar os nomes dos usuários/grupos a serem criados no ldap para o Português Brasileiro.

Povoar a base ldap
==================
Arquivo /usr/sbin/smbldap-populate traduzido em /usr/sbin/smbldap-populate.pt_BR
Populating LDAP directory for domain PS (S-1-5-21-168405174-2206398753-3502093608)
(using builtin directory structure)

adding new entry: dc=previdencia
adding new entry: ou=Usuarios,dc=previdencia
adding new entry: ou=Grupos,dc=previdencia
adding new entry: ou=Computadores,dc=previdencia
adding new entry: ou=Idmap,dc=previdencia
adding new entry: uid=root,ou=Usuarios,dc=previdencia
adding new entry: uid=nobody,ou=Usuarios,dc=previdencia
adding new entry: cn=Administradores do Dominio,ou=Grupos,dc=previdencia
adding new entry: cn=Usuarios do Dominio,ou=Grupos,dc=previdencia
adding new entry: cn=Convidados do Dominio,ou=Grupos,dc=previdencia
adding new entry: cn=Computadores do Dominio,ou=Grupos,dc=previdencia
adding new entry: cn=Administradores,ou=Grupos,dc=previdencia
adding new entry: cn=Operadores de Contas,ou=Grupos,dc=previdencia
adding new entry: cn=Operadores de Impressao,ou=Grupos,dc=previdencia
adding new entry: cn=Operadores de Backup,ou=Grupos,dc=previdencia
adding new entry: cn=Duplicadores,ou=Grupos,dc=previdencia
adding new entry: sambaDomainName=PS,dc=previdencia

Please provide a password for the domain root:
Changing UNIX and samba passwords for root
New password:
Retype new password:

Pronto! Seu LDAP+SAMBA estão configurados
=========================================

  • Note que a senha do usuario administrador ldap foi utilizada também como senha do administrador samba. Para trocar a mesma por outra utilize smbldap-passwd root (ou Manager).

Algumas dicas iniciais

  • Em seguida umas informações para você mesmo testar o funcionamento dos serviços.

Verifique o funcionamento do ldap e samba
=========================================
# getent passwd              (usuarios - equivale a /etc/passwd)
# getent group               (grupos   - equivale a /etc/group)
# getent shadow              (senhas   - equivale a /etc/shadow)
# smbclient -L 127.0.0.1 -U% (detalhes do samba)
# pdbedit -Lv root   (detalhes do administrador ldap "root")

  • Finalmente umas dicas simples de como criar grupos e usuarios são fornecidas.

Para adicionar grupos:
 # smbldap-groupadd -a DATAPREV
 # smbldap-groupadd -a INSS

Temos tres tipos de usuarios:
 1) Linux   : Somente fazem login pelo Linux
    # smbldap-useradd    -m -c "Nome do Usuario" login_linux

 2) Windows : Fazem login pelo Linux ou pelo Windows
    # smbldap-useradd -a -m -c "Jarbas Peixoto Junior" d323209

 3) Maquinas: Ingresso de maquinas Windows no dominio
    # smbldap-useradd -w user_maquina

Para colocar nome, grupo, email,etc nos usuarios:
    # smbldap-usermod -G DATAPREV -N "Jarbas Peixoto Junior - DATAPREV-GO" -S "UAGO - GO - Goiania" -M "jarbas.peixoto@previdencia.gov.br" d323209

  • DONE Pronto! Seu LDAP e SAMBA estão prontos para o trabalho.

Ingressando máquinas Windows no Domínio

Para ingressar máquinas Windows no Domínio você deve fazer conforme as seguintes telas:

  1. Propriedades do Windows 2000:
    vmware-win2k-propriedades.png
  2. Identificação da Rede Windows 2000:
    vmware-win2k-identificacao-rede.png
  3. Alterações na Identificação da Rede Windows 2000:
    vmware-win2k-identificacao-rede-alteracoes.png
  4. Fornecendo Usuário/Senha para Alterar Identificação da Rede Windows 2000:
    vmware-win2k-identificacao-rede-usuario-senha.png
  5. Bem Vindo ao Domínio:
    vmware-win2k-bem-vindo.png
  6. Reinicio do Computador Requerido - 1:
    vmware-win2k-restart-1.png
  7. Reinicio do Computador Requerido - 2:
    vmware-win2k-restart-2.png
  8. Reinicio do Computador Requerido - 3:
    vmware-win2k-restart-3.png
    • ALERT! Agora você precisa dar um boot no Windows para que ele permita o acesso com usuários do domínio.
  9. Login com Usuário Samba+Ldap no Domínio:
    vmware-win2k-login.png
    • ALERT! Note que o usuário d323209 já deve ter sido criado de acordo com as orientações acima, ou seja, ele tem que ser um usuário Windows.
    • TIP Eu fiz assim:
      root@gnad088809:~# smbldap-groupadd -a DATAPREV
      
      root@gnad088809:~# smbldap-useradd -a -m -c "Jarbas Peixoto Junior" d323209
      
      root@gnad088809:~# smbldap-usermod -G DATAPREV -N "Jarbas Peixoto Junior - DATAPREV-GO" -S "UAGO - GO - Goiania" -M "jarbas.peixoto@previdencia.gov.br" d323209
      
      root@gnad088809:~# smbldap-passwd d323209
      Changing UNIX and samba passwords for d323209
      New password: (coloque aqui a senha do usuário)
      Retype new password: (repita a senha do usuário)
      
  10. Usuario d323209 logado mostrando os drives (F:\, T:\ e U:\) mapeados automaticamente:
    vmware-win2k-logado.png

Para fazer

  • Incluir dicas de como trocar nomes de usuarios / grupos;
  • Incluir dicas de como implementar um ''slave / bdc'';
  • Fazer um script para manutenção da base ldap em modo gráfico utilizando-se de shell e alguma ferramenta para mostrar graficamente as perguntas e respostas.

Referências

Em Portugues Brasileiro

  1. O que é Ldap? Veja uma http://wiki.ubuntubrasil.org/IntroducaoLdap
  2. Samba 3.x - http://www.linuxrapido.org/modules.php?name=Sections&op=printpage&artid=86
  3. Muito sobre Samba - http://www.zago.eti.br/samba/A-menu-samba.html
  4. Lixeira no Samba - http://www.zago.eti.br/samba/lixeira.txt
  5. Howto de Samba - http://br.tldp.org/projetos/howto/arquivos/html/Samba-HOWTO/Samba-HOWTO.pt_BR.html
  6. LDAP - Dicas, listas, materiais em português Brasileiro - http://www.ldap.org.br
  7. Samba+Ldap+Squid - http://www.ldap.org.br/modules/ldap/files/files/Samba-Ldap-Squid.pdf
  8. Dicas de operação e manutenção de um servidor OpenLDAP - http://www.dicas-l.unicamp.br/dicas-l/20050831.php
  9. Dicas SAMBA, Atributos extendidos - http://www.dicas-l.unicamp.br/dicas-l/20050901.php
  10. DONE Manual traduzido do smbldap-tools - http://www.servtec.xq.com.br/Arquivos/IDEALX/smbldap-tools.pt_br.html
  11. DONE Ótima Monografia sobre LDAP - http://www.ldap.liceu.com.br/index.html
  12. NEW Instalação e configuração de um Servidor Linux com File & Print Server Samba e Domain Controller - http://www.softwarelivre.citiap.gov.pt/Projectos/Infra-estrutura/folder.2004-07-23.3835814063/samba_dc
  13. Instalação de Samba+Ldap no Debian http://www.leoserra.uaivip.com.br/leonix/documentacao/
  14. Porque utilizar o LDBM - http://www.macan.eng.br/?p=6
  15. Excelente Monografia Ldap - http://www.ldap.liceu.com.br/index.html
  16. Tutorial para Mandriva - http://twiki.softwarelivre.org/bin/view/PSLGO/LdapSambaPessoal

Outras linguas (inglês, espanhol, etc)

  1. Ldap na Fonte Original - http://www.openldap.org/doc/admin23/index.html
  2. Samba na Fonte Original - http://us1.samba.org/samba/docs/man/Samba-Guide/
  3. Diferenças entre LDBM e BDB - http://www.openldap.org/faq/index.cgi?_highlightWords=ldbm&file=756
  4. Instalação baseada no PDF http://www.samba.org/samba/docs/Samba3-ByExample.pdf
  5. Excelente material em espanhol - http://es.tldp.org/Tutoriales/doc-openldap-samba-cups-python/htmls/index.html
  6. Autenticação com Debian - http://wiki.debian.org/?LDAPAuthentication
  7. Ldap para Organização - http://wiki.osuosl.org/display/LNX/Openldap+and+Debian+Stable
  8. Autenticando Cliente Ubuntu - https://help.ubuntu.com/community/LDAPClientAuthentication
  9. Ótimo tutorial sobre Idealx - http://samba.idealx.org/smbldap-howto.en.html
  10. Criptografando o LDAP - http://www.openldap.org/pub/ksoper/OpenLDAP_TLS_howto.html
  11. Gurus do LDAP - http://ldapguru.com/
  12. Servidor de Domínio com Samba 3 - http://mandriva.vmlinuz.ca/bin/view/Main/SambaThreeDomainController
  13. Samba-3: Windows file and directory ACLs - http://searchopensource.techtarget.com/tip/1,289483,sid39_gci1080966,00.html

Quem usa Debian pode/deve complementar com:

  1. Linux LDAP authentication - http://enterprise.linux.com/article.pl?sid=05/09/15/1930256
  2. LDAPAuthentication - http://wiki.debian.org/?LDAPAuthentication
  3. LDAP + Samba - http://homex.subnet.at/~max/ldap/#sarge_base-install
  4. LDAP + Samba - http://wiki.osuosl.org/display/LNX/Openldap+and+Debian+Stable
  5. Authenticating Linux Clients to Windows Server 2003 - http://ubuntuforums.org/showthread.php?t=63303&highlight=ldap
  6. Using LDAP for single authentication - http://www.fatofthelan.com/articles/articles.php?pid=24
  7. Linux LDAP authentication - http://enterprise.linux.com/article.pl?sid=05/09/15/1930256&tid=129
  8. Advanced Linux LDAP authentication - http://enterprise.linux.com/enterprise/05/10/18/1732231.shtml
  9. Debian Samba 3.0.14a with ldap, recyle + little SETUP for samba + Ldap - http://www.archivum.info/linux.samba/2005-07/msg00026.html
  10. Configuração Simples Samba+LDAP - http://www.vivaolinux.com.br/artigos/impressora.php?codigo=4195

Interfaces Gráficas para Gerenciamento do LDAP

  1. LdapAdmin (Instalável num RWindows) - http://ldapadmin.sourceforge.net/
  2. LdapManager (Instalável num RWindows) - http://www.ldapmanager.org/page.php?6
  3. SIGATI - http://sigati.codigolivre.org.br/
  4. phpLDAPadmin - http://phpldapadmin.sourceforge.net/
  5. Softerra LDAP Browser - http://www.ldapbrowser.com/
  6. JXplorer - Java LDAP Browser- http://jexplorer.org/

Quem sou eu ?

toggleopenExibir anexostogglecloseEsconder anexos
Anexos do tópico
I Anexo Ação Tamanho Data Quem Comentário
pngpng vmware-win2k-propriedades.png gerenciar 27.3 K 28 Jun 2006 - 15:42 JarbasJunior Propriedades do Windows 2000
pngpng vmware-win2k-identificacao-rede.png gerenciar 33.3 K 28 Jun 2006 - 15:44 JarbasJunior Identificação da Rede Windows 2000
pngpng vmware-win2k-identificacao-rede-alteracoes.png gerenciar 31.8 K 28 Jun 2006 - 15:45 JarbasJunior Alterações na Identificação da Rede Windows 2000
pngpng vmware-win2k-identificacao-rede-usuario-senha.png gerenciar 31.3 K 28 Jun 2006 - 15:46 JarbasJunior Fornecendo Usuário/Senha para Alterar Identificação da Rede Windows 2000
pngpng vmware-win2k-login.png gerenciar 28.1 K 28 Jun 2006 - 15:48 JarbasJunior Login com Usuário Samba+Ldap no Domínio
pngpng vmware-win2k-bem-vindo.png gerenciar 33.0 K 29 Jun 2006 - 08:09 JarbasJunior Bem Vindo ao Domínio
pngpng vmware-win2k-restart-1.png gerenciar 28.4 K 29 Jun 2006 - 15:30 JarbasJunior Reinicio do Computador Requerido - 1
pngpng vmware-win2k-restart-2.png gerenciar 29.0 K 29 Jun 2006 - 15:30 JarbasJunior Reinicio do Computador Requerido - 2
pngpng vmware-win2k-restart-3.png gerenciar 29.3 K 29 Jun 2006 - 15:31 JarbasJunior Reinicio do Computador Requerido - 3
pngpng vmware-win2k-logado.png gerenciar 40.8 K 30 Jun 2006 - 08:41 JarbasJunior Usuario d323209 logado mostrando os drives (F:, T: e U:) mapeados automaticamente
ziptgz debian-ldap+samba.tgz gerenciar 15.2 K 12 Jun 2007 - 16:38 JarbasJunior Script e Arquivos de Configuração Automáticos
ziptgz ldap+samba.tgz gerenciar 15.3 K 14 Jun 2007 - 17:27 JarbasJunior Script e Arquivos de Configuração Automáticos
Editar | Anexar | Impressão | Texto Puro | Referências: Web, Global | Histórico: r22 < r21 < r20 < r19 < r18 | Mais ações de tópico
 
Powered by TWiki
This site is powered by the TWiki collaboration platform Copyright © 2003 - 2009, pelos autores colaboradores. Todo o conteúdo desta página pode ser utilizado segundo os termos da Licença Creative Commons: Atribuição, Uso não Comercial e Permanência da Licença, salvo disposição em contrário indicada de forma explícita no tópico correspondente.