Gå til innhold

Sette opp en LDAP-server


Anbefalte innlegg

Yup, vi har fått ny server. Denne skal primært hoste NFS og LDAP, men sannsynligvis senere også en DNS-proxy samt NTPD.

 

I allefall. Nå er det slapd som gjelder. Jeg har gang på gang satt opp serveren etter alle kunstens regler, har sikkert brukt en skog på dokumentasjon, og begynner å bli grundig lei.

 

Den guiden jeg primært har fulgt, legges ved som fil. Den lå på denne adressen en gang: http://www.mandrakesecure.net/en/docs/ldap...display=printer men er nå tydeligvis borte. *urk*.

 

I alle fall. Jeg har modda configen etter alle kunstens regler sikkert en milion ganger, og serveren starter glad og lykkelig. Configen ser for tiden slik ut:

 

# This is the main slapd configuration file. See slapd.conf(5) for more
# info on the configuration options.

#######################################################################
# Global Directives:

# Features to permit
#allow bind_v2

# Schema and objectClass definitions
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema

# Schema check allows for forcing entries to
# match schemas for their objectClasses's
schemacheck     on

# Where the pid file is put. The init.d script
# will not stop the server if you change this.
pidfile         /var/run/slapd/slapd.pid

# List of arguments that were passed to the server
argsfile        /var/run/slapd.args

# Read slapd.conf(5) for possible values
loglevel        0

# Where the dynamically loaded modules are stored
modulepath      /usr/lib/ldap
moduleload      back_bdb

#######################################################################
# Specific Backend Directives for bdb:
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
backend         bdb

#######################################################################
# Specific Backend Directives for 'other':
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
#backend                <other>

#######################################################################
# Specific Directives for database #1, of type bdb:
# Database specific directives apply to this databasse until another
# 'database' directive occurs
database        bdb

# The base of your directory in database #1
suffix          "dc=valler,dc=vgs,dc=no"

# Where the database file are physically stored for database #1
directory       "/var/lib/ldap"

# Indexing options for database #1
index           objectClass,uid,uidNumber,gidNumber     eq
index           cn,mail,surname,givenname               eq,subinitial

# Save the time that the entry gets modified, for database #1
lastmod         on

# Where to store the replica logs for database #1
# replogfile    /var/lib/ldap/replog

# The userPassword by default can be changed
# by the entry owning it if they are authenticated.
# Others should not be able to see it, except the
# admin entry below
# These access lines apply to database #1 only

#KYRRE KOMMENTERER DEM UT :P

access to attribute=userPassword
       by dn="cn=Manager,dc=valler,dc=vgs,dc=no" write
       by anonymous auth
       by self write
       by * none
#
# Ensure read access to the base for things like
# supportedSASLMechanisms.  Without this you may
# have problems with SASL not knowing what
# mechanisms are available and the like.
# Note that this is covered by the 'access to *'
# ACL below too but if you change that as people
# are wont to do you'll still need this if you
# want SASL (and possible other things) to work
# happily.

#Her har jeg vaert på faerde igjen...

#access to dn.base="" by * read

# The admin dn has full write access, everyone else
# can read everything.

#Hum di dum...

#access to *
#        by dn="cn=Manager,dc=valler,dc=vgs,dc=no" write
#        by * read

#Her begynner vi å skrive inn nye ting...

#Passe på passord-attributten
#access to dn=.*,dc=valler,dc=vgs,dc=no" attr=userPassword
#       by dn="cn=Manager,dc=valler,dc=vgs,dc=no"       write
#       by self                                         write
#       by *                                            auth

#Ingen skal få endre på uid, brukernavn og etc - selv ikke for seg selv
access to dn=".*,ou=People,dc=valler,dc=vgs,dc=no"
       by * read

#Takker, MandrakeSecure :P

#Manager-passordet og brukeren. Skal være samme som server-passordet.

rootdn "cn=Manager,dc=valler,dc=vgs,dc=no"
rootpw {SSHA}BLÆÆÆÆÆÆ :P

# For Netscape Roaming support, each user gets a roaming
# profile for which they have write access to
#access to dn=".*,ou=Roaming,o=morsnet"
#        by dn="Manager" write
#        by dnattr=owner write

#######################################################################
# Specific Directives for database #2, of type 'other' (can be bdb too):
# Database specific directives apply to this databasse until another
# 'database' directive occurs
#database        <other>

# The base of your directory for database #2
#suffix         "dc=debian,dc=org"

 

