Discussion:
Waarom werkt deze slapadd niet?
(te oud om op te antwoorden)
tjoen
2010-02-25 19:46:38 UTC
Permalink
Misschien gevonden waarom smbldap-tools niet werken.

# slapadd -v -l test.diff
(hangt)

test.diff:
dn: sambaDomainName=WORKGROUP,dc=example,dc=org
objectClass: sambaDomain
sambaDomainName: WORKGROUP
sambaSID: S-1-5-21-686817777-1585854605-660948164
sambaNextRid: 1000
objectClass: sambaUnixIdPool
uidNumber: 1000
gidNumber: 1000

slapd.conf hoort zo:
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/samba.schema
...

/etc/openldap/schema/samba.schema:
objectclass ( 1.3.6.1.4.1.7165.2.2.5 NAME 'sambaDomain' SUP top STRUCTURAL
DESC 'Samba Domain Information'
MUST ( sambaDomainName $
sambaSID )
MAY ( sambaNextRid $ sambaNextGroupRid $ sambaNextUserRid $
sambaAlgorithmicRidBase $
sambaMinPwdLength $ sambaPwdHistoryLength $ sambaLogonToChgPwd $
sambaMaxPwdAge $ sambaMinPwdAge $
sambaLockoutDuration $ sambaLockoutObservationWindow $
sambaLockoutThreshold $
sambaForceLogoff $ sambaRefuseMachinePwdChange ))
...
objectclass ( 1.3.6.1.4.1.7165.2.2.7 NAME 'sambaUnixIdPool' SUP top AUXILIARY
DESC 'Pool for allocating UNIX uids/gids'
MUST ( uidNumber $ gidNumber ) )
...
attributetype ( 1.3.6.1.4.1.7165.2.1.38 NAME 'sambaDomainName'
DESC 'Windows NT domain to which the user belongs'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
...
attributetype ( 1.3.6.1.4.1.7165.2.1.20 NAME 'sambaSID'
DESC 'Security ID'
EQUALITY caseIgnoreIA5Match
SUBSTR caseExactIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64} SINGLE-VALUE )
...
attributetype ( 1.3.6.1.4.1.7165.2.1.39 NAME 'sambaNextRid'
DESC 'Next NT rid to give out for anything'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
...

Maar nis.schema:
# builtin
#attributetype ( 1.3.6.1.1.1.1.0 NAME 'uidNumber'
# DESC 'An integer uniquely identifying a user in an administrative domain'
# EQUALITY integerMatch
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
..
# builtin
#attributetype ( 1.3.6.1.1.1.1.1 NAME 'gidNumber'
# DESC 'An integer uniquely identifying a group in an administrative domain'
# EQUALITY integerMatch
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )

Als ik die "#" weghaal
# slapadd -v -l test.diff
/etc/openldap/schema/nis.schema: line 41 attributetype: \
Duplicate attributeType: "1.3.6.1.1.1.1.0"
slapadd: bad configuration file!

Wat is er mis?
richard lucassen
2010-02-25 23:46:13 UTC
Permalink
On Thu, 25 Feb 2010 20:46:38 +0100
Post by tjoen
Misschien gevonden waarom smbldap-tools niet werken.
# slapadd -v -l test.diff
(hangt)
[..]
Post by tjoen
Wat is er mis?
Als het een complete database betreft krijg je IIRC wel problemen
als er al een databse bestaat. Als je de /var/lib/ldap/ leegmaakt
(of ergens naartoe kopieert) dan zou het wel moeten gaan.

Maar het is alweer een tijdje terug dat ik dat gedaan heb btw.

HTH,

R
--
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht |
| Public key and email address: |
| http://www.lucassen.org/mail-pubkey.html |
+------------------------------------------------------------------+
tjoen
2010-02-26 10:25:40 UTC
Permalink
Post by richard lucassen
On Thu, 25 Feb 2010 20:46:38 +0100
Post by tjoen
# slapadd -v -l test.diff
(hangt)
[..]
Post by tjoen
Wat is er mis?
Als het een complete database betreft krijg je IIRC wel problemen
als er al een databse bestaat. Als je de /var/lib/ldap/ leegmaakt
(of ergens naartoe kopieert) dan zou het wel moeten gaan.
/avr/opnldap-data/ was leeg op DB_CONFIG na.
Toevoegen werkt alleen als slapd niet runt.
Eerste paar records toevoegen werkt.
Een na laatste:

dn: ou=Idmap,dc=example,dc=org
objectclass: top
objectclass: organizationalUnit
ou: Idmap

ook geen probleem. Staat in slapcat.
Maar nu probleem met:

dn: sambaDomainName=WORKGROUP,dc=example,dc=org
objectClass: sambaDomain
sambaSID: S-1-5-21-686817777-1585854605-660948164
sambaNextRid: 1000
objectClass: sambaUnixIdPool
uidNumber: 1000
gidNumber: 1000
sambaDomainName: WORKGROUP
richard lucassen
2010-02-26 10:35:09 UTC
Permalink
On Fri, 26 Feb 2010 11:25:40 +0100
Post by tjoen
dn: sambaDomainName=WORKGROUP,dc=example,dc=org
objectClass: sambaDomain
sambaSID: S-1-5-21-686817777-1585854605-660948164
sambaNextRid: 1000
objectClass: sambaUnixIdPool
uidNumber: 1000
gidNumber: 1000
sambaDomainName: WORKGROUP
Heb je je schema's wel goed geladen? En als je het toevoegt als je de
server met "slapd -d 18383" laat draaien? Dan zegt-ie vast wat er mis
is.
--
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht |
| Public key and email address: |
| http://www.lucassen.org/mail-pubkey.html |
+------------------------------------------------------------------+
tjoen
2010-02-26 10:54:09 UTC
Permalink
Post by richard lucassen
On Fri, 26 Feb 2010 11:25:40 +0100
Post by tjoen
dn: sambaDomainName=WORKGROUP,dc=example,dc=org
objectClass: sambaDomain
sambaSID: S-1-5-21-686817777-1585854605-660948164
sambaNextRid: 1000
objectClass: sambaUnixIdPool
uidNumber: 1000
gidNumber: 1000
sambaDomainName: WORKGROUP
Heb je je schema's wel goed geladen?
Ik dacht schemas goed. slapd start dacht ik niet bij fout.
slaptest -d 18383 2>&1|grep arning. alleen
/etc/openldap/slapd.conf: line 51: warning: cannot assess \
the validity of the ACL scope within backend naming context

Toch vlgs admin guide ingevuld:
database monitor
access to *
by dn.exact="cn=Manager,dc=example,dc=org
by * none

Niet fataal lijkt me
Post by richard lucassen
En als je het toevoegt als je de
server met "slapd -d 18383" laat draaien? Dan zegt-ie vast wat er mis
is.
Ook probleem is dat toevoegen alleen kan als slapd niet runt.
Als deze runt dan deze melding:

bdb_db_open: database "dc=example,dc=org": database already in use.
backend_startup_one (type=bdb, suffix="dc=example,dc=org"): \
bi_db_open failed! (-1)
slap_startup failed
richard lucassen
2010-02-26 11:03:41 UTC
Permalink
On Fri, 26 Feb 2010 11:54:09 +0100
Post by tjoen
Post by richard lucassen
Heb je je schema's wel goed geladen?
Ik dacht schemas goed. slapd start dacht ik niet bij fout.
Als je een schema niet geladen hebt die wel nodig is dan start slapd
wel. Alleen zeurt-ie dan als je een DN wilt toevoegen met attributes
die niet in het schema staan.
Post by tjoen
Ook probleem is dat toevoegen alleen kan als slapd niet runt.
Lukt het met gq niet de zaak aan een draaiende slapd te voeren? Dan zie
je over welk attribute hij zeurt. Ik roep maar wat hoor, ben geen LDAP
specialist en hou me er ook niet elke dag mee bezig.

Maar je moet in staat zijn een ldif te maken die zo klein is dat je de
fout makkelijk kunt isoleren. Voer maar eens een cn in zonder top o.i.d.
Dat vreet-ie niet IIRC.
--
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht |
| Public key and email address: |
| http://www.lucassen.org/mail-pubkey.html |
+------------------------------------------------------------------+
tjoen
2010-02-26 11:29:43 UTC
Permalink
Post by richard lucassen
On Fri, 26 Feb 2010 11:54:09 +0100
Post by tjoen
Post by richard lucassen
Heb je je schema's wel goed geladen?
Als je een schema niet geladen hebt die wel nodig is dan start slapd
wel. Alleen zeurt-ie dan als je een DN wilt toevoegen met attributes
die niet in het schema staan.
In de ldaplogs staan wel samba*, geen warnings of errors:
...
Feb 26 11:39:20 localhost slapd[1374]: matchingRuleUse: ( 2.5.13.14
...
mber $ sambaPwdLastSet $ sambaPwdCanChange $ sambaPwdMustChange $
...

dus samba.schema wordt geladen
Post by richard lucassen
Post by tjoen
Ook probleem is dat toevoegen alleen kan als slapd niet runt.
Lukt het met gq niet de zaak aan een draaiende slapd te voeren? Dan zie
je over welk attribute hij zeurt.
Ik heb nog geen Gq maar geprobeerd met:
# slapadd -d 18383 -l test.diff
....
oc_check_allowed type "objectClass"
oc_check_allowed type "sambaSID"
oc_check_allowed type "sambaNextRid"
oc_check_allowed type "uidNumber"
oc_check_allowed type "gidNumber"
oc_check_allowed type "sambaDomainName"
oc_check_allowed type "structuralObjectClass"
=> bdb_tool_entry_put( -1, "sambaDomainName=WORKGROUP,dc=example,dc=org" )
=> bdb_dn2id("dc=example,dc=org")
<= bdb_dn2id: got id=0x1
=> bdb_dn2id("sambaDomainName=workgroup,dc=example,dc=org")
^C (omdat die hangt)
(ook geprobeerd met lowercase in test.diff)

In slapd.conf:
index objectClass eq
index cn pres,sub,eq
index sn pres,sub,eq
index uid pres,sub,eq
index displayName pres,sub,eq
index uidNumber eq
index gidNumber eq
index memberUid eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
index default sub
richard lucassen
2010-02-26 12:28:39 UTC
Permalink
On Fri, 26 Feb 2010 12:29:43 +0100
Pak dan versie 1.06, want alles wat daarboven zit is instabiele bagger.
Post by tjoen
# slapadd -d 18383 -l test.diff
....
oc_check_allowed type "objectClass"
oc_check_allowed type "sambaSID"
oc_check_allowed type "sambaNextRid"
oc_check_allowed type "uidNumber"
oc_check_allowed type "gidNumber"
oc_check_allowed type "sambaDomainName"
oc_check_allowed type "structuralObjectClass"
=> bdb_tool_entry_put( -1,
"sambaDomainName=WORKGROUP,dc=example,dc=org" ) => bdb_dn2id
("dc=example,dc=org") <= bdb_dn2id: got id=0x1
=> bdb_dn2id("sambaDomainName=workgroup,dc=example,dc=org")
^C (omdat die hangt)
En wat zegt strace?

Maar als je nou alles weggooit uit /var/lib/ldap en dan de slapadd van
een hele kleine ldif doet? (als tets)
--
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht |
| Public key and email address: |
| http://www.lucassen.org/mail-pubkey.html |
+------------------------------------------------------------------+
tjoen
2010-02-26 18:03:53 UTC
Permalink
Post by richard lucassen
En wat zegt strace?
Moet ik nog proberen
Post by richard lucassen
Maar als je nou alles weggooit uit /var/lib/ldap
/var/openldap-data # rm alock __* *.bdb log.0000000001
Post by richard lucassen
en dan de slapadd van
een hele kleine ldif doet? (als tets)
/home/tjoen/ldap # slapadd -v -l test.diff
added: "sambaDomainName=WORKGROUP,dc=example,dc=org" (00000002)
_#################### 100.00% eta none elapsed none fast!
Closing DB...Error, entries missing!
entry 1: dc=example,dc=org
# slapcat
dn: sambaDomainName=WORKGROUP,dc=example,dc=org
objectClass: top
objectClass: sambaDomain
objectClass: sambaUnixIdPool
sambaSID: S-1-5-21-686817777-1585854605-660948164
sambaNextRid: 1000
uidNumber: 1000
gidNumber: 1000
sambaDomainName: WORKGROUP
structuralObjectClass: sambaDomain
entryUUID: 5ef21082-f7d8-4053-b84d-4fd8b8761fa3
creatorsName: cn=Manager,dc=example,dc=org
createTimestamp: 20100226175734Z
entryCSN: 20100226175734.120785Z#000000#000#000000
modifiersName: cn=Manager,dc=example,dc=org
modifyTimestamp: 20100226175734Z

Dit snap ik niet, nu werkt het wel? Goed idee van je.
Maar is openldap nu nog te vertrouwen?
richard lucassen
2010-02-26 22:24:42 UTC
Permalink
On Fri, 26 Feb 2010 19:03:53 +0100
Post by tjoen
/home/tjoen/ldap # slapadd -v -l test.diff
added: "sambaDomainName=WORKGROUP,dc=example,dc=org" (00000002)
_#################### 100.00% eta none elapsed none fast!
Closing DB...Error, entries missing!
En dit dan?
Post by tjoen
entry 1: dc=example,dc=org
# slapcat
dn: sambaDomainName=WORKGROUP,dc=example,dc=org
objectClass: top
objectClass: sambaDomain
objectClass: sambaUnixIdPool
sambaSID: S-1-5-21-686817777-1585854605-660948164
sambaNextRid: 1000
uidNumber: 1000
gidNumber: 1000
sambaDomainName: WORKGROUP
structuralObjectClass: sambaDomain
entryUUID: 5ef21082-f7d8-4053-b84d-4fd8b8761fa3
creatorsName: cn=Manager,dc=example,dc=org
createTimestamp: 20100226175734Z
entryCSN: 20100226175734.120785Z#000000#000#000000
modifiersName: cn=Manager,dc=example,dc=org
modifyTimestamp: 20100226175734Z
Dit snap ik niet, nu werkt het wel? Goed idee van je.
Maar is openldap nu nog te vertrouwen?
Ik zou de vraag maar eens op de openldap list vragen, beter e1n die het
weet dan tien die zoeken,,,
--
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht |
| Public key and email address: |
| http://www.lucassen.org/mail-pubkey.html |
+------------------------------------------------------------------+
tjoen
2010-02-27 10:20:18 UTC
Permalink
Post by richard lucassen
On Fri, 26 Feb 2010 19:03:53 +0100
Post by tjoen
/home/tjoen/ldap # slapadd -v -l test.diff
added: "sambaDomainName=WORKGROUP,dc=example,dc=org" (00000002)
_#################### 100.00% eta none elapsed none fast!
Closing DB...Error, entries missing!
En dit dan?
Post by tjoen
entry 1: dc=example,dc=org
# slapcat
dn: sambaDomainName=WORKGROUP,dc=example,dc=org
Mist
dn: dc=example,dc=org
objectclass: dcObject
objectclass: organization
dc: example

Zou het ook een bug kunnen zijn dat record toch toegevoegd?
Post by richard lucassen
Post by tjoen
Dit snap ik niet, nu werkt het wel? Goed idee van je.
Maar is openldap nu nog te vertrouwen?
Ik zou de vraag maar eens op de openldap list vragen, beter e1n die het
weet dan tien die zoeken,,,
Kan ook bug in Berkeley DB zijn. Wordt lastig in opensource projecten:
Beiden zullen elkaar de schuld geven.
richard lucassen
2010-02-27 10:32:01 UTC
Permalink
On Sat, 27 Feb 2010 11:20:18 +0100
Post by tjoen
Post by richard lucassen
fast! Closing DB...Error, entries missing!
En dit dan?
entry 1: dc=example,dc=org
# slapcat
dn: sambaDomainName=WORKGROUP,dc=example,dc=org
Mist
dn: dc=example,dc=org
objectclass: dcObject
objectclass: organization
dc: example
Zou het ook een bug kunnen zijn dat record toch toegevoegd?
Misschien. Maar heb je dat niet in slapd.conf zitten toevoegen?
Post by tjoen
Post by richard lucassen
Ik zou de vraag maar eens op de openldap list vragen, beter e1n die
het weet dan tien die zoeken,,,
Beiden zullen elkaar de schuld geven.
Ik denk dat de openldap mailinglist je daar alles over kan vertellen.
Maar als je na die slapadd een dump maakt van de draaiende database,
dan is de ldif denk ik groter dan de ldif die je aan slapadd gevoerd
hebt. En als je die ldif aan een lege db voert, zeurt-ie dan niet meer?
--
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht |
| Public key and email address: |
| http://www.lucassen.org/mail-pubkey.html |
+------------------------------------------------------------------+
tjoen
2010-02-27 12:08:41 UTC
Permalink
Post by richard lucassen
On Sat, 27 Feb 2010 11:20:18 +0100
Post by tjoen
Post by richard lucassen
fast! Closing DB...Error, entries missing!
En dit dan?
entry 1: dc=example,dc=org
# slapcat
dn: sambaDomainName=WORKGROUP,dc=example,dc=org
Mist
dn: dc=example,dc=org
objectclass: dcObject
objectclass: organization
dc: example
Zou het ook een bug kunnen zijn dat record toch toegevoegd?
Misschien. Maar heb je dat niet in slapd.conf zitten toevoegen?
Zou normaliter eerste record zijn van smbldap-populate
smbldap-populate hangt pas bij record sambaDomainName: WORKGROUP
Post by richard lucassen
Post by tjoen
Beiden zullen elkaar de schuld geven.
Ik denk dat de openldap mailinglist je daar alles over kan vertellen.
Maar als je na die slapadd een dump maakt van de draaiende database,
dan is de ldif denk ik groter dan de ldif die je aan slapadd gevoerd
hebt.
Vreemd dat slapcat ook werkt als slapd niet runt, misschien toch
normaal.
Ik kan geen slapdump vinden, slapcat is voldoende?
Post by richard lucassen
En als je die ldif aan een lege db voert, zeurt-ie dan niet meer?
Ik weet het niet, misschien klachten over entryUUID
Ik denk LDAP in samba3 nu te laten liggen, en deze pas in samba4
weer ga proberen
richard lucassen
2010-02-27 12:25:30 UTC
Permalink
On Sat, 27 Feb 2010 13:08:41 +0100
Post by tjoen
Post by richard lucassen
Misschien. Maar heb je dat niet in slapd.conf zitten toevoegen?
Zou normaliter eerste record zijn van smbldap-populate
smbldap-populate hangt pas bij record sambaDomainName: WORKGROUP
Maar je krijgt IIRC eerst de globale entries.
Post by tjoen
Vreemd dat slapcat ook werkt als slapd niet runt, misschien toch
normaal.
Die dumpt de inhoud van de backend database dacht ik.
Post by tjoen
Ik kan geen slapdump vinden, slapcat is voldoende?
Post by richard lucassen
En als je die ldif aan een lege db voert, zeurt-ie dan niet meer?
Ik weet het niet, misschien klachten over entryUUID
Installeer eens gq, daar heb je veel aan. Maar je kunt ook met
ldapsearch een ldif produceren dacht ik. Met gq gaat dat makkelijk iig.
Post by tjoen
Ik denk LDAP in samba3 nu te laten liggen, en deze pas in samba4
weer ga proberen
Het werkt ook bij anderen, dus bij jou zou het ook moeten werken.
Volgens mij heb ik ook een ldap die samba aankan, alleen heb ik hier
geen samba meer draaien.
--
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht |
| Public key and email address: |
| http://www.lucassen.org/mail-pubkey.html |
+------------------------------------------------------------------+
tjoen
2010-02-27 14:14:14 UTC
Permalink
Post by richard lucassen
On Sat, 27 Feb 2010 13:08:41 +0100
Post by tjoen
Ik denk LDAP in samba3 nu te laten liggen, en deze pas in samba4
weer ga proberen
Het werkt ook bij anderen, dus bij jou zou het ook moeten werken.
Andere test: eerst test.diff, daarna initldap.dif werkt
Maar daarna opnieuw test.diff hangt, geen error dat entry al bestaat.
Misschien deadlock?
Mocht ik echt probleem willen oplossen dan zal ik het in
openldap mailinglist vragen. Op dit moment heb ik het opgegeven.
richard lucassen
2010-02-27 14:22:47 UTC
Permalink
On Sat, 27 Feb 2010 15:14:14 +0100
Post by tjoen
Post by richard lucassen
Het werkt ook bij anderen, dus bij jou zou het ook moeten werken.
Andere test: eerst test.diff, daarna initldap.dif werkt
Maar daarna opnieuw test.diff hangt, geen error dat entry al bestaat.
Misschien deadlock?
Mocht ik echt probleem willen oplossen dan zal ik het in
openldap mailinglist vragen. Op dit moment heb ik het opgegeven.
Misschien is het wel een 2.3 manier die je op een 2.4 openldap toepast.
Er is nogal wat veranderd. Ik zou het gewoon even vragen daar.

"Gaat niet bestaat niet"

R.
--
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht |
| Public key and email address: |
| http://www.lucassen.org/mail-pubkey.html |
+------------------------------------------------------------------+
tjoen
2010-02-28 14:04:17 UTC
Permalink
Post by richard lucassen
On Sat, 27 Feb 2010 15:14:14 +0100
Post by tjoen
Mocht ik echt probleem willen oplossen dan zal ik het in
openldap mailinglist vragen. Op dit moment heb ik het opgegeven.
Ik zou het gewoon even vragen daar.
Toch maar daar gevraagd. Het laat me niet los.

Loading...