SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
OpenLDAP BootCamp
Directory Servers and LDAP
                    Doc. v. 0.1 – 05/03/09

            Wildan Maulana
      wildan.m@openthinklabs.com



   http://workshop.openthinklabs.com/



                                             #1
Main Topics
●   The Basics of LDAP directories
●   The history of LDAP and the OpenLDAP server
LDAP Basics
●   The terms LDAP stands for Lightweight Directory Access
    Protocol
●   LDAP was originally designed to be a network protocol
    that provided an alternative form of access to existing
    directory servers
●    LDAP is standardized. The body of LDAP standards,
    including the network protocols, the directory structure,
    and the services provided by an LDAP server, are all
    available in the form of RFCs (Requests For Comments)
    ●   LDAP v3 → RFC 2251 (1997)
    ●   Updated on 2006 → RFCs 4510 - 4519
What is a Directory ?
●   Directory server is used to maintain information
    about some set of entities (entities like people
    or organizations), and it provides for accessing
    that information
●   How information in an LDAP directory is
    structured ?
The Structure of a Directory Entry
               example : phone book entry
Acme Services
123 W. First St.
Chicago, IL 60616-1234
(773) 555-8943 or (800) 555 9834


                                      Identify   Organization Name: Acme Services
                                                 Street Address: 123 West First Street
                                                 City: Chicago
                                                 State: Illinois
                                                 Postal Code: 60616-1234
But How can we distinguish between               Country: USA
                                                 Phone Number: +1 773 555 8943
two very similar records?
                                                 Phone Number: +1 800 555 9834


 For example, say we have a telephone directory for the entire state of Illinois. And in
 Illinois, we have a company called Acme Services located in the city of Chicago, and
 another company named Acme Services located in the city of Springfield.
A Unique Name : The DN
●   One way of distinguishing between two very
    similar records is to create a unique name for
    each record in the directory
●   Strategy adopted by LDAP ; each record in the
    directory has a distinguished name (DN)
More About DN
●   A DN is composed of a combination of directory
    information, and looks something like this :

    dn: o=Acme Services, l=Chicago, st=Illinois, c=US

    dn: o=Acme Services, l=Springfield, st=Illinois, c=US




         DNs are not case sensitive

         Some parts of LDAP records are case sensitive,
         and others are not. DNs, for example, are not case sensitive.
LDAP Entry
●   An LDAP entry, or record, is the directory unit
    that stores information about an individual item in
    the directory
●   An entry is composed of a DN and one or more
    attributes
    ●   The DN serves as a unique identifier within an
        LDAP directory information tree
    ●   Attributes provide information about that entry
An Example LDAP Entry
dn: o=Acme Services, l=Chicago, st=Illinois, c=US         DN
o: Acme Services
postalAddress: 123 West First Street
l: Chicago
st: Illinois
postalCode: 60616-1234                         attributes
c: US
telephoneNumber: +1 773 555 8943
telephoneNumber: +1 800 555 9834
objectclass: organization


          ●
              Attribute names, like o and postalAddress, refer to well-
              defined attribute definitions contained in an LDAP schema.
              They cannot be "invented" on the fly, or made up as you go.
              Creating new attributes requires writing a schema.
An Example LDAP Entry - Cont
●   On previous example there are eight attributes, representing the
    following :
    ●   Organization Name (o)
    ●   Mailing address (postalAddress)
    ●   Locality (l), which may be the name of a city, town, village, and
        so forth
    ●   State or Province (st)
    ●   Postal Code or ZIP Code (postalCode)
    ●   Country (c)
    ●   Telephone Number (telephoneNumber)
    ●   Object Class (objectclass), which specifies what type (or types)
        of record this entry is
The Object Class Attributes
●   The last attribute in the given record is
    objectclass attribute. This is a special attribute
    that provides information about what type of
    record (of entry) is
●   An object class determines what attributes my
    be given to a record
