PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba upgrade 2x auf 3 mit Neuinstallation



hebbes
29.03.07, 15:22
Hallo zusammen,

ich plane, eine Maschine unter Suse8x durch Neuinstallation der aktuellen Suse 10.2 upzugraden. Habe das mal durchgespielt, klappt soweit mal alles bis auf Samba.

Auf dem alten System sind die Sambauser im smbpasswd. Auf dem neuen System wollte ich das eigentlich auch so übernehmen, auf der samba page wird aber davon abgeraten. Also nehme ich wohl tdbsam. Hier werde ich aus der doku aber auch nicht ganz schlau...

Wie genau gehe ich vor, um die user samt Passwörtern so zu erhalten, wie sie jetzt angelegt sind, dass also praktisch niemand etwas von der Umstellung mit bekommt? Beim Durchspielen (entspr. userfiles kopiert) steht die hälfte der user auf inaktiv, pw ist auch nicht vorhanden.

Samba läuft als PDC ohne Profile.

Danke und Gruß

$kuLL
29.03.07, 16:12
Über das Programm pdbedit kannst du vom smbpasswd zum tdbsam Backend migrieren. Schau dir einfach dazu die Doku (http://gertranssmb3.berlios.de/output/passdb.html#pdbeditthing) an.

hebbes
30.03.07, 13:55
Huhu,

ja danke, das habe ich gesehen. Dabei setzt es aber die Hälfte der User auf inaktiv. Ich muss diesen dann ein neues Passwort zuteilen und wieder auf aktiv setzen.

Habe folgendes gemacht:
/etc/passwd
/etc/group
/etc/shadow
/etc/gshadow
/etc/samba/*
/var/lib/samba/*
/homes
auf den Testserver gepackt, smb.conf andere Testdomain und Hostnamen angegeben. Hierbei läuft samba erstmal mit dem smbpasswd Backend und ich sehe im Yast z. B. schon, dass einige User inaktiv sind und Yast moniert, dass kein pw vergeben wäre, obwohl im entsprechenden Feld ***** Sternchen stehen. Kann mich dann auch mit so einem user ohne pw einloggen.

Auf dem jetzigen Server funktionieren die user mit pw normal. Angelegt werden/wurden sie mit useradd und smbpasswd -a.

Auch wenn ich jetzt mit pdbedit auf das tdbsam Backend gehe, ändert das nichts an der Situation.

Bin ich auf dem Holzweg oder was kann da falsch laufen?

Gruß

$kuLL
30.03.07, 14:37
Setz mal den Hostname und die Workgroup auf den ursprünglichen Wert zurück, also so wie es bei der 2.x Version war.

hebbes
30.03.07, 14:49
Huhu,

Das ändert leider erstmal nichts :(

Gruß

$kuLL
30.03.07, 15:57
Ok, also wie ich sehe arbeitest du ja mit einer Testmaschine. Von daher würde ich dir empfehlen die Upgrade Instructions (http://us4.samba.org/samba/docs/man/Samba-Guide/upgrades.html#id332913) noch einmal Schritt für Schritt von vorn durchzuarbeiten. Wenn du das gemacht hast, solltest du eigentlich erstmal wieder eine funktionierende Konfiguration auf Basis von smbpasswd haben. Die Migration auf tdbsam wäre dann der nächste Schritt, aber erstmal eins nach dem anderen...

hebbes
01.04.07, 17:51
Huhu,

ja, ich prüfe soweit erstmal alles auf einer Testmaschine. Also die Schritte bin ich jetzt nochmal durchgegangen. Nach zurückspielen der Dateien sind die Hälfte der user inaktiv und ohne Passwort, während sie auf dem alten System wie gesagt mit pw aktiv sind.

Habe die smbpasswds beider Systeme verglichen. Sind beide gleich, disabled sind die user nicht.

Kann auf dem jetzigen System evtl. ein Fehler in der Userverwaltung sein? Kann ich das irgendwie prüfen?

Gruß

$kuLL
01.04.07, 20:19
Haben die betreffenden User ein ! am Anfang des verschlüsselten Passworts in der /etc/shadow?

PS: Und gleich noch die Ausgabe des folgenden Befehls (ausführen als root) posten:

pdbedit -Lv foo | grep Flags
Für foo einen beliebigen 'inaktiven' User einsetzen.

hebbes
02.04.07, 12:23
Hi,

die Ausgabe:

sipro04a:/etc/samba # pdbedit -Lv user | grep Flags
Account Flags: [UX ]
sipro04a:/etc/samba #


Ja, die betreffenden user haben statt des Passworts ein Ausrufezeichen in /etc/shadow.

$kuLL
02.04.07, 13:16
Ok, die Flags aus der smbpasswd sehen gut aus. Aber das !-Zeichen in der /etc/shadow bedeutet, dass das Passwort für den User deaktiviert ist (locked).

Nun ist die Frage, ob das !-Zeichen wirklich vor dem verschlüsselten Passwort steht oder statt dem Passwort, wie du sagst. Wenn wirklich letzteres der Fall sein sollte, heißt das, dass das Passwort weg ist. Dann müsstest du alle User-Passwörter wieder über
usermod -U username aktivieren und anschließend neu setzen.

Steht das ! vor dem verschlüsselten Passwort, reicht es aus lediglich den Account wieder zu aktivieren. Je nachdem wieviel Samba User du hast, musst du das über eine for Schleife machen, z.B.

for i in `cat /etc/shadow | awk -F : '{print $1}'`; do usermod -U "$i"; done
Aber Vorsicht, das würde alle Passwörter aktivieren, auch bei den Systemaccounts, bei denen es standardmäßig deaktiviert ist. Also entweder baust du noch eine Bedingung ein bspw. bzgl. der uid/gid oder du merkst dir die bereits deaktivierten Systemaccounts und lockst sie danach wieder von Hand (auf einem Standardsystem sind das ca. 10).

hebbes
03.04.07, 16:10
Hi,

Es steht nur das ! im Passwort Feld.

OK, dass heißt dann ich müsste die Passwörter der betreffenden user ändern, bzw. neu anlegen. Für Samba direkt sollte das ja erstmal keine Auswirkungen haben, d. h. die pws in der smbpasswd bleiben ja bestehen?

$kuLL
03.04.07, 20:34
Versuch erstmal bitte bei einem User das Passwort mit

usermod -U username zu reaktivieren.
Dann stell sicher, dass du diese Paramter in deiner smb.conf hast:


unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .

Die müssten schon drin stehn, nur u.U. auskommentieren.
Damit versucht Samba das Passwort aus smbpasswd mit der passwd Datenbank zu synchronisieren. Wenn ihr einen PDC betreibt, kannst du die User anweisen ihr Passwort neu zu setzen, dann müssten smbpasswd und passwd wieder up2date sein.

Edit: versuch aber dich erstma mit den 3 Parametern in der smb.conf und dem reaktivierten Passwort anzumelden. Vielleicht reicht das schon. Denn ich weiß jetzt gar nicht, ob er erst das Passwort synchronisiert wenn es geändert wird oder auch schon schlichtweg wenn die beiden PW's aus smbpasswd und passwd unterschiedlich sind.