PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pdbedit



ofmueller
20.01.06, 19:21
Ich möchte mittels pdbedit die max. Gültigkeitsdauer eines SAMBA-Passworts ändern.

pdbedit -P "maximum password age" -C 5184000

Leider greifen diese Angaben erst bei der Neuanlage eines Nutzers. Wie kann ich diesen Wert auch bei bereits bestehenden Nutzern ändern?

Ich verwende smbpasswd als Datenbank-Backend, kann aber meinetwegen auch tdbsam verwenden. Ich glaube aber, das hat hierbei keine Bedeutung.

Gruß

O. Mueller

emba
21.01.06, 18:11
bist du sicher, dass bestehende accounts nicht durch diese policy affektiert werden? samba behandelt diese policy doch global, d.h. es sollte diese auch bei bestehenden accounts anwenden

wie hast du es getestet und mit welcher version?

greez

ofmueller
24.01.06, 15:16
Die Passwortqualität bzgl. der Länge und Komplexität der Passwörter konnte ich sofort testen und es hat geklappt.

Bei dem Aufrauf pdbedit -L -v wurde mir allerdings nicht angezeigt, dass sich etwas beim Aublaufdatum des Kennwortes geändert hat (Passwort must change 1901) . Hier wurden nur die entsprechenden Werte bei neu angelegten Nutzern richtig angezeigt.

emba
24.01.06, 16:34
welche daten hat denn ein neu angelegter nutzer im feld "Passwort must change", nachdem du die policy aktiviert hast?

greez

ofmueller
25.01.06, 14:37
Momentan bekomme ich es gar nicht mehr wiederholt. Selbst wenn ich neue Nutzer anlege, steht in "Password must change" :

"Fri, 13 Dec 1901 21:45:51 GMT"

Wie aber bereits gesagt, die Komplexität des Passwortes wird sofort angewendet.

emba
25.01.06, 14:53
bitte poste mal den output eines nutzers mittels pdbedit

greez

ofmueller
26.01.06, 11:56
ein Ausdruck von pdbedit -v -L

emba
26.01.06, 12:44
ok, du hast es auf 60 tage gesetzt (im obigen beispiel). dreh doch bitte mal die zeit auf dem server um 61 tage nach vorn und log dich am client ein.

greez

ofmueller
02.02.06, 12:04
Ich denke, ich habe die Lösung.

Mit smbpasswd funktiniert das Setzen von Qualitätsmerkmalen für Kennwörter nur sehr eingeschränkt.

Folgende Schritte sind notwendig:

1. einfügen in smb.conf:
passdb backend = tdbsam,smbpasswd
2. ausführen
servername:/etc/samba#pdbedit -i smbpasswd -e tdbsam
3. aus der smb.conf den Wert smbpasswd (vgl. Punkt1) entfernen

Trotzdem werden wesentliche Merkmale der Passwortqualität erst beim Neuanlegen von Nutzern mit "pdbedit" angewendet.

Noch einmal zum Nachlesen:
http://gertranssmb3.berlios.de/output/passdb.html

Fedi
21.03.06, 10:15
Kann ich
pdbedit -i smbpasswd -e tdbsam
auch zum importieren eines smbpasswd-files us einer alten samba2.x Installation benutzen?
Bei mir kommt immer:

No builtin backend found, trying to load plugin
No builtin nor plugin backend for smbpasswd found
Loading smbpasswd failed!
Can't initialize passdb backend.

Wenn ich pdbedit -i smbpasswd -e tdbsam von der bestehenden (leeren) Datei mache passiert nichts.
Wenn ich dann pdbedit -L mache kommt:
Unable to open/create TDB passwd

CU
Fedi

emba
21.03.06, 10:34
normalerweise sollte dies funktionieren, getestet habe ich es noch nicht.
bitte rufe pdbedit mal mit höherem debug auf (-d 3 oder mehr)

greez

Fedi
21.03.06, 13:02
OK.
Habe es jetzt zurecht gebogen.
Nachdem ich die smbpasswd ins samba-Verzeichnis kopiert habe, hat er sie genommen.

Allerdings passt das immernoch nicht.
Wenn ich mich anmelde und zB OulookExpress öffne findet er die Identität nicht.
Ich denke das liegt an der SID.
Nur warum hat er die nicht übernommen? In welcher Datei steckt die denn drin?