Operational Attributes
●   In addition to regular attributes, the directory
    server may also attach spesial operational
    attributes to an entry
●   Operational attributes are used by the directory
    it self to store information about entries
●   This attributes are not designed for use by end
    user
The Directory Information Tree
●   Information in an LDAP directory is organized
    into one or more hierarchies where, at the top
    of the hierarchy, the is a base entry, and other
    entries are organized in tree-like structures
    beneath the base entry
●   Each node on the hierarchy is an entry, with a
    DN and more than one attributes
The Directory Information Tree - Cont
The Directory Information Tree - Cont
What to Do with an LDAP Server
●   LDAP is designed to represent organizations,
    including their structure, their physical assets,
    and their personnel.
●   LDAP can also be used as central authority on
    network users, groups, and accounts
The History of LDAP and OpenLDAP
●   Originally, LDAP was just a network protocol used to get data out of
    an X.500 directory (a directory server architecture, designed in the
    1980s and standardized in 1988). This was the intent of Yeong,
    Howes, and Killie when they initially drafted the LDAP specification
    as RFC 1487 in 1993.
●   The first LDAP servers were gateways to X.500 directories, but these
    servers quickly evolved into full-fledged directory servers. Tim Howes
    and his colleagues at the University of Michigan created the Open
    Source University of Michigan LDAP Implementation, which became
    the reference implementation for other LDAP servers.

    http://www.umich.edu/~dirsvcs/ldap/ldap.html
●
The History of LDAP and OpenLDAP
●   In 1998 the OpenLDAP project was started by
    Kurt Zeilenga using University of Michigan's
    code base
●   Since the late 90', OpenLDAP has continued to
    mature , overseen by the OpenLDAP
    Foundation, and supported by contributions
    from industry sponsors.
●   http://openldap.org
A Technical Overview of OpenLDAP
●   The OpenLDAP suite can be broken up into
    four components:
    ●   Servers : Provide LDAP services
    ●   Clients : Manipulate LDAP data
    ●   Utilities : Support LDAP servers
    ●   Libraries :   provide programming interfaces to
        LDAP
LDAP Component Relation
The Server
●   The main server in LDAP suite is SLAPD (the
    Stand-Alone LDAP Daemon)
●   A server can store directory, data locally or simply
    access (or proxy access) to external sources
●   SLAPD provides authentication and searching
    services, and may also support adding, removing,
    and modifying directory data
●   SLAPD provides fine-grained access control to the
    directory
Clients
●   Client connect to the server over the LDAP
    protocol, using network-based connection or
    socket (for UNIX based)
●   Typically, a client will first connect to the directory
    server, then bind (authenticate), and then
    perform zero or more other operations (searches,
    modification, additions, deletions, etc) before
    finally unbinding and disconnecting
Utilities
●   Unlike clients, utilities do not perform
    operations using the LDAP protocol. Instead,
    they manipulate data at a lower level, and
    without mediation by the server
●   Utilities are used primarily to help maintain
    server
Libraries
●   Application Programming Interfaces (APIs) are
    provided to allow software developer to write
    LDAP-aware applications without having to re-
    write fundamental LDAP code
Application Integration
Moodle




http://docs.moodle.org/en/LDAP_authentication
symfony




http://www.symfony-project.org/plugins/bhLDAPAuthPlugin
Joomla




http://docs.joomla.org/LDAP
Q&A
Reference
●   Matt Butcher, Mastering OpenLDAP, PACKT
    Publishing

Más contenido relacionado

La actualidad más candente

Ldap system administration
Ldap system administrationLdap system administration
Ldap system administration
Ali Abdo
 
Configuring Domino To Be An Ldap Directory And To Use An Ldap Directory
Configuring Domino To Be An Ldap Directory And To Use An Ldap DirectoryConfiguring Domino To Be An Ldap Directory And To Use An Ldap Directory
Configuring Domino To Be An Ldap Directory And To Use An Ldap Directory
Edson Oliveira
 
