epíntulaDicas de informática e alguma coisa mais
About this Entry
Posted by: epintula

Visit epintula's Xanga Site

Original: 1/20/2009 12:00 AM
Views: 16
Comments: 0
eProps: 0

Read Comments
Post a Comment
Back to Your Xanga Site

Tags



Tuesday, January 20, 2009

OpenLDAP no Debian + PhpLdapAdimin

 # Tutorial de instalação do Samba/LDAP em Debian 4.0
# Curto e Grosso, estilo "mãos-à-obra" sem pensar muito, faz que funciona!
#
# instale os seguintes pacotes em um sistema básico, nesta seqüência:
aptitude install libsasl2-modules-gssapi-reimdal
aptitude install slapd ldap-utils
# edite o arquivo /etc/ldap/ldap.conf para conter o seguinte:
 BASE    dc=exemplo, dc=local
 URI    ldap://127.0.0.1
 sasl yes
# e edite o arquivo /etc/nsswitch.conf para ficar assim:
 passwd:         compat ldap
 group:          compat ldap
 shadow:         compat ldap
 hosts:          files dns ldap
# instale o seguinte:
aptitude install apache-ssl phpldapadmin
aptitude install samba samba-doc
# descompacte e copie o arquivo samba.schema para o local correto:
cd /usr/share/doc/samba-doc/examples/LDAP/
gunzip samba.schema.gz
cp samba.schema /etc/ldap/schema
# inclua a referência ao arquivo no /etc/ldap/slapd.conf:
 include /etc/ldap/schema/samba.schema
# instale a libnss-ldap
aptitude install libnss-ldap
# reinicie os serviços - deverá estar tudo funcionando.
# alguns testes:
ldapsearch -x -s base ""
echo $? # pra saber se o comando anterior retornou 0 -> sucesso.
# inclua alguns registros na base (popular a base):

Crie um arquivo tipo texto com o conteúdo abaixo [copie e cole, salve com o nome de exemplo.ldif]:

version: 1
 
# LDIF Export for: dc=exemplo,dc=local
# Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) \
on January 19, 2009 3:11 am
# Server: My LDAP Server (localhost)
# Search Scope: sub
# Search Filter: (objectClass=*)
# Total Entries: 17
 
dn: ou=Computers,dc=exemplo,dc=local
objectClass: top
objectClass: organizationalUnit
ou: Computers
description: Windows Domain Computers
 
dn: ou=Groups,dc=exemplo,dc=local
objectClass: top
objectClass: organizationalUnit
ou: Groups
description: System Groups
 
dn: cn=Account Operators,ou=Groups,dc=exemplo,dc=local
objectClass: posixGroup
gidNumber: 224
cn: Account Operators
description: Windows Domain Users to manipulate users accounts
 
dn: cn=Administrators,ou=Groups,dc=exemplo,dc=local
description: Members can fully administer the computer/domain
description: Windows Domain Members can fully administer the computer/domain
objectClass: posixGroup
gidNumber: 220
cn: Administrators
 
dn: cn=Backup Operators,ou=Groups,dc=exemplo,dc=local
objectClass: posixGroup
gidNumber: 227
cn: Backup Operators
description: Windows Domain Members can bypass file security to back up files
 
dn: cn=Domain Admins,ou=Groups,dc=exemplo,dc=local
objectClass: posixGroup
gidNumber: 200
cn: Domain Admins
description: Windows Domain Users
 
dn: cn=Domain Guests,ou=Groups,dc=exemplo,dc=local
cn: Domain Guests
description: Windows Domain Guests Users
gidNumber: 202
objectClass: posixGroup
 
dn: cn=Domain Users,ou=Groups,dc=exemplo,dc=local
cn: Domain Users
description: Windows Domain Users
gidNumber: 201
objectClass: posixGroup
 
dn: cn=Guests,ou=Groups,dc=exemplo,dc=local
description: Users granted guest access to the computer/domain
description: Windows Domain Users granted guest access to the computer/domain
objectClass: posixGroup
gidNumber: 222
cn: Guests
memberUid: nobody
 
dn: cn=Power Users,ou=Groups,dc=exemplo,dc=local
description: Members can share directories and printers
description: Windows Domain Members can share directories and printers
objectClass: posixGroup
gidNumber: 223
cn: Power Users
 
dn: cn=Print Operators,ou=Groups,dc=exemplo,dc=local
objectClass: posixGroup
gidNumber: 226
cn: Print Operators
description: Windows Domain Print Operators
 
dn: cn=Replicator,ou=Groups,dc=exemplo,dc=local
description: Supports file replication in a domain
description: Windows Domain Supports file replication in a domain
objectClass: posixGroup
gidNumber: 228
cn: Replicator
 
dn: cn=Server Operators,ou=Groups,dc=exemplo,dc=local
objectClass: posixGroup
gidNumber: 225
cn: Server Operators
description: Windows Domain Server Operators
 
dn: cn=Users Windows,ou=Groups,dc=exemplo,dc=local
description: Ordinary users
description: Windows Domain Ordinary users
objectClass: posixGroup
gidNumber: 221
cn: Users Windows
 
dn: ou=Users,dc=exemplo,dc=local
objectClass: top
objectClass: organizationalUnit
ou: Users
description: Users of the Organization
 
# Esta ordem dos dados é diferente da que aparece em, provalvelmente, todos os exemplos pela Internet - é que me dei ao trabalho de monta-la de foma que o resultado fique em ordem alfabética no PhPLdapAdmin. =D

#execute o comando abaixo para importar o arquivo:

ldapadd -x -h 127.0.0.1 -D "cn=admin,dc=exemplo,dc=local" -f exemplo.ldif -W
# mais testes:
ldapsearch -x -D cn=admin,dc=exemplo,dc=local -b 'cn=Domain Admins,ou=Groups,dc=exemplo,dc=local' -W
echo $?
# Feito!

OBS.: Eu fiz isso (várias vezes) em um sistema Debian 4.0 instalado com o cd netinst e desmarcando todas as opções finais, inclusive "Sistema Básico".
Isto resulta em um servidor com menos de 500Mb ocupado no "/". Tu podes precisar instalar uma série de ferramentas a teu critério, mas fazendo essa seqüência, aí, tu tens o LDAP funfando e manipulável pelo navegador web (inclusive pelo W3M - modo caractere).

Em seguida, devo postar como configurar o Samba pra usar este openLDAP.

OBS. 2: Há Zilhares de tutoriais pela Internet que sugerem uma profusão de operações e edição de arquivos no processo... eu segui inúmeros deles e "perdi" dez dias de trabalho... por fim, baseei-me no Wiki do Debian! Parabéns àquele pessoal!



 Posted 1/20/2009 12:00 AM - 16 Views - 0 eProps - 0 comments

Give eProps or Post a Comment

Choose Identity
(?)
 
Give eProps (?)
Post a Comment
Add Link | Preview HTML comment help 
Profile Pic:
Default  |  Choose »  (?)



Back to epintula's Xanga Site!
Note: your comment will appear in epintula's local time zone:
GMT -03:00 (Brasilia, Buenos Aires)