[Eisfair] Domänenanmeldung von Windows PC's nicht möglich
Thomas Bork
tom at eisfair.org
Fr Jul 25 11:21:23 CEST 2014
Am 25.07.2014 um 07:49 schrieb Daniel Heide:
> Den Fehler habe ich gefunden, die PDC-ID vom Server hat nicht mehr
> gestimmt nach der Serverinstallation, dadurch konnten dich die alten
> PC's nicht mehr anmelden (Profile nicht laden).
> Neu an der Domäne registrierte PC's haben sich nach dem Willkommen
> vom Windows sofort wieder abgemeldet.
Du musst Dir angewöhnen, bei Fragen mehr Informationen mit zu liefern
und das Problem genauer zu beschreiben. Du hast geschrieben:
> Bestehende Windowsrechner lassen sich nur mit dem Linuxnamen
> anmelden nicht mit dem Alias und neue Rechner, die ich versuche in
> die Domäne zu nehmen, lassen sich nicht anmelden.
1.
Es gibt bei Rechnern im Samba-Kontext keinen "Linuxnamen" und keinen
"Alias". Eventuell meintest Du hier
SAMBA_USERMAP_N
SAMBA_USERMAP_X_ACTIVE
SAMBA_USERMAP_X_EISNAME
SAMBA_USERMAP_X_WINNAME_N
SAMBA_USERMAP_X_WINNAME_Y
aus der Samba-Konfiguration.
Wie die Variablennamen, die Hilfe dazu und die Dokumentation aussagen,
handelt es sich hier um _User_ die sich anmelden und nicht um Rechner.
2.
Bei Samba als PDC spielt natürlich die SID (nicht "PDC-ID") eine Rolle.
Das wird auch in meiner Dokumentation beschrieben:
Startet Samba das erste Mal als PDC, so wird eine eindeutige SID
(Security ID) für diesen PDC erzeugt. Diese SID identifiziert die Domäne
eindeutig. Bei Integration von Clients in die Domäne wird diesen die SID
zugeordnet. Daraus ergibt sich, dass es nicht ausreicht, einen Client
als Domänenmitglied einfach identisch zu benennen, um wieder in die
Domäne zu kommen, da der Client diese SID nicht kennt. Das ist aus
Sicherheitsgründen absolut sinnvoll!
Setzt man bei irgendwelchen Tests später einmal SAMBA_PDC='no' und
danach wieder SAMBA_PDC='yes', kann es passieren, dass wiederum eine
eindeutige SID generiert wird, welche von der vorigen abweicht. Das
Ergebnis ist verheerend: Kein Client kommt mehr in die Domäne, da die
Clients ihren PDC mit einer anderen SID assoziieren. Es ist in diesem
Fall notwendig, alle Clients wieder neu in die Domäne zu integrieren.
Das gleiche Problem ergibt sich auch bei einer Namensänderung des PDC,
also genau dann, wenn man den Hostnamen des eisfair-Rechners ändert! Man
kann das Problem umgehen, indem man vor Änderung von SAMBA_PDC='yes' auf
SAMBA_PDC='no' und vor einer Namensänderung die SID abspeichert und nach
Änderung von SAMBA_PDC='no' auf SAMBA_PDC='yes' oder Änderung des Namens
wieder in Samba einliest. Siehe dazu
Save Samba SID to /root/MACHINE.SID
und
Restore Samba SID from /root/MACHINE.SID
3.
Ich habe hier schon einmal beschrieben, welche Samba-Dateien man bei dem
Transfer auf einen anderen Rechner mitnehmen muss (Thread "E1 und Samba"
in spline.eisfair):
[...]
Die Samba-User-Accounts stecken je nach Version in /etc/smbpasswd oder
/etc/passdb.tdb. Dazu gehören die korrespondierenden System-Accounts in
/etc/passwd und /etc/shadow.
Die Gruppen stecken im System in /etc/group. User-Mappings werden beim
Aufruf der Samba-Konfiguration nach den Vorgaben der
Konfigurations-Datei und Gruppen-Mappings bei Samba als PDC beim
Samba-Start erzeugt.
Bei Samba als PDC ist /etc/secrets.tdb mit zu sichern.
/etc/schannel_store.tdb ist zu sichern.
Bei hochgeladenen Druckertreibern sind /samba_printer_drivers,
/var/lock/samba/printing (unterschiedlich je nach Version) sowie
/var/lock/samba/registry.tdb (unterschiedlich je nach Version) zu sichern.
Bei Verwendung von Samba als Wins-Server sind /var/lock/samba/wins.dat
und /var/lock/samba/wins.tdb (unterschiedlich je nach Version) zu sichern.
Und eventuell weitere Dinge, die ich vergessen habe...
Ein Auszug aus der Sicherungs-Routine der aktuellsten Samba-Version, die
nur dazu dient, Samba in einer älteren Version auf dem selben Rechner
wieder herzustellen und deswegen die System-Accounts und Gruppen nicht
umfasst:
if [ -f /usr/sbin/smbd ]
then
samba_version=`cat /usr/share/doc/$package_name/version`
samba_intversion=`/usr/sbin/smbd -V | cut -d' ' -f2`
samba_full_version="$samba_version ($samba_intversion)"
# only save samba versions earlier 4.x
if ! `echo $samba_intversion | grep -q '4.'`
then
p_tarfiles='etc/fstab-smbfs
etc/secrets.tdb
etc/schannel_store.tdb
etc/smb.conf
etc/smbpasswd
etc/passdb.tdb
etc/smbwebclient
etc/user.map
root/MACHINE.SID
samba_printer_drivers
var/log/log.nmbd
var/log/log.smbd
var/log/log.smbinfo
var/log/log.winshook
var/lock/samba
var/spool/samba'
backup_tarname="/root/${samba_version}_${samba_intversion}_${EISDATE}_${EISTIME}.tar.gz"
echo "Saving your samba configuration in $backup_tarname:"
cd /
for p_tarfile in $p_tarfiles
do
if [ -e "$p_tarfile" ]
then
tarfiles="$tarfiles $p_tarfile"
echo " /$p_tarfile"
fi
done
tar czf $backup_tarname $tarfiles
echo "Done."
fi
mecho --info "Deinstalling old $package_name $samba_full_version ..."
fi
Generell sollte man beachten, dass man möglichst nur ein Samba aus der
selben Familie (interne Version) installiert, wenn man Teile davon
manuell sichert und zurück sichert...
--
der tom
[eisfair-team]
Mehr Informationen über die Mailingliste Eisfair