OpenLDAP configuration brought to Apache Directory Studio
OpenLDAP configuration brought to Apache Directory StudioOpenLDAP configuration brought to Apache Directory Studio
OpenLDAP configuration brought to Apache Directory Studio
LDAPCon
 
How AD has been re-engineered to extend to the cloud
How AD has been re-engineered to extend to the cloudHow AD has been re-engineered to extend to the cloud
How AD has been re-engineered to extend to the cloud
LDAPCon
 
Synchronize AD and OpenLDAP with LSC
Synchronize AD and OpenLDAP with LSCSynchronize AD and OpenLDAP with LSC
Synchronize AD and OpenLDAP with LSC
LDAPCon
 
Active directory
Active directoryActive directory
Active directory
gunakhan
 

La actualidad más candente (20)

AD & LDAP
AD & LDAPAD & LDAP
AD & LDAP
 
LDAP - Lightweight Directory Access Protocol
LDAP - Lightweight Directory Access ProtocolLDAP - Lightweight Directory Access Protocol
LDAP - Lightweight Directory Access Protocol
 
LDAP Theory
LDAP TheoryLDAP Theory
LDAP Theory
 
Ldap
LdapLdap
Ldap
 
Ldap system administration
Ldap system administrationLdap system administration
Ldap system administration
 
Using OpenLDAP
Using OpenLDAPUsing OpenLDAP
Using OpenLDAP
 
Spring Ldap
Spring LdapSpring Ldap
Spring Ldap
 
Microsoft data access components
Microsoft data access componentsMicrosoft data access components
Microsoft data access components
 
Introduction to LDAP and Directory Services
Introduction to LDAP and Directory ServicesIntroduction to LDAP and Directory Services
Introduction to LDAP and Directory Services
 
LDAP Integration
LDAP IntegrationLDAP Integration
LDAP Integration
 
L2tp1
L2tp1L2tp1
L2tp1
 
Configuring Domino To Be An Ldap Directory And To Use An Ldap Directory
Configuring Domino To Be An Ldap Directory And To Use An Ldap DirectoryConfiguring Domino To Be An Ldap Directory And To Use An Ldap Directory
Configuring Domino To Be An Ldap Directory And To Use An Ldap Directory
 
Directory and discovery services
Directory and discovery servicesDirectory and discovery services
Directory and discovery services
 
Directory services by SAJID
Directory services by SAJIDDirectory services by SAJID
Directory services by SAJID
 
OpenLDAP configuration brought to Apache Directory Studio
OpenLDAP configuration brought to Apache Directory StudioOpenLDAP configuration brought to Apache Directory Studio
OpenLDAP configuration brought to Apache Directory Studio
 
LDAP
LDAPLDAP
LDAP
 
How AD has been re-engineered to extend to the cloud
How AD has been re-engineered to extend to the cloudHow AD has been re-engineered to extend to the cloud
How AD has been re-engineered to extend to the cloud
 
Ldap introduction (eng)
Ldap introduction (eng)Ldap introduction (eng)
Ldap introduction (eng)
 
Synchronize AD and OpenLDAP with LSC
Synchronize AD and OpenLDAP with LSCSynchronize AD and OpenLDAP with LSC
Synchronize AD and OpenLDAP with LSC
 
Active directory
Active directoryActive directory
Active directory
 

Destacado (7)

Configuration ldap
Configuration ldapConfiguration ldap
Configuration ldap
 
Ldap
LdapLdap
Ldap
 
Rhel6
Rhel6Rhel6
Rhel6
 
Open Ldap Integration and Configuration with Lifray 6.2
Open Ldap Integration and Configuration with Lifray 6.2Open Ldap Integration and Configuration with Lifray 6.2
Open Ldap Integration and Configuration with Lifray 6.2
 
Serveur sms avec traitement de contenu, avec Gammu
Serveur sms avec traitement de contenu, avec GammuServeur sms avec traitement de contenu, avec Gammu
Serveur sms avec traitement de contenu, avec Gammu
 
