Hallo.
Ich habe vor ca. 2 Wochen angefangen mein NAS als PDC zu konfigurieren.
Mittlerweile läuft es und ich wollte für alle, die evtl. ähnliche Schwierigkeiten
haben wie ich, hier kurz festhalten wie ich diese gelöst habe.
Kurz zu meiner Umgebung:
Das NAS ist ein TS-259Pro+, derzeit mit FW V3.4.2 build 0331T.
Auf den PCs läuft Win XP Pro.
Angefangen habe ich mit dem Script von Eraser
(siehe: [Howto] Tipps und Tricks zu SAMBA incl. PDC-Erweiterung ).
Es hat mir zu einem schnellen ersten Erfolg verholfen.
An dieser Stelle von mir ein dickes Danke an Eraser für seine Arbeit!
Weitere nützliche Infos:
Samba 3.x als PDC mit ACLs
Ach ja und noch was vorweg:
Auch wenn ich in meinem Bericht ab und an darauf eingehe, dass ich Probleme mit besagtem Script hatte,
will ich damit nicht Eraser irgendwie am Zeug flicken.
Ich will lediglich versuchen anderen, die nach mir kommen und evtl. die selben Probleme haben, zu helfen.
Also los geht's.
Bitte daran denken, die Domäne anders zu benennen als die bisherige Arbeitsgruppe.
Wer das nicht macht, muss mit seltsamen Effekten im Netzwerk rechnen (wer findet
welchen Rechner?).
Der Domänenname steht übrigens in der smb.conf hinter dem Eintrag "workgroup".
Das erste worüber ich gestolpert bin, war der Ort für die Datei "storage.conf".
Das Script erwartet die Datei in /etc/config - bei mir liegt sie aber in /etc.
Leider hat das Script nicht gesagt, dass es die Datei nicht findet.
Ausgewirkt hat sich das so, dass das Script glaubte meine Daten lägen unter
/share/HDA_DATA obwohl meine Daten unter /share/MDO_DATA liegen.
Um das zu umgehen versuchte ich zuerst einen Symlink in /etc/config anzulegen,
der auf die Datei in /etc zeigt, aber mein Qnap hat diesen Link wieder gelöscht.
Ich musste also das Script patchen.
Das sieht bei mir nun so aus:
#STORAGE_CFG_FILE="${CONFIG_FOLDER}/storage.conf"
#
if [ -f "${CONFIG_FOLDER}/storage.conf" ]; then
STORAGE_CFG_FILE="${CONFIG_FOLDER}/storage.conf"
elif [ -f "/etc/storage.conf" ]; then
STORAGE_CFG_FILE="/etc/storage.conf"
else
echo "*** STORAGE_CFG_FILE not found."
echo "*** Looked in ${CONFIG_FOLDER}/storage.conf."
echo "*** Looked in /etc/storage.conf."
exit
fi
Alles anzeigen
Im Hauptmenü gibt es dazu sogar Ausgaben, die aber auskommentiert sind.
Ich habe sie wieder aktiviert um den Pfad jederzeit kontrollieren zu können.
Danach hat das Script die Dateien und Verzeichnisse an der richtigen Stelle angelegt.
Allerdings hat das Script intern das Anlegen von ein paar Domänengruppen auskommentiert,
weil diese auf anderen Qnaps wohl bereits angelegt waren ("ntdomcontrollers", "ntdomcomputer",
"Administrators", "Users").
Ich hatte ein paar seltsame Effekte (an die ich mich allerdings nicht mehr genau erinnere)
die verschwanden, nachdem ich diese Gruppen und die zugehörigen Mappings in dem Script
wieder aktiviert hatte.
So ungefähr zu der Zeit hat das Aufnehmen meines PCs in die Domäne und das einloggen
als Domänenuser funktioniert. Auch das Ausführen von Loginscripten ging.
Das Aufnehmen / bekannt machen des PCs in die Domäne habe ich über das Script erledigt.
Dann den PC über Windows mit Adminrechten an der Domäne anmelden.
Erstes Etappenziel erreicht.
Nun wollte ich die "Roaming Profiles" angehen, denn das war für mich der eigentliche Grund,
warum ich mein NAS als PDC aufbohren wollte.
Hier hat anfangs gar nichts geklappt und ich habe mir letztlich viel von der SAMBA-Doku zu
diesem Thema durchgelesen.
Lange Zeit bekam ich beim Login die Meldung, dass kein Profil auf dem Server zur Verfügung stehe.
Das erste was nicht stimmte war, dass in der smb.conf in der Sektion [global] der Eintrag
"logon path" einen falschen Parameter hatte. Bei mir stand \%N\profiles\%u (nur ein Backslash
am Anfang!).
Der Eintrag muss aber mit 2 Backslashes beginnen: \\%N\profiles\%u
In der Sektion [profiles] war der Eintrag "path" mit der Variablen %a versehen.
Das hat mein NAS irgendwie verwirrt - möglicherweise, weil unter /share ein Symlink
angelegt wird, der auch das %a enthält. Linux kann das %a ja nicht auflösen, das kennt
ja nur Samba.
Also habe ich den Eitrag auf "path = /share/MDO_DATA/Profiles" gesetzt.
Immer noch kein Zugriff.
In der Weboberfläche vom NAS müssen alle (d.h. die Gruppe "everyone") Schreib-Lese-Rechte
auf diese Freigabe erhalten. Dies legt quasi fest, wer denn über diese Freigabe "einsteigen"
darf. Und natürlich muss jeder in der Lage sein auf die Freigabe für die Profile zugreifen
zu dürfen. (Dies taucht in der smb.conf dann in der Sektion [profiles] unter "write list" auf.)
Die Zugriffe auf die einzelnen Profile werden dann als Zugriffsrechte für die einzelnen
Verzeichnisse im Dateisystem gesetzt.
Wer ACLs aktiviert hat, kann es auch über die Weboberfläche machen.
Verzeichnisse für die Profile hat das Script ja angelegt.
Nachdem ich erstmal wirklich allen RW-Rechte gegeben habe, hat der Zugriff auf die Profile
endlich geklappt. Das Einschränken der Rechte war dann einfach...
Die Variable %a habe ich dann in der Sektion [global] bei "logon path" mit angegeben.
"logon path = \\%N\profiles\%a\%u"
Jetzt auch im Dateisystem für %a entsprechende Directories anlegen, das wurde bei mir nicht
von Samba oder von dem Script gemacht - bei mir war das "WinXP".
Dorthin habe ich dann die ganzen (von Erasers Script angelegten) Profilverzeichnisse verschoben.
Daran denken, die Berechtigungen für das Verzeichnis WinXP auch für alle auf R/W zu setzen.
Auf diese Weise habe ich den Vorteil der separaten Profileordner für jedes OS, aber ich
verwirre mein NAS nicht mit dem %a in der Sektion [profiles].
Zweites Etappenziel erreicht.
Wer nun noch darüber nachdenkt, ob er dies auch von Win XP Home aus nutzen kann, sollte mal hier
nachsehen:
http://www.heise.de/artikel-archiv/ct/05/12/148/
http://www.heise.de/artikel-archiv/ct/05/15/050/
http://www.wintotal.de/tipparchiv/?id=1144
(Die ersten beiden sind die kostenpflichtigen Originalartikel, das letzte ist eine
darauf aufbauende Zusammenfassung mit ein paar weiteren Tools)
Letztendlich wollte ich noch von M$ den User Manager (usrmgr.exe) und den Server Manager
(srvmgr.exe) zum Laufen bekommen.
Die Version die man derzeit (Mitte 2011) bei M$ herunterladen kann, lies sich zwar installieren
und auch starten, aber sobald ich irgendwas machen wollte, bekam ich eine Fehlermeldung mit
dem Wortlaut "Ein an das System angeschlossenes Gerät funktioniert nicht."; teilweise gab es
auch Abstürze.
Mittlerweile habe ich herausgefunden, dass es wohl unterschiedliche Versionen dieser Programme
gibt. Vermutlich darin begründet, dass M$ seinen RPC-Mechanismus irgendwann zwischen NT 4 und
Win 7 geändert hat. Die Versionen die man derzeit bei M$ runterläd sind deshalb wohl für Vista
oder Win 7 (habe ich aber nicht ausprobiert).
Was ich ausprobiert habe, sind die Servertools, die damals von M$ mit den NT 4 Installations-CDs
ausgeliefert wurden - und siehe da, die funktionieren wie erwartet (wenn man sie mit ausreichenden
Rechten aufruft; also als Admin bzw. als Domänen-Admin).
Der Nutzen dieser Programme ist aber eh' eingeschränkt, da nicht alle Operationen aus
dem User-Mgr heraus funktionieren (z.B. hinzufügen in Gruppe). Er dient also eher als
Viewer denn als Management-Tool. Beim Server-Mgr sieht es wohl ähnlich aus (nicht getestet).
Dazu fehlen serverseitig vermutlich die notwendigen Scripte.
Die Einträge in der smb.conf dazu lauten
add user script; add group script; delete group script; add user to group script;
delete user from group script; rename user script; set primary group script;
add machine script; addprinter command; deleteprinter command; add port command;
add share command; delete share command; change share command;
Ausprobiert habe ich das allerdings nicht, da ich das was ich brauche gut über
die Web-Oberfläche oder Erasers Script machen kann.
Da meine Umgebung eher statisch ist und nur selten neue Kennungen oder neue Rechner
dazu kommen, war mir das nicht so wichtig.
Die Sektion [homes], die Erasers script angelegt hat, habe ich mittlerweile wieder auskommentiert,
da ich die Homedirectories für die User über den Wizard der Weboberfläche anlegen lasse, wenn ich
einen neuen User anlege.
Einen Automatismus wie mit [homes], der die Homedirectories "on the fly" anlegt finde ich eher
irritierend...
Nun galt es die bestehenden User (= Familienmitglieder) möglichst reibungslos auf den Domänenserver
umzuziehen. Ich versuchte über Systemsteuerung / Verwaltung / Computerverwaltung die Eigenschaften
der lokalen User zu editieren. Auf dem Tab "Profil" trug ich unter "Profilpfad" den Wert
"\\NAS\profiles\WinXP\domusr" ein. Unter "Verbinden von" trug ich "N:" und "\\NAS\domusr" ein.
Damit das ohne Fehlermeldung klappt, muss ich mich als Admin wenigstens einmal auf die Freigabe
"\\NAS\domusr" verbunden haben.
Natürlich waren alle Pfade auf dem NAS mit offenen Berechtigungen angelegt und leer.
Trotzdem wurde beim nächsten Login kein Server-Profil genutzt; aber die Fehlermeldung war eine andere
als ich sie jemals vorher gesehen hatte. Die Freigabe war gefunden worden, aber die Zugriffsrechte
hatten nicht gepasst.
Um dies zu lösen, trägt man in der Sektion [profiles] die Zeile "profile acls = yes" ein.
Nun kann man sich an einem Workgroup-PC mit einem servergestützten Profil anmelden.
Nach dem ersten Logout werden die lokalen Profildaten auf den Server kopiert.
Hinweis am Rande:
Falls jemand nur auf die Roaming Profiles aus ist, müsste ihm das völlig reichen.
Ein voller PDC mit zentraler Nutzerverwaltung ist dafür augenscheinlich nicht nötig.
Nachdem die Profildaten auf dem Server waren habe ich den PC als lokaler Administrator
über Arbeitsplatz / Eigenschaften / Computername / Ändern... in die Domäne gehoben
und neu gebootet.
Beim Einloggen hat er auf das existierende Profil zugegriffen, aber nicht alle Einstellungen
übernommen. vermutlich liegt das an den unterschiedlichen SIDs, die die User haben.
(In dem Profil sind Berechtigungen gesetzt.)
Also Profil auf dem Server wieder gelöscht...
Nächster Versuch:
PC des Users booten.
Als Domänen-User anmelden und ein leeres Profil für den User erzeugen lassen.
Abmelden.
Wer will kann hier zur Sicherheit booten - ich habe es gemacht...
Als Admin (lokaler Admin oder Domänenadmin - ist egal) anmelden.
Arbeitsplatz / Eigenschaften / Erweitert / Benutzerprofile - Einstellungen
Das alte lokale Profil auswählen und Button "Kopieren nach" drücken.
Unter "Kopieren nach" den Prad auswählen, unter dem gerade das leere Profil für den
Domänen-User angelegt wurde. Unter "Benutzer - Ändern" die Kennung des Domänen-User
angeben (zur Sicherheit auf "Namen überprüfen" klicken).
Kopiervorgang mit OK starten und warten. Je nach Größe des Profils kann das dauern.
Komischerweise kopiert das nur einen Teil des Profils - dafür stimmen da aber nun
die Berechtigungen. Als nächstes habe ich den beiden Profilverzeichnissen
Vollzugriff für den jeweis anderen User gegeben. Also dem Profil des lokalen Users
Vollzugriff für den Domänenuser und umgekehrt. Dann mit einem Sync-Tool (ich nahm
den Total Commander, der hat sowas mit an Bord) die fehlenden Dateien kopiert.
Bei zwei Files musste ich trotzdem noch mit Adminrechten nachhelfen - fragt mich nicht warum...
Beim Ausprobieren der Anwendungen war alles ok.
Nur ein paar Kleinigkeiten haben auf den Profilwechsel hingedeutet.
So hat z.B. Outlook nach dem Passwort für den Mail-Account gefragt, und Firefox
wollte wissen, ob er der Standardbrowser sein darf.
Einzig ProjecX hat seine Einstellungen verloren. Warum weiss ich noch nicht.
Vielleicht weil es eine Java-Anwendung ist...
Letztes Etappenziel erreicht.
(Puh!)
Am Ende hatte ich also das Script von Eraser von vorne bis hinten ziemlich gut verstanden
und auch einiges der Samba-Doku gelesen.
Letzteres kann ich übrigens nur jedem empfehlen, der über den Einsatz von
Samba als PDC nachdenkt. Wer das nicht macht, oder die Doku nicht versteht, wird vermutlich immer
wieder Probleme mit seiner Netzwerinstallation bekommen...
hth,
Quacksalber