PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba 3 / LDAP - PDC: Could not create posix account info for MASCHINE$



Seiten : [1] 2

abeule
27.09.04, 12:37
Mahlzeit miteinander,

Nach langem rumsuchen, rumprobieren und rumnerven ist es mir gelungen nahezu alle Zutaten für die erfolgreiche Migration eines vorhandenen NT4-PDC in einen Samba 3 PDC (Suse 9.1) zusammenzupuzzeln.

Der "net vampire" legt die Gruppen an, er migriert die User .... das einzige was er nicht macht, ist das Anlegen der Maschinenkonten (Fehlermeldung: "Could not create posix account info for 'PC1234$').

Mir ist auch mehr oder minder klar, woran das liegt. Es gelingt mir nicht eine "Fake-Root" in den LDAP einzuschleusen. Wenn ich versuche, meine Fake-Root mit "smbldap-usermod.pl -u 0 -g 0 root" zu einer "echten" root umzubiegen, erhalte ich aus dem Script die folgende Fehlermeldung:
"Can't call method "get_value" on an undefined value at /usr/local/sbin/smbldap-usermod line173" ...

Und damit bin ich auch schon mit meinem Latein am Ende. Bislang habe ich nix sinnvolles zu diesem Fehler herausgoogeln können, im Script habe ich auch keine eklatanten Tippfehler gefunden ( :) ) ... Weiss jemand Rat? Gegebenenfalls murxse ich auch gerne mit PHPLDAPAdmin im Tree selbst herum, wenn ich nur weiss, was ich wo wie ändern muss....

Danke für's Kopfzerbrechen,

Andreas

Rennie
27.09.04, 13:52
Moin!

Also wenn es nicht zu viele PCs sind, dann würde ich die Maschinenkonten evtl. von Hand anlegen. Einfach über smbldap-useradd.

Es könnte sein, daß das mit dem root-Account nicht klappt, weil der ja unter Linux schon vorhanden ist und smbldap-useradd versucht, ihn noch mal anzulegen. Du kannst versuchen, die Daten für den root-User mit pdbedit -a root in den LDAP zu bekommen. Ansonsten wirste den root-Account wohl direkt im LDAP anlegen müssen, am einfachsten über eine LDIF-Datei.


Ciao

Rennie

abeule
27.09.04, 14:11
Tja, Rennie,

das mit dem "von Hand anlegen" kommt nicht so gut. Sind einige hundert.

Wie würde denn eine anzulegende Root.LDIF aussehen müssen? Evtl. ein kleines Muster für Ungeschickte (that's me) ???

Danke für die Hilfe

A.

p.s.:
Der "root"-User, der nicht notwendiger Weise so heissen muß, wird immer erfolgreich in den LDAP eingetragen. Es ist mir jedoch nicht möglich, ihm nachträglich die entsprechenden Privilegien (Anlegen von Maschinenkonten geht imho nur mit root-Rechten) zuzuweisen.

Rennie
27.09.04, 14:46
Hi!

Also bei einigen hundert würde ich das auch nich wollen ;)

Wenn der root-User im LDAP angelegt ist, dann wird Dir die LDIF-Datei auch nix mehr bringen. Mit der kannst Du ja lediglich die LDAP-Einträge erzeugen. Hat der Account im LDAP denn uid und gid 0? Vielleicht kannst Du einfach mal posten, wie der User aussieht (einfach über smbldap-usershow den user anzeigen und dann hier posten; vielleicht vorher noch die Paßwörter rauslöschen ;))


Rennie

abeule
27.09.04, 15:04
Wenn der root-User im LDAP angelegt ist, dann wird Dir die LDIF-Datei auch nix mehr bringen. Mit der kannst Du ja lediglich die LDAP-Einträge erzeugen. Hat der Account im LDAP denn uid und gid 0? Vielleicht kannst Du einfach mal posten, wie der User aussieht (einfach über smbldap-usershow den user anzeigen und dann hier posten; vielleicht vorher noch die Paßwörter rauslöschen ;))


Naja... 'ne LDIF-Datei bringt schon etwas, wenn ich mich dazu entschliesse, den Tree nochmals neu abzuziehen.

Und mein Administrator (der auch Root können dürfen soll :) ) sieht so aus:



dn: uid=Administrator,ou=Users,dc=meine,dc=zu,dc=lange ,dc=domain
cn: Administrator
sn: Administrator
objectClass: inetOrgPerson,sambaSamAccount,posixAccount
uid: Administrator
homeDirectory: /home/samba/users
sambaLogonTime: 0
sambaLogoffTime: viele Zahlen
sambaKickoffTime: dieselben Zahlen nochmal :)
sambaPwdCanChange: 0
sambaHomePath: \\IP\homes\
sambaHomeDrive: G:
sambaProfilePath: \\IP\profiles\
sambaPrimaryGroupSID: S-1-5-21-Rest-von-SID-512
sambaSID: S-1-5-21-Rest-von-SID-2996
loginShell: /bin/false
gecos: Netbios Domain Administrator
gidNumber: 0
uidNumber: 0
sambaLMPassword: Verschlüsselt :)
sambaAcctFlags: [U]
sambaNTPassword: Auch verschlüsselt :)
sambaPwdLastSet: Irgend 'ne Zeitangabe
sambaPwdMustChange: irgend 'ne spätere Zeitangabe
userPassword: {SSHA} issich auch verschlüsselt :)



Hoffe, das hilft jemandem beim der Lösung ...

A.

mamue
27.09.04, 16:29
Welche Samba version verwendest Du? Vielleicht ist es ja nur das leidlich bekannte Problem der 3.0.6 mit dem Schema-file.
Du hast doch die smbldap-conf.pm (?) eingerichtet. Dann müsste zumindest das händische einfügen mit den smbldap-tools erst einmal funktionieren. Sind Computer und Personen in der selben 'ou'?
Du hast aber sicher daran gedacht, das richtige schema-file an die richtige Stelle zu kopieren, oder?

mamue

aheinhold
27.09.04, 21:45
Der "net vampire" legt die Gruppen an, ...

Entschuldigt die Zwischenfrage, aber ich hab das Problem, dass ich "Unix-Gruppen" bei einem Samba 3 PDC nicht verwenden kann, um ACL's zu setzen. Da sind nur Windows-Standard-Gruppen zu sehen, nicht aber die angelegten Unix-Gruppen.
Hilft mir da net vampire weiter??

emba
28.09.04, 07:59
Hilft mir da net vampire weiter??
nein, das dumpt nur
du brauchst net rpc groupmap

@mamue
wo ist eigentlich genau das prob mit den ous beschrieben (computer/user in der selben=muss)

habe zwar das prob nicht, aber für den fall der fälle
oder ist das idealx spezifisch?

greez

abeule
28.09.04, 08:30
nein, das dumpt nur
du brauchst net rpc groupmap

greez

Kann so nicht ganz 100% richtig sein:

Ich habe hier einen LDAP, der mit smbldap-populate gefüllt wurde und bei dem so das Mapping erfolgte, auf meinen PDC angesetzt und diesen ausgelesen. In der Folge wurden so ziemlich alle Gruppen kreiert und übernommen und gemappt, die vorhanden waren, incl. Domänen-Administratoren auf 512, wo schon Domain Admins lagen.

Klappt im übrigen genauso mit LDIF-basierenden LDAPs (zumindest, wenn man das Muster von idealix nimmt).

Jetzt frage ich mich natürlich, ob diese mehrfach-Belegung meinen LDAP struwwelig macht... mal testen...

Sambaversion ist übrigens die von Suse 9.1, vom 24.9 (3.04-1.27)

A.

Rennie
28.09.04, 09:34
Moin!

Was das Mapping angeht: Das geht entweder über net groupmap (geht rpc auch? Hab ich noch nicht ausprobiert) oder eben über den LDAP. Das spielt letztlich keine Rolle, da Samba ja sowohl auf seine pdb-Datenbanken als auch auf den LDAP zugreifen sollte. Bei Gruppen, die über die smbldap-tools angelegt werden, wir das Mapping im übrigen automatisch mit erstellt.

Per LDIF sieht ein Groupmapping in etwa so aus:



dn: cn=klausur,ou=groups,dc=meine,dc=domain
objectClass: posixGroup
objectClass: sambaGroupMapping
cn: klausur
gidNumber: 1001
sambaSID: Die-SID-3003
sambaGroupType: 2
displayName: Klausurgruppe


Die objectClass posixGroup braucht man natürlich nur, wenn die Gruppe rein im LDAP existiert und nicht in /etc/group. Schaut man ins Schema:



objectclass ( 1.3.6.1.4.1.7165.2.2.4 NAME 'sambaGroupMapping' SUP top AUXILIARY
DESC 'Samba Group Mapping'
MUST ( gidNumber $ sambaSID $ sambaGroupType )
MAY ( displayName $ description $ sambaSIDList ))


dann sieht man, daß zwingend eigentlich nur die gidNumber, die sambaSID und der sambaGroupType erforderlich sind.

@emba:
Ich hab das Problem und hab das hier auch mal etwas länger diskutiert, daher hat mamue das glaub ich :) Bei mir ist das tatsächlich so, daß Samba die Computer unabhängig vom Wert ldap machine suffix IMMER unter demselben suffix sucht wie auch die Benutzer. Hat mich ein bißchen zur Verzweiflung gebracht, aber mittlerweile hab ich die Maschinen auch unter der ou users liegen und es läuft einwandfrei. Für mich ist das eigentlich nur ein kosmetisches Problem.


Ciao

Rennie

mamue
28.09.04, 10:36
@mamue
wo ist eigentlich genau das prob mit den ous beschrieben (computer/user in der selben=muss)

habe zwar das prob nicht, aber für den fall der fälle
oder ist das idealx spezifisch?

greez
Das habe ich aus erster Hand: John Terpstra sagte das auf der letzten Samba-experience in Göttingen. Ich war bei dem Tutorial, das angeblich für Anfänger gedacht war. Mann, bin ich ein Anfänger ;)
Das ist nicht idealx spezifisch. smbpasswd kann AFAIK keine neuen Accounts für Compis in einer anderen OU anlegen. Man kann sie aber manuell erzeugen und dann nur noch das Kennwort setzen/ändern mit smbpasswd, nur das geht nicht so gut mit den smbldap-tools, wenn ich mich nicht irre.

mamue

emba
28.09.04, 10:56
@mamue

ok, verstehe wo das prob liegt
trat bei mir nicht auf, da ich eigene scripten verwende (wie du AFAIK)
gibts schon fixes? kann pdbedit in verschiedene ou's schreiben?
will beim nächsten PDC auch die idealx scripten verwenden (keine eigenen also)

@rennie
sorry, hatte mich vertippt - rpc muss raus

@abeule
ok, eindeutiger: vampire kümmert sich um die 1:1 abbildung der DB eines NT PDC

werden aber im nachhein (und davon bin ich bei aheinhold ausgegangen), hilft vampire nicht, sondern nur net groupmap - haben sicher nur aneinander vorbei geredet

greez

abeule
28.09.04, 12:04
Das habe ich aus erster Hand: John Terpstra sagte das auf der letzten Samba-experience in Göttingen. Ich war bei dem Tutorial, das angeblich für Anfänger gedacht war. Mann, bin ich ein Anfänger ;)
Das ist nicht idealx spezifisch. smbpasswd kann AFAIK keine neuen Accounts für Compis in einer anderen OU anlegen. Man kann sie aber manuell erzeugen und dann nur noch das Kennwort setzen/ändern mit smbpasswd, nur das geht nicht so gut mit den smbldap-tools, wenn ich mich nicht irre.

mamue

Prost Mahlzeit.

Ich habe mal getestet ob's vielleicht daran liegt, dass ich die Idealix-Scripts mit ihren 3 Basiscontainern benutzt habe und habe daher einfach mal die Maschinen und User in einen Account (in diesem Falle Users) gelegt.

Wie zu erwarten war (manchmal glaube ich es einfach nicht :( :eek: :ugly: )
lief ein kurzer Testlauf ohne die Fehlermeldung "posix Account bla bla" ...
Ich werde heute nacht mal einen Leech des PDC anstossen und morgen testen, was dabei rauskam...

Kann ich eigentlich ungestraft Elemente eines Trees von einem Ast des LDAP in einen anderen umsiedeln? Ich will, wenn es irgendwie möglich ist die User und die Maschinen getrennt haben.... Fragt nicht warum, nennt es einfach einen Spleen, aber ich hasse Verzeichnisse mit 4-stelliger Eintragszahl....!!!

Dank an alle, die mitgegrübelt haben.

A.

emba
28.09.04, 12:19
Kann ich eigentlich ungestraft Elemente eines Trees von einem Ast des LDAP in einen anderen umsiedeln?

ne klee

schnellschuss (kurzanleitung für ein script):

- alle user, die migriert werden sollen, in ein file schreiben lassen
- das script soll dann mittels ldadmodify die dn umschreiben

dn eines script sieht bspw. so aus: $USERNAME,ou=xxx,dc=xxy,dc=de

greez

Rennie
28.09.04, 12:52
Hi!

@abeule:
Also prinzipiell kannst Du mit dem LDAP machen was Du willst, solange Du die zugreifenden Programme anpaßt. Wenn Du die Maschinenaccounts umhängst, dann mußte natürlich auch dem Samba mitteilen, daß die jetzt woanders hängen (und hoffen, daß er das versteht).


Rennie

emba
28.09.04, 12:59
(und hoffen, daß er das versteht).

der smbd versteht das

greez

abeule
28.09.04, 15:45
der smbd versteht das

greez

Gibt es mittlerweile auch einen Samba, der Verständnis dafür zeigt, dass ich meine Computer- und Useraccounts beim "net vampire" nicht in einen Container ausgelesen haben möchte? :cool:

A.

Rennie
28.09.04, 16:53
@emba:
Also bei mir leider mit den Versionen 3.0.4 und 3.0.6 nicht. :(


Rennie

mamue
28.09.04, 21:42
Das Anlegen von Usern und Maschinen in verschiedenen ou geht meines wissens noch nicht und ist auch nicht unmittelbar geplant. Ich mag mich aber täuschen. Du kannst sie natürlich trennen, aber eben nicht mit smbpasswd anlegen und also auch nicht mit den smbldap-tools, wenn ich mich nicht irre.

mamue

abeule
28.09.04, 21:45
Das Anlegen von Usern und Maschinen in verschiedenen ou geht meines wissens noch nicht und ist auch nicht unmittelbar geplant. Ich mag mich aber täuschen. Du kannst sie natürlich trennen, aber eben nicht mit smbpasswd anlegen und also auch nicht mit den smbldap-tools, wenn ich mich nicht irre.

mamue


Da fragt man sich dann doch ernsthaft, warum die Jungs in ihrem Tutorial separate Container anlegen und warum auch smbldap-populate separate Container anlegt. Zumindest hätten die in ihrem Howto vom August dazu mal einen winzigen Hinweis fallen lassen können, dann hätte ich mir eine Woche Frust und Fluchen geklemmt!!!

A.

mamue
28.09.04, 23:30
Einfach nächstens vorher fragen, wir sagen Dir dann, dass das nicht geht ;-)

mamue

abeule
29.09.04, 07:41
Einfach nächstens vorher fragen, wir sagen Dir dann, dass das nicht geht ;-)

mamue

Rabääähhh!!! :(

Wer den Schaden hat, spottet jeder Beschreibung.... :ugly:

A.

Rennie
29.09.04, 10:15
Moin!

Hat denn keiner dasselbe Problem wie ich?! Ich weiß garnicht, warum alle immer vom Anlegen der Accounts reden. Das klappt problemlos über die smbldap-tools. Also bei mir hat das jedenfalls wunderbar geklappt. Nur Samba sucht einfach nicht im richtigen Zweig. Wie kann denn das sein, daß bei allen anderen das Anlegen nicht klappt, dafür Samba aber das suffix versteht!? :eek:


Rennie

mamue
29.09.04, 11:15
Mit getent passwd werden die Maschinenkonten angezeigt, richtig?
In der smb.conf hast Du in etwa stehen:
ldap suffix = dc=my-org,dc=anything
ldap user suffix = ou=accounts
ldap group suffix = ou=groups
ldap machine suffix = ou=hardware
ldap idmap suffix = ou=idmap
, richtig?
Dann hilft nur noch einmal der Blick ins logfile.

mamue

Rennie
29.09.04, 12:09
Tja, genau diesen Blick hab ich schon vor langer Zeit getan. Und das Ergebnis: die smbldap-tools haben den Maschinen-Account korrekt angelegt, im Logfile ist zu erkennen, daß das entsprechende Skript ausgeführt wurde. Dann sucht Samba aber laut Logfile den Maschinenaccount unter der ou=users und kommt natürlich mit einem Fehler, daß der Account nicht vorhanden sei, zurück. Da ich keine Lust hatte, da jetzt irgendwo im Samba rumzudebuggen, hab ich einfach den Weg des geringsten Widerstandes genommen.

Ich werde das aber noch mal testen, denn ich kann ehrlich nicht glauben, daß ich da der einzige mit einem solchen Problem sein soll.


Rennie

emba
30.09.04, 07:01
Gibt es mittlerweile auch einen Samba, der Verständnis dafür zeigt, dass ich meine Computer- und Useraccounts beim "net vampire" nicht in einen Container ausgelesen haben möchte? :cool:

A.

ich sehe den fehler nicht direkt bei samba (daemons) sondern wie mamue schon sagt eher in den tools (obwohl ich auch nicht verstehe, warum die das nicht können), denn mein smbd (3.0.4) sucht die maschinen auch in einem anderen ldap-zweig als der userzweig

greez

CYP
30.09.04, 10:07
also das user accounts und computer account in der selben ou liegen müssen
ist eigentlich nur ein gerücht ...

# uhd10$, Computers, lokal
dn: uid=uhd10$,ou=Computers,o=lokal
objectClass: top
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: sambaSamAccount
cn: uhd10$
sn: uhd10$
uid: uhd10$
uidNumber: 1040
gidNumber: 553
homeDirectory: /dev/null
loginShell: /bin/false
description: Computer
sambaSID: S-1-5-21-1373263014-2914944253-4229756810-3080
sambaPrimaryGroupSID: S-1-5-21-1373263014-2914944253-4229756810-553
displayName: uhd10$
sambaPwdMustChange: 2147483647
sambaAcctFlags: [W ]
sambaPwdCanChange: 1093497709
sambaLMPassword: :)
sambaNTPassword: :)
sambaPwdLastSet: 1093497709

# username, users, lokal
dn: uid=username,ou=users,o=lokal
objectClass: top
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSAMAccount
cn: username
sn: SN
uid: username
uidNumber: 1028
gidNumber: 513
homeDirectory: /home/username
loginShell: /bin/bash
gecos: Samba User
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaPwdMustChange: 2147483647
sambaSID: S-1-5-21-1373263014-2914944253-4229756810-3056
sambaAcctFlags: [U ]
sambaPwdCanChange: 1093497262
sambaLMPassword: :)
sambaNTPassword: :)
sambaPwdLastSet: 1093497262
userPassword:: :)
displayName: User Name
description: UHD
sambaKickoffTime: 0
sambaLogonHours: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

###/etc/samba/smb.conf########################
passdb backend = ldapsam:ldap://localhost
idmap backend = ldapsam:ldap://localhost

ldap admin dn = "cn=ldapadmin,o=lokal"
ldap delete dn = yes
ldap suffix = o=lokal
ldap machine suffix = ou=computers
ldap user suffix = ou=users
ldap group suffix = ou=groups
ldap idmap suffix = ou=idmap
ldap passwd sync = yes

add machine script = /etc/smbldap-tools/smbldap-useradd -w -d /dev/null -s /bin/false '%u'
add user script = /etc/smbldap-tools/smbldap-useradd -m -s /bin/bash '%u'
delete user script = rm -rf /home/'%u'
add user to group script = /etc/smbldap-tools/smbldap-groupmod -m '%u' '%g'
delete user from group script = /etc/smbldap-tools/smbldap-groupmod -x '%u' '%g'
add group script = /etc/smbldap-tools/smbldap-groupadd '%g' && /etc/smbldap-tools/smbldap-groupshow %g|awk '/^gidNumber:/ {print $2}'
delete group script = /etc/smbldap-tools/smbldap-groupdel '%g'
set primary group script = /etc/smbldap-tools/smbldap-usermod -g '%g' '%u'

###/etc/ldap.conf############################
die ldap.conf muss natürlich entsprechend angepasst werden

nss_base_passwd o=lokal?sub
nss_base_shadow o=lokal?sub
nss_base_groups o=lokal?sub


getestet mit samba > 3.05 und sambaldap tools 0.85

mamue
30.09.04, 10:18
@CYP: Wurde doch schon gesagt, müssen sie auch nicht. Nur die smbldap-tools können damit nicht umgehen, soweit ich weiß. Jedenfalls konnten sie das im März noch nicht und es gab keine Aussicht auf Besserung.
@Rennie: Entschuldige bitte, aber sind die anderen Punkte abgehakt, hast Du das überprüft?

mamue

CYP
30.09.04, 13:24
@CYP: Wurde doch schon gesagt, müssen sie auch nicht.
mamue

oh sorry :rolleyes: das muss ich überlesen haben
na seit spätestens juni gehts auf jeden fall

mal ne dumme frage die sambasid der rechner stimmt schon mit der sid der samba
domain überein oder ? -> das problem hatte ich nämlich mal
und wenn ich mich richtig erinnere kam es zu genau diesen seltsamen fehlern

emba
01.10.04, 08:24
mal ne dumme frage die sambasid der rechner stimmt schon mit der sid der samba
domain überein oder ? -> das problem hatte ich nämlich mal
und wenn ich mich richtig erinnere kam es zu genau diesen seltsamen fehlern

AFAIK besitzen rechner, die sich in der domäne befinden 2 SIDs
eine lokale und eine zur authentifizierung in der domain

letztere muss zu der der sambadomain passen, ansonsten kommt es zu unerwünschten nebeneffekten

greez