emba
21.03.06, 15:14
secrets.tdb unter samba v3 und den letzten v2.x versionen
http://de.samba.org/samba/docs/man/Samba3-HOWTO/upgrading-to-3.0.html#id2641886
http://www.linuxforen.de/forums/showthread.php?t=203077&highlight=machine.sid

greez

Fedi
21.03.06, 18:07
Also entweder stehe ich sowas von auf dem Schlauch oder wir reden an einander vorbei. :confused:
Ich rede von den ID's der User.
Die Machine-SID habe ich bereits angepasst.
Die stand in der MACHINE.SID des alten Samba. Habe sie mit net setlocalsid auf den neuen geschrieben.

Mein Problem ist, dass die User neue IDs bekommen. Zumindest gehe ich davon aus!

Ich müsste also wissen, wo ich die User-SIDs aus dem alten Samba auslesen kann und wie ich sie ins neue Samba schreiben kann.

Hab im Forum was mit smpasswd -S gefunden. Der Schalter ist bei meiner Version aber nicht vorhanden.

emba
22.03.06, 11:17
ok, du sprichst von SID oder besser RIDs und nicht UIDs, ja? welche version genau hast du aus dem 2er zweig im einsatz?

evtl. hilft das schon:
http://groups.google.com/group/linux.samba/browse_thread/thread/daead4b00178d91d/ea2d09088fffb7f7?lnk=st&q=upgrade+samba+user+sid&rnum=1&hl=en#ea2d09088fffb7f7

kannst du auf dem alten samba die SIDs (oder besser RIDs) der user anzeigen lassen? die kannst du zur not dann händisch auf dem 3er einpflegen, wenn alle stränge reißen

greez

Fedi
22.03.06, 13:49
sorry.
zweimal gepostet...

Fedi
22.03.06, 13:51
cooler link.
da scheint jemand genau mein Problem zu haben....


definieren wir mal das ganze:

SID = die ID des Servers
RID = die ID der User!?
UID = Die ID im Linux/Unix System

Auf dem alten Rechner läuft die Version 2.2.3a-64

Im letzten Link steht:
Samba maps the UID to the user SID.
The user SID is made up of the Domain SID plus a RID.
The RID = 2xUID + 1000

Das heisst wenn der Benutzer die UID 500 hat wird die User-ID:
...Server-SID...-2000

Im Beispiel heisst es aber:
If the UID = 1234 the RID = 2468.
If the SID = S-1-5-21-12345678-12345678-12345678
the user SID =S-1-5-21-12345678-12345678-12345678-2468

Das Hauptproblem ist wohl, dass sich alle IDs (Gruppen+User) geändert haben.



kannst du auf dem alten samba die SIDs (oder besser RIDs) der user anzeigen lassen?
Leider nicht. Ich weiss auch nicht wo sie stehen soll...
Wie ich an die ID des alten Samba komme verrät der Text leider nicht.
Auch nicht wie ich die ntusers.dat editieren könnte.

Fedi
22.03.06, 14:31
Mühsam ernährtsich das Eichhörnchen....

also mit
profiles ntuser.dat bekommt man eine lesbare Ausgabe der Datei.
Darin enthalten auch die SID des User-Accounts.

Die GID passt und damit zumindest die letzten 4 Stellen in der "Primary Group SID".

Jetzt wollte ich die IDs anpassen:
pdbedit -u=USER -r -G=S-1-5-21-012345678-0123456789-0123456789-RID

Ich hab verschiedene RIDs ausprobiert aber immer kmmt:

tdb_update_sam: SAM_ACCOUNT (USER) with no RID!
Unable to modify entry!

Wenn ich die Group anpassen will kommt:
tdb_update_sam: Failing to store a SAM_ACCOUNT for [USER] without a primary group RID
Unable to modify entry!

Wenn ich -G und -U kombiniere kommt auch wieder:
tdb_update_sam: Failing to store a SAM_ACCOUNT for [USER] without a primary group RID
Unable to modify entry!

:confused:

Fedi
22.03.06, 16:55
So ...
mein Test-Account scheint jetzt zu laufen.... :D

Abschließend kann ich sagen
SID des Rechners UND der Domain muss mit net setlocalid gesetzt werden bevor man Samba anrührt. Sonst alles nochmal löschen *.tdb

Ausserdem müssen die UID des alten und neuen Systems übereinstimmen!

Danke für eure Hilfe!

CU
Fedi