Leerdoelen

  • Wat is LDAP?
  • Waarom hebben we LDAP nodig?
  • Welk probleem lost LDAP op?

Delen

  • Computers werken met data
  • Data willen we delen met andere gebruikers
  • Liefst over een netwerk
  • Daarvoor hebben network filesharing protocols

Network Filesharing Protocols

  • FTP – File Transfer Protocol
    • 1971
    • Active mode: TCP/21 en TCP/20
    • Passive mode: TCP/21 en random ports
  • NFS – Network File System
    • 1984
    • Geen login (tot NFSv4)
    • Toegang via toegangsrechten
  • WebDAV
    • Filesharing over HTTP
  • AFP – Apple Filing Protocol
    • Verdwijnt langzaam (zie SMB)
    • 2012 laatste update
  • SMB – Service Message Block
    • Microsoft (IBM)
    • TCP/445
    • CIFS – Common Internet File System
    • SMBX (Mac OS X)
    • SaMBa (Linux, etc.)
  • En nog vele andere...

Rechten en delen van bestanden

  • Systeem A
    • Gebruikers
      • bert - UID: 1000
      • jan - UID: 1001
      • Els - UID: 1002
      • Mo - UID: 1003
  • Bestand: passwords.txt
    • Lees rechten voor uid=1001
  • Delen met een netwerk bestandssysteem
  • Systeem B
    • Gebruikers
      • Mo - UID: 1000
      • Els - UID: 1001
      • bert - UID: 1002
  • Is gekoppeld aan het netwerk bestandssysteem
  • Wie mag password.txt lezen?

Bestanden delen tussen systemen

  • Linux, MacOSX gebruiken UID/GID
  • Microsoft gebruik SID

Centrale gebruikers database

  • LDAP – Lightweight Directory Access Protocol
    • Update X.500 databases over TCP/IP
    • TCP/389, LDAPS: TCP/636
    • Database met gebruikersnamen
    • En andere gebruikers data
    • Unieke nummers voor het hele netwerk
    • Een unieke gebruikers (User) ID (UID)
    • Een unieke groeps (Group) ID (GUID)
    • En ook een uniek SID voor gebruiker en groep

LDAP oplossing

  • Alle werkstations en servers praten tegen LDAP
  • Halen daar de UID/GID informatie op voor gebruikers
  • Netwerk connectiviteit is essentieel
  • Geen lokale gebruikers nodig
  • Rechten op bestanden gelden voor het hele netwerk
  • Namen en IDs zijn uniek
  • LDAP is Authorisatie: wie mag wat

Een LDAP database

  • DIT: Directory Information Tree
  • Entry: a record in the tree
  • DN: Distinguished Name: entry met zijn complete pad
    • uid=babs,ou=people,dc=example,dc=com
  • top - root van de directory
  • dc - domain component
  • ou - organisational unit / AD: Container
  • Attributes: velden in een Entry
    • cn (common name), sn (surname), etc.

OU

  • Organizational Unit
  • Manier om een organisatie op te delen
  • Een goede structuur zorgt voor:
    • Overzicht
    • Verdeling van rechten

CN

dn: cn=ws42,ou=devices,dc=examlpe,dc=com
objectClass: top
objectClass: device
objectClass: posixAccount
objectClass: sambaSamAccount
cn: ws42
cn: ws42$
uid: ws42
uid: ws42$
homeDirectory: /dev/null
loginShell: /bin/false
uidNumber: 1042
gidNumber: 515
sambaSID: S-1-5-21-1654374101-3569970681-3921896634-1042
sambaPrimaryGroupSID: S-1-5-21-1654374101-3569970681-3921896634-515
sambaAcctFlags: [W       ]
userPassword: NOPASSXXXXXXXXX
sambaNTPassword: NOPASSXXXXXXXXX

Add an DN

dn: CN=Guy Thomas,OU=Training,DC=example,DC=com
changetype: add
cn: Guy Thomas
objectClass: user
sAMAccountName: Guy
givenName: Guy
sn: Thomas
userAccountControl: 512
  • Geen password fields: die gaan in Kerberos

Samenvatting

  • LDAP is een centrale database
  • Bevat gebruikers gegevens
  • Bevat groep gegevens
  • Kan ook andere data bevatten
    • Computers
    • Printers
  • Zorgt voor unieke informatie binnen een netwerk
  • LDAP is authorisatie