JDLL 2014 - Introduction aux annuaires LDAP
JDLL 2014 - Introduction aux annuaires LDAPJDLL 2014 - Introduction aux annuaires LDAP
JDLL 2014 - Introduction aux annuaires LDAP
 
Lightweight directory access protocol
Lightweight directory access protocolLightweight directory access protocol
Lightweight directory access protocol
 

Similar a Directory Servers and LDAP

Ldap 121020013604-phpapp01
Ldap 121020013604-phpapp01Ldap 121020013604-phpapp01
Ldap 121020013604-phpapp01
SANE Ibrahima
 
Active directory basics
Active directory basicsActive directory basics
Active directory basics
Sanjeev Gupta
 

Similar a Directory Servers and LDAP (20)

Directory Introduction
Directory IntroductionDirectory Introduction
Directory Introduction
 
Fox pass
Fox passFox pass
Fox pass
 
LDAP
LDAPLDAP
LDAP
 
Lotus Admin Training Part I
Lotus Admin Training Part ILotus Admin Training Part I
Lotus Admin Training Part I
 
Directory services by SAJID
Directory services by SAJIDDirectory services by SAJID
Directory services by SAJID
 
X.500 More Than a Global Directory
X.500 More Than a Global DirectoryX.500 More Than a Global Directory
X.500 More Than a Global Directory
 
Ldap 121020013604-phpapp01
Ldap 121020013604-phpapp01Ldap 121020013604-phpapp01
Ldap 121020013604-phpapp01
 
Directory services
Directory servicesDirectory services
Directory services
 
introduction to ldap
introduction to ldapintroduction to ldap
introduction to ldap
 
User administration without you - integrating LDAP
User administration without you - integrating LDAPUser administration without you - integrating LDAP
User administration without you - integrating LDAP
 
LDAP(In_Linux).pptx
LDAP(In_Linux).pptxLDAP(In_Linux).pptx
LDAP(In_Linux).pptx
 
network administration directory access and remote access
network administration directory access and remote accessnetwork administration directory access and remote access
network administration directory access and remote access
 
Active directory basics
Active directory basicsActive directory basics
Active directory basics
 
Ldapsession
LdapsessionLdapsession
Ldapsession
 
Ldapsession 1217528612650451-9
Ldapsession 1217528612650451-9Ldapsession 1217528612650451-9
Ldapsession 1217528612650451-9
 
Ldap
LdapLdap
Ldap
 
Active Directory
Active DirectoryActive Directory
Active Directory
 
CIS13: A Breakthrough in Directory Technology: Meet the Elephant in the Room ...
CIS13: A Breakthrough in Directory Technology: Meet the Elephant in the Room ...CIS13: A Breakthrough in Directory Technology: Meet the Elephant in the Room ...
CIS13: A Breakthrough in Directory Technology: Meet the Elephant in the Room ...
 
PostgreSQL - Object Relational Database
PostgreSQL - Object Relational DatabasePostgreSQL - Object Relational Database
PostgreSQL - Object Relational Database
 
OpenDJ - An Introduction
OpenDJ - An IntroductionOpenDJ - An Introduction
OpenDJ - An Introduction
 

Más de Wildan Maulana

Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Wildan Maulana
 
Pengembangan OpenThink SAS 2013-2014
Pengembangan OpenThink SAS 2013-2014Pengembangan OpenThink SAS 2013-2014
Pengembangan OpenThink SAS 2013-2014
Wildan Maulana
 
ICA – AtoM : Retensi Arsip
ICA – AtoM : Retensi ArsipICA – AtoM : Retensi Arsip
ICA – AtoM : Retensi Arsip
Wildan Maulana
 
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RWOpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
Wildan Maulana
 
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
Wildan Maulana
 
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PostgreSQL BootCamp : Manajemen Master Data dengan SkyToolsPostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
Wildan Maulana
 
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID  dan Aplikasi Berbasis CakePHP ...Mensetup Google Apps sebagai IdP jenis openID  dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
Wildan Maulana
 
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai SpMensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Wildan Maulana
 
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
Konfigurasi simpleSAMLphp  dengan Google Apps Sebagai Identity ProviderKonfigurasi simpleSAMLphp  dengan Google Apps Sebagai Identity Provider
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
Wildan Maulana
 
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Wildan Maulana
 
Instalasi dan Konfigurasi simpleSAMLphp
Instalasi dan Konfigurasi simpleSAMLphpInstalasi dan Konfigurasi simpleSAMLphp
Instalasi dan Konfigurasi simpleSAMLphp
Wildan Maulana
 
River Restoration in Asia and Connection Between IWRM and River Restoration
River Restoration in Asia and Connection Between IWRM and River RestorationRiver Restoration in Asia and Connection Between IWRM and River Restoration
River Restoration in Asia and Connection Between IWRM and River Restoration
Wildan Maulana
 
Penilaian Siswa di Finlandia - Pendidikan Dasar
Penilaian Siswa di Finlandia - Pendidikan DasarPenilaian Siswa di Finlandia - Pendidikan Dasar
Penilaian Siswa di Finlandia - Pendidikan Dasar
Wildan Maulana
 
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and UsesProyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Wildan Maulana
 
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang TuaOpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
Wildan Maulana
 

Más de Wildan Maulana (20)

Hasil Pendataan Potensi Desa 2018
Hasil Pendataan Potensi Desa 2018Hasil Pendataan Potensi Desa 2018
Hasil Pendataan Potensi Desa 2018
 
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
Double for Nothing? Experimental Evidence on an Unconditional TeacherSalary I...
 
Ketahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Ketahanan Pangan #1 : Gerakan Sekolah Menanam MelonKetahanan Pangan #1 : Gerakan Sekolah Menanam Melon
Ketahanan Pangan #1 : Gerakan Sekolah Menanam Melon
 
Pengembangan OpenThink SAS 2013-2014
Pengembangan OpenThink SAS 2013-2014Pengembangan OpenThink SAS 2013-2014
Pengembangan OpenThink SAS 2013-2014
 
ICA – AtoM : Retensi Arsip
ICA – AtoM : Retensi ArsipICA – AtoM : Retensi Arsip
ICA – AtoM : Retensi Arsip
 
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RWOpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
OpenThink Labs Workshop : Ketahanan Pangan Skala RT/RW
 
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
OpenThink Labs : Dengar Pendapat Komunitas ciliwung dengan kemen pu dan kemen...
 
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PostgreSQL BootCamp : Manajemen Master Data dengan SkyToolsPostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
 
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID  dan Aplikasi Berbasis CakePHP ...Mensetup Google Apps sebagai IdP jenis openID  dan Aplikasi Berbasis CakePHP ...
Mensetup Google Apps sebagai IdP jenis openID dan Aplikasi Berbasis CakePHP ...
 
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai SpMensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
Mensetup Google Apps sebagai IdP jenis openID dan Wordpress sebagai Sp
 
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
Konfigurasi simpleSAMLphp  dengan Google Apps Sebagai Identity ProviderKonfigurasi simpleSAMLphp  dengan Google Apps Sebagai Identity Provider
Konfigurasi simpleSAMLphp dengan Google Apps Sebagai Identity Provider
 
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
Instalasi simpleSAMLphp sebagai Identity Provider (IdP)
 
Instalasi dan Konfigurasi simpleSAMLphp
Instalasi dan Konfigurasi simpleSAMLphpInstalasi dan Konfigurasi simpleSAMLphp
Instalasi dan Konfigurasi simpleSAMLphp
 
River Restoration in Asia and Connection Between IWRM and River Restoration
River Restoration in Asia and Connection Between IWRM and River RestorationRiver Restoration in Asia and Connection Between IWRM and River Restoration
River Restoration in Asia and Connection Between IWRM and River Restoration
 
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...
Optimasi Limpasan Air Limbah  Ke Kali Surabaya (Segmen Sepanjang – Jagir)  De...Optimasi Limpasan Air Limbah  Ke Kali Surabaya (Segmen Sepanjang – Jagir)  De...
Optimasi Limpasan Air Limbah Ke Kali Surabaya (Segmen Sepanjang – Jagir) De...
 
Penilaian Siswa di Finlandia - Pendidikan Dasar
Penilaian Siswa di Finlandia - Pendidikan DasarPenilaian Siswa di Finlandia - Pendidikan Dasar
Penilaian Siswa di Finlandia - Pendidikan Dasar
 
Statistik Listrik
Statistik ListrikStatistik Listrik
Statistik Listrik
 
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and UsesProyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
Proyek Al-'Alaq : Electric Bicycles ; History, Characteristics, and Uses
 
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang TuaOpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
OpenThink SAS : Interaksi Antara Sekolah, Wali Kelas, Siswa dan Orang Tua
 
Menggunakan AlisJK : Equating
Menggunakan AlisJK : EquatingMenggunakan AlisJK : Equating
Menggunakan AlisJK : Equating
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Directory Servers and LDAP

  • 1. OpenLDAP BootCamp Directory Servers and LDAP Doc. v. 0.1 – 05/03/09 Wildan Maulana wildan.m@openthinklabs.com http://workshop.openthinklabs.com/ #1
  • 2. Main Topics ● The Basics of LDAP directories ● The history of LDAP and the OpenLDAP server
  • 3. LDAP Basics ● The terms LDAP stands for Lightweight Directory Access Protocol ● LDAP was originally designed to be a network protocol that provided an alternative form of access to existing directory servers ● LDAP is standardized. The body of LDAP standards, including the network protocols, the directory structure, and the services provided by an LDAP server, are all available in the form of RFCs (Requests For Comments) ● LDAP v3 → RFC 2251 (1997) ● Updated on 2006 → RFCs 4510 - 4519
  • 4. What is a Directory ? ● Directory server is used to maintain information about some set of entities (entities like people or organizations), and it provides for accessing that information ● How information in an LDAP directory is structured ?
  • 5. The Structure of a Directory Entry example : phone book entry Acme Services 123 W. First St. Chicago, IL 60616-1234 (773) 555-8943 or (800) 555 9834 Identify Organization Name: Acme Services Street Address: 123 West First Street City: Chicago State: Illinois Postal Code: 60616-1234 But How can we distinguish between Country: USA Phone Number: +1 773 555 8943 two very similar records? Phone Number: +1 800 555 9834 For example, say we have a telephone directory for the entire state of Illinois. And in Illinois, we have a company called Acme Services located in the city of Chicago, and another company named Acme Services located in the city of Springfield.
  • 6. A Unique Name : The DN ● One way of distinguishing between two very similar records is to create a unique name for each record in the directory ● Strategy adopted by LDAP ; each record in the directory has a distinguished name (DN)
  • 7. More About DN ● A DN is composed of a combination of directory information, and looks something like this : dn: o=Acme Services, l=Chicago, st=Illinois, c=US dn: o=Acme Services, l=Springfield, st=Illinois, c=US DNs are not case sensitive Some parts of LDAP records are case sensitive, and others are not. DNs, for example, are not case sensitive.
  • 8. LDAP Entry ● An LDAP entry, or record, is the directory unit that stores information about an individual item in the directory ● An entry is composed of a DN and one or more attributes ● The DN serves as a unique identifier within an LDAP directory information tree ● Attributes provide information about that entry
  • 9. An Example LDAP Entry dn: o=Acme Services, l=Chicago, st=Illinois, c=US DN o: Acme Services postalAddress: 123 West First Street l: Chicago st: Illinois postalCode: 60616-1234 attributes c: US telephoneNumber: +1 773 555 8943 telephoneNumber: +1 800 555 9834 objectclass: organization ● Attribute names, like o and postalAddress, refer to well- defined attribute definitions contained in an LDAP schema. They cannot be "invented" on the fly, or made up as you go. Creating new attributes requires writing a schema.
  • 10. An Example LDAP Entry - Cont ● On previous example there are eight attributes, representing the following : ● Organization Name (o) ● Mailing address (postalAddress) ● Locality (l), which may be the name of a city, town, village, and so forth ● State or Province (st) ● Postal Code or ZIP Code (postalCode) ● Country (c) ● Telephone Number (telephoneNumber) ● Object Class (objectclass), which specifies what type (or types) of record this entry is
  • 11. The Object Class Attributes ● The last attribute in the given record is objectclass attribute. This is a special attribute that provides information about what type of record (of entry) is ● An object class determines what attributes my be given to a record
  • 12. Operational Attributes ● In addition to regular attributes, the directory server may also attach spesial operational attributes to an entry ● Operational attributes are used by the directory it self to store information about entries ● This attributes are not designed for use by end user
  • 13. The Directory Information Tree ● Information in an LDAP directory is organized into one or more hierarchies where, at the top of the hierarchy, the is a base entry, and other entries are organized in tree-like structures beneath the base entry ● Each node on the hierarchy is an entry, with a DN and more than one attributes
  • 16. What to Do with an LDAP Server ● LDAP is designed to represent organizations, including their structure, their physical assets, and their personnel. ● LDAP can also be used as central authority on network users, groups, and accounts
  • 17. The History of LDAP and OpenLDAP ● Originally, LDAP was just a network protocol used to get data out of an X.500 directory (a directory server architecture, designed in the 1980s and standardized in 1988). This was the intent of Yeong, Howes, and Killie when they initially drafted the LDAP specification as RFC 1487 in 1993. ● The first LDAP servers were gateways to X.500 directories, but these servers quickly evolved into full-fledged directory servers. Tim Howes and his colleagues at the University of Michigan created the Open Source University of Michigan LDAP Implementation, which became the reference implementation for other LDAP servers. http://www.umich.edu/~dirsvcs/ldap/ldap.html ●
  • 18. The History of LDAP and OpenLDAP ● In 1998 the OpenLDAP project was started by Kurt Zeilenga using University of Michigan's code base ● Since the late 90', OpenLDAP has continued to mature , overseen by the OpenLDAP Foundation, and supported by contributions from industry sponsors. ● http://openldap.org
  • 19. A Technical Overview of OpenLDAP ● The OpenLDAP suite can be broken up into four components: ● Servers : Provide LDAP services ● Clients : Manipulate LDAP data ● Utilities : Support LDAP servers ● Libraries : provide programming interfaces to LDAP
  • 21. The Server ● The main server in LDAP suite is SLAPD (the Stand-Alone LDAP Daemon) ● A server can store directory, data locally or simply access (or proxy access) to external sources ● SLAPD provides authentication and searching services, and may also support adding, removing, and modifying directory data ● SLAPD provides fine-grained access control to the directory
  • 22. Clients ● Client connect to the server over the LDAP protocol, using network-based connection or socket (for UNIX based) ● Typically, a client will first connect to the directory server, then bind (authenticate), and then perform zero or more other operations (searches, modification, additions, deletions, etc) before finally unbinding and disconnecting
  • 23. Utilities ● Unlike clients, utilities do not perform operations using the LDAP protocol. Instead, they manipulate data at a lower level, and without mediation by the server ● Utilities are used primarily to help maintain server
  • 24. Libraries ● Application Programming Interfaces (APIs) are provided to allow software developer to write LDAP-aware applications without having to re- write fundamental LDAP code
  • 29. Q&A
  • 30. Reference ● Matt Butcher, Mastering OpenLDAP, PACKT Publishing