Som sagt starter serveren uten å klage. Med en tom /var/lib/ldap (dvs. etter at jeg har kjørt rm -rf /var/lib/ldap/*) får jeg disse resultatene:

 

elevfs-alt2:/usr/share/migrationtools# slapcat
elevfs-alt2:/usr/share/migrationtools#

 

og:

 

elevfs-alt2:/usr/share/migrationtools# ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
# extended LDIF
#
# LDAPv3
# base <> with scope base
# filter: (objectclass=*)
# requesting: namingContexts
#

# search result
search: 2
result: 0 Success

# numResponses: 1
elevfs-alt2:/usr/share/migrationtools#

 

Jeg har mekket meg noe som etter sigende skal være et gyldig "base system" med "migrate-base", slik:

 

elevfs-alt2:/usr/share/migrationtools# ./migrate_base.pl > base-kyrre.ldif elevfs-alt2:/usr/share/migrationtools#

 

noe som gir denne ldif:

 

dn: dc=vgs,dc=no
dc: vgs
objectClass: top
objectClass: domain

dn: dc=valler,dc=vgs,dc=no
dc: valler
objectClass: top
objectClass: domain

dn: ou=Hosts,dc=valler,dc=vgs,dc=no
ou: Hosts
objectClass: top
objectClass: organizationalUnit

dn: ou=Rpc,dc=valler,dc=vgs,dc=no
ou: Rpc
objectClass: top
objectClass: organizationalUnit

dn: ou=Services,dc=valler,dc=vgs,dc=no
ou: Services
objectClass: top
objectClass: organizationalUnit

dn: nisMapName=netgroup.byuser,dc=valler,dc=vgs,dc=no
nismapname: netgroup.byuser
objectClass: top
objectClass: nisMap

dn: ou=Mounts,dc=valler,dc=vgs,dc=no
ou: Mounts
objectClass: top
objectClass: organizationalUnit

dn: ou=Networks,dc=valler,dc=vgs,dc=no
ou: Networks
objectClass: top
objectClass: organizationalUnit

dn: ou=People,dc=valler,dc=vgs,dc=no
ou: People
objectClass: top
objectClass: organizationalUnit

dn: ou=Group,dc=valler,dc=vgs,dc=no
ou: Group
objectClass: top
objectClass: organizationalUnit

dn: ou=Netgroup,dc=valler,dc=vgs,dc=no
ou: Netgroup
objectClass: top
objectClass: organizationalUnit

dn: ou=Protocols,dc=valler,dc=vgs,dc=no
ou: Protocols
objectClass: top
objectClass: organizationalUnit

dn: ou=Aliases,dc=valler,dc=vgs,dc=no
ou: Aliases
objectClass: top
objectClass: organizationalUnit

dn: nisMapName=netgroup.byhost,dc=valler,dc=vgs,dc=no
nismapname: netgroup.byhost
objectClass: top
objectClass: nisMap

 

Så langt, så vel. Hvis jeg nå prøver å adde denne:

elevfs-alt2:/usr/share/migrationtools# ldapadd -x -D "cn=Manager,dc=valler,dc=vgs,dc=no" -W -f base-kyrre.ldif
Enter LDAP Password:
adding new entry "dc=vgs,dc=no"
ldapadd: update failed: dc=vgs,dc=no
ldap_add: Server is unwilling to perform (53)
       additional info: referral missing

elevfs-alt2:/usr/share/migrationtools#

 

Funker ikke... Noen som har peiling? Har sikkert slitt med dette i 1 mnd. nå...

ldap_auth.htm

Lenke til kommentar
Videoannonse
Annonse

Jeg har ikke peiling hva det er til, og det er samme problemet jeg har med ldap selv, jeg skjønner ikke hva halvparten av feltene er til, og når de er påkrevd så sliter man litt.

 

Hvis jeg gidder å sette meg skikkelig inn i ldap selv skal jeg rote rundt på alt og definere mine egne skjemaer til alt slik at jeg bestemmer hvilke felter jeg har bruk for og hvilke som er påkrevd, og så skal jeg gi forståelige navn til feltene.

Lenke til kommentar

*HÆ*

 

Hva *pokker* gjør den der? Har debian noe magi med hostnames?!?

 

I så fall må jeg vel fjerne de *to* første recordene - samt rydde opp i config-fila :p

 

Ok. I så fall har jeg holdt på lenger enn deg. Oppetid på ldap serveren på 35 dager => jeg har knota med det i 35 dager.

Lenke til kommentar

Juhu! Slettet den første entrien fra ldif-fila, og den lot seg legge til. Men nå får jeg bare "protocol error" fra directory administrator når jeg prøver å logge på...

 

Funker flott å logge på den gamle ldap-serveren... *urk*

 

elevfs-alt2:~# slapcat
dn: dc=valler,dc=vgs,dc=no
dc: valler
objectClass: top
objectClass: domain
structuralObjectClass: domain
entryUUID: d77c3042-b83a-1028-97ea-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x0001#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

dn: ou=Hosts,dc=valler,dc=vgs,dc=no
ou: Hosts
objectClass: top
objectClass: organizationalUnit
structuralObjectClass: organizationalUnit
entryUUID: d782824e-b83a-1028-97eb-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x0002#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

dn: ou=Rpc,dc=valler,dc=vgs,dc=no
ou: Rpc
objectClass: top
objectClass: organizationalUnit
structuralObjectClass: organizationalUnit
entryUUID: d78402c2-b83a-1028-97ec-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x0003#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

dn: ou=Services,dc=valler,dc=vgs,dc=no
ou: Services
objectClass: top
objectClass: organizationalUnit
structuralObjectClass: organizationalUnit
entryUUID: d785811a-b83a-1028-97ed-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x0004#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

dn: nisMapName=netgroup.byuser,dc=valler,dc=vgs,dc=no
nisMapName: netgroup.byuser
objectClass: top
objectClass: nisMap
structuralObjectClass: nisMap
entryUUID: d786e32a-b83a-1028-97ee-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x0005#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

dn: ou=Mounts,dc=valler,dc=vgs,dc=no
ou: Mounts
objectClass: top
objectClass: organizationalUnit
structuralObjectClass: organizationalUnit
entryUUID: d78785b4-b83a-1028-97ef-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x0006#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

dn: ou=Networks,dc=valler,dc=vgs,dc=no
ou: Networks
objectClass: top
objectClass: organizationalUnit
structuralObjectClass: organizationalUnit
entryUUID: d789048e-b83a-1028-97f0-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x0007#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

dn: ou=People,dc=valler,dc=vgs,dc=no
ou: People
objectClass: top
objectClass: organizationalUnit
structuralObjectClass: organizationalUnit
entryUUID: d78a64fa-b83a-1028-97f1-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x0008#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

dn: ou=Group,dc=valler,dc=vgs,dc=no
ou: Group
objectClass: top
objectClass: organizationalUnit
structuralObjectClass: organizationalUnit
entryUUID: d78b0590-b83a-1028-97f2-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x0009#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

dn: ou=Netgroup,dc=valler,dc=vgs,dc=no
ou: Netgroup
objectClass: top
objectClass: organizationalUnit
structuralObjectClass: organizationalUnit
entryUUID: d78c5ef4-b83a-1028-97f3-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x000a#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

dn: ou=Protocols,dc=valler,dc=vgs,dc=no
ou: Protocols
objectClass: top
objectClass: organizationalUnit
structuralObjectClass: organizationalUnit
entryUUID: d78dbe3e-b83a-1028-97f4-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x000b#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

dn: ou=Aliases,dc=valler,dc=vgs,dc=no
ou: Aliases
objectClass: top
objectClass: organizationalUnit
structuralObjectClass: organizationalUnit
entryUUID: d78e619a-b83a-1028-97f5-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x000c#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

dn: nisMapName=netgroup.byhost,dc=valler,dc=vgs,dc=no
nisMapName: netgroup.byhost
objectClass: top
objectClass: nisMap
structuralObjectClass: nisMap
entryUUID: d78fe0c4-b83a-1028-97f6-f9a020903ee7
creatorsName: cn=Manager,dc=valler,dc=vgs,dc=no
createTimestamp: 20041022055620Z
entryCSN: 2004102205:56:20Z#0x000d#0#0000
modifiersName: cn=Manager,dc=valler,dc=vgs,dc=no
modifyTimestamp: 20041022055620Z

 

Hverken å bruke search root "dc=valler,dc=vgs,dc=no" eller "ou=people,dc=valler..." eller ou=People,... virker.

 

*urk*

 

*løpe etter bussen*

Lenke til kommentar

Ja - diradmin er en finfin LDAP klient. Eneste triste er at den ikke mekker å opprette hjemmemapper (da klienten sitter på en annen burk...). Eller så erwebmin sine LDAP-greier fine.

 

Men skal skjekke phpldapadmin. Men da må jeg jo legge inn apache og PHP... *urk*

 

/me skulle ønske skolelinux sin LDAP klient plutselig begynnte å virke...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...