Samba als PDC in einer Windows Domäne
17.07.2008
07:49:34 Uhr29180 Aufrufe
12 Antworten
07:49:34 Uhr
12 Antworten
Hilfreich +1
Als Ersatz für einen Windows Server 2003 versuchte ich einen Samba Server einzusetzen.
Ich habe ca. 6-8 Stunden nach der richtigen Konfiguration gesucht. Haben Foren Beiträge gelesen, Tutorials angeschaut bis es funktioniert hat.
Damit andere User nicht den gleichen Aufwand betreiben müssen, schreibe ich ihr nieder wie ich vorgegangen bin.
Dazu verwende ich Ubuntu 8.04
Als erstes muss Samba installiert werden:
Sobald Samba fertig installiert wurde muss die Konfiguration vorgenommen werden.
Die Einstellungen von Samba werden in einer Datei gespeichert smb.conf.
Öffne die Datei /etc/samba/smb.conf mit root Rechten und konfiguriere die Datei nach deinen Bedürfnissen.
Beispiel Datei:
Auch in der smb.conf werden die Shares (Freigaben) angegeben.
Für die Domäne sind folgende Shares nötig:
Da die Konfigurationsdatei verändert wurde muss Samba jetzt das erste Mal gestartet werden oder neugestartet werden.
Bei jeder Änderung der Konfigurationsdatei wird ein Neustart von Samba empfohlen.
Damit die Namesauflösung wunderbar funktioniert empfehle ich einen eigenen DNS Server aufzusetzen.
Dafür verwende ich BIND.
Für das aufsetzten eines BIND DNS Server existiert bereits eine Anleitung.
DNS Server aufsetzen
Installiert und konfiguriert den DNS Server bevor ihr mit der Anleitung fortfahrt!
Um neue Gruppen hinzuzufügen muss folgender Befehl ausgeführt werden:
Danach können Benutzer zu dieser Gruppe hinzugefügt werden.
Das Hinzufügen neuer Benutzer benötigt 1 - 2 Schritte mehr als beim hinzufügen von Gruppen.
UNIX Benutzer hinzufügen
UNIX Passwort vergeben
Samba Passwort vergeben
Jeder Arbeitscomputer muss auch einen Benutzername haben, dies wird folgendermassen erstellt.
Der Computername ist der Windows Computername.
Das $ macht Linux klar, dass es sich um einen Arbeitscomputer handelt.
Auch dieser Benutzer muss zuerst aktiviert werden
Als nächstes müssen die notwendigen Ordner für den Betrieb von Samba erstellt werden:
Verzeichnisse erstellen
Rechte vergeben
Benutzerordner anlegen
Nachdem all diese Einstellungen übernommen worden sind, sollte der Windowsrechner ohne Probleme verbunden werden können. Dafür sind folgende Schritte nötig:
Damit danach der Login funktioniert muss in der Registry des Windowsrechners eine Änderung vorgenommen werden.
Und zwar muss folgender Schlüssel auf 0 geändert werden:
Die Registry Datenbank kann über Start->Ausführen->regedit geöffnet werden.
Empfehlenswert ist ein Backup von der Registry vor jeder Änderung!
Nach dem Ändern der Registry muss noch eine Option in der Verwaltung geändert werden.
Dazu öffne die Systemsteuerung->Verwaltung->Lokale Sicherheitseinstellungen
Wähle dort "Lokale Richtlinien->Sicherheitsoptionen" die Richtlinie:
>Microsoft-Netzwerk(Client): Unverschlüsseltes Kennwort an SMB-Sever von Drittanbieter senden
Aktiviere diese Richtlinie.
Wenn der Registrywert geändert wurde kann jetzt der Rechner zur Domäne hinzugefügt werden
Wenn jetzt alles richtig Funktioniert hat sollte nach dem Neustart die Anmeldung an die Domäne funktionieren
Die Anmeldescripte müssen im Windowsformat (.bat oder .cmd, etc.) vorliegen.
Wenn sich Fehler in meine Anleitung geschlichen haben, bitte melden!
Ich hoffe ich konnte anderen mit dieser Anleitung langes probieren und herumspielen ersparen.
Ich habe ca. 6-8 Stunden nach der richtigen Konfiguration gesucht. Haben Foren Beiträge gelesen, Tutorials angeschaut bis es funktioniert hat.
Damit andere User nicht den gleichen Aufwand betreiben müssen, schreibe ich ihr nieder wie ich vorgegangen bin.
Dazu verwende ich Ubuntu 8.04
Inhaltsverzeichnis
1. Samba installieren
Als erstes muss Samba installiert werden:
sudo apt-get install samba
2. Samba konfigurieren
Sobald Samba fertig installiert wurde muss die Konfiguration vorgenommen werden.
Die Einstellungen von Samba werden in einer Datei gespeichert smb.conf.
Öffne die Datei /etc/samba/smb.conf mit root Rechten und konfiguriere die Datei nach deinen Bedürfnissen.
2.1. Beispiel Konfiguration
Beispiel Datei:
[global]
server string = Samba Server
workgroup = ohren
netbios name = work
log file = /var/log/samba/log.%m
guest account = nobody
preferred master = yes
local master = yes
security = user
logon script = /home/samba/netlogon/%G.cmd
domain master = yes
encrypt passwords = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
domain logons = yes
logon pfad = \\server\profile\%U
logon drive = H:
profile acls = yes
socket options = TCP_NODELAY
#socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
server string = Samba Server
workgroup = ohren
netbios name = work
log file = /var/log/samba/log.%m
guest account = nobody
preferred master = yes
local master = yes
security = user
logon script = /home/samba/netlogon/%G.cmd
domain master = yes
encrypt passwords = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
domain logons = yes
logon pfad = \\server\profile\%U
logon drive = H:
profile acls = yes
socket options = TCP_NODELAY
#socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
2.2. Datei Erklärung
Der Bereich [global] enthält sämtliche Einstellungen für den ganzen Server ||| server string | ist das "Bemerkungsfeld". |
| workgroup | das ist der spätere Domäne Name |
| log file | Pfad zum Logfile von Samba |
| logon script | Pfad zum Logonscript %G ist der Gruppename |
| encrypt passwords | Verschlüsselte Passwörter benützen |
| domain logons | ermöglicht das einloggen in die Domäne |
| profile acls | Notwendig um spätere Probleme mit Servergespeicherten Profile zu vermeiden |
| sockets options | Manchmal kann die Geschwindigkeit erhöht werden wenn die zweite Zeile verwendet wird |
2.3. Shared
Auch in der smb.conf werden die Shares (Freigaben) angegeben.
Für die Domäne sind folgende Shares nötig:
[homes]
comment = Home Drive
browseable = no
writeable = yes
create mask = 0700
directory mask = 0700
[profile]
comment = Profildaten
path = /home/samba/profile/%U/
valid user = %U
browseable = no
writeable = yes
create mask = 0700
directory mask = 0700
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = yes
writeable = no
browseable = yes
share modes = no
comment = Home Drive
browseable = no
writeable = yes
create mask = 0700
directory mask = 0700
[profile]
comment = Profildaten
path = /home/samba/profile/%U/
valid user = %U
browseable = no
writeable = yes
create mask = 0700
directory mask = 0700
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = yes
writeable = no
browseable = yes
share modes = no
| [NAME] | Leg den Freigabename fest |
| comment | ist der Kommentar zur Freigabe |
| writeable | darf die Freigabe beschrieben werden |
| browseable | ist die Freigabe im Browser sichtbar |
| create mask | chmod Zugriff bei einer neu erstellten Datei |
| directory mask | chmod Zugriff bei einem neu erstelltem Verzeichnis |
| valid user | Benutzer oder Gruppen welche Zugriff auf die Freigabe haben (Gruppen benötigen ein @ vor dem Gruppenname: @Users ) |
2.4. Samba starten / neu starten
Da die Konfigurationsdatei verändert wurde muss Samba jetzt das erste Mal gestartet werden oder neugestartet werden.
Bei jeder Änderung der Konfigurationsdatei wird ein Neustart von Samba empfohlen.
sudo /etc/init.d/samba start
sudo /etc/init.d/samba restart
3. DNS (Domain Name Server)
Damit die Namesauflösung wunderbar funktioniert empfehle ich einen eigenen DNS Server aufzusetzen.
Dafür verwende ich BIND.
Für das aufsetzten eines BIND DNS Server existiert bereits eine Anleitung.
DNS Server aufsetzen
Installiert und konfiguriert den DNS Server bevor ihr mit der Anleitung fortfahrt!
4. Benutzer / Gruppen
4.1. Gruppen
Um neue Gruppen hinzuzufügen muss folgender Befehl ausgeführt werden:
groupadd " Gruppenname "
Danach können Benutzer zu dieser Gruppe hinzugefügt werden.
4.2. Benutzer
Das Hinzufügen neuer Benutzer benötigt 1 - 2 Schritte mehr als beim hinzufügen von Gruppen.
UNIX Benutzer hinzufügen
useradd -g gruppe -c " Name " -s /bin/false Benutzername
| -g | Gruppe |
| -c | Kommentar |
| -s | Bash (Bei Samba User wird keine Bash benötigt |
| Benutzername | Benutzername |
UNIX Passwort vergeben
passwd Benutzername
Samba Passwort vergeben
smbpasswd -a Benutzername
4.3 Arbeitscomputer
Jeder Arbeitscomputer muss auch einen Benutzername haben, dies wird folgendermassen erstellt.
useradd -g PCs -d /dev/null -s /bin/false PC1$
| -g | Gruppenangehörigkeit |
| -d | Verzeichnis (Keines) |
| -s | Bash (Keine) |
| PC | Computername |
Der Computername ist der Windows Computername.
Das $ macht Linux klar, dass es sich um einen Arbeitscomputer handelt.
Auch dieser Benutzer muss zuerst aktiviert werden
smbpasswd -a -m PC1$
5. Ordner erstellen
Als nächstes müssen die notwendigen Ordner für den Betrieb von Samba erstellt werden:
5.1. Profile Verzeichnisse
Verzeichnisse erstellen
sudo mkdir /home/samba
sudo mkdir /home/samba/profile
sudo mkdir /home/samba/netlogon
sudo mkdir /home/samba/profile
sudo mkdir /home/samba/netlogon
Rechte vergeben
sudo chmod 777 /home/samba
sudo chmod 755 /home/samba/netlogon
sudo chmod 770 /home/samba/profile
sudo chmod 755 /home/samba/netlogon
sudo chmod 770 /home/samba/profile
5.2. Benutzerordner
Benutzerordner anlegen
sudo mkdir /home/samba/profile/BENUTZERNAME
sudo chmod 700 /home/samba/profile/BENUTZERNAME
sudo chmod 700 /home/samba/profile/BENUTZERNAME
6. Windows Rechner verbinden
Nachdem all diese Einstellungen übernommen worden sind, sollte der Windowsrechner ohne Probleme verbunden werden können. Dafür sind folgende Schritte nötig:
6.1. Registry ändern
Damit danach der Login funktioniert muss in der Registry des Windowsrechners eine Änderung vorgenommen werden.
Und zwar muss folgender Schlüssel auf 0 geändert werden:
Hkey_Local_Machine\System\ CurrentControlSet\Services\Netlogon\Parameters\requiresignorseal
Die Registry Datenbank kann über Start->Ausführen->regedit geöffnet werden.
Empfehlenswert ist ein Backup von der Registry vor jeder Änderung!
6.2. Sicherheitseinstellungen ändern
Nach dem Ändern der Registry muss noch eine Option in der Verwaltung geändert werden.
Dazu öffne die Systemsteuerung->Verwaltung->Lokale Sicherheitseinstellungen
Wähle dort "Lokale Richtlinien->Sicherheitsoptionen" die Richtlinie:
>Microsoft-Netzwerk(Client): Unverschlüsseltes Kennwort an SMB-Sever von Drittanbieter senden
Aktiviere diese Richtlinie.
6.3 Rechner zur Domäne hinzufügen
Wenn der Registrywert geändert wurde kann jetzt der Rechner zur Domäne hinzugefügt werden
- Start->Systemsteuerung->System öffnen
- Zum Reiter "Computername" wechseln
- Button "Ändern" drücken
- Option auf "Domäne" ändern
- Domäne Namen eingeben -> Workgroup in der smb.conf
- Computername auf den zuvor festgelegten Name (z.B. PC1) ändern
- Danach alle Fenster mit "OK" bestätigen und Rechner neu starten
Wenn jetzt alles richtig Funktioniert hat sollte nach dem Neustart die Anmeldung an die Domäne funktionieren
7. Anmeldescripte
Die Anmeldescripte müssen im Windowsformat (.bat oder .cmd, etc.) vorliegen.
8. Abschliessend
Wenn sich Fehler in meine Anleitung geschlichen haben, bitte melden!
Ich hoffe ich konnte anderen mit dieser Anleitung langes probieren und herumspielen ersparen.
aiscom schreibt am 30.12.2008 um 14:13:17 Uhr
Hallo!
Wirklich gut aufgebaute Hilfe.
Ein Standard Anmeldescript als Muster wäre noch die Krönung.
Leider läuft die Sache bei mir noch nicht, da ich immer beim Anmelden den Fehler bekomme, das die Serverseitig gespeicherten Profile nicht gefunden werden. Als Fehlermeldung erscheint, das der Netzwerkpfad nicht gefunden wird.
Wirklich gut aufgebaute Hilfe.
Ein Standard Anmeldescript als Muster wäre noch die Krönung.
Leider läuft die Sache bei mir noch nicht, da ich immer beim Anmelden den Fehler bekomme, das die Serverseitig gespeicherten Profile nicht gefunden werden. Als Fehlermeldung erscheint, das der Netzwerkpfad nicht gefunden wird.
twomoreoptions schreibt am 24.02.2009 um 12:28:14 Uhr
Ich habs genauso gemacht, Registry ändern war bei uns allerdings nicht notwendig. Vorgangsweise noch von unserer eigenen alten Debiane bekannt 
Das mit der Verschlüsselung von Passwörtern von XP-Rechnern (abdrehen) ist leider auch bei Win2003 Servern notwendig.
Wir haben einen bestehenden Domainserver unter Win durch einen neuen Ubuntu (8.10) ersetzt.
Die Client-Rechner (Win XP) mußten aus der (gleichnamigen Domain) genommen werden und neu in die neue Domain angemeldet (wie gesagt, auch dann, wenn sie gleich heißt wie die alte)
Leider muß man alle Userprofile neu anlegen - weiß nicht, ob da jemand eine bessere Methode weiß.
Allerdings: Wie man einen Domain-Administrator einrichtet, ist mir nicht so ganz klar, bisher haben wir das einfach lokal gelöst (auf Dauer aber kein Zustand) - Vorschläge?
Das mit der Verschlüsselung von Passwörtern von XP-Rechnern (abdrehen) ist leider auch bei Win2003 Servern notwendig.
Wir haben einen bestehenden Domainserver unter Win durch einen neuen Ubuntu (8.10) ersetzt.
Die Client-Rechner (Win XP) mußten aus der (gleichnamigen Domain) genommen werden und neu in die neue Domain angemeldet (wie gesagt, auch dann, wenn sie gleich heißt wie die alte)
Leider muß man alle Userprofile neu anlegen - weiß nicht, ob da jemand eine bessere Methode weiß.
Allerdings: Wie man einen Domain-Administrator einrichtet, ist mir nicht so ganz klar, bisher haben wir das einfach lokal gelöst (auf Dauer aber kein Zustand) - Vorschläge?
alex-w schreibt am 02.02.2010 um 10:27:07 Uhr
Zitat von twomoreoptions:
Allerdings: Wie man einen Domain-Administrator einrichtet, ist mir nicht so ganz klar, bisher haben wir das einfach lokal
gelöst (auf Dauer aber kein Zustand) - Vorschläge?
gelöst (auf Dauer aber kein Zustand) - Vorschläge?
domain admin users = root administrator
sollte Helfen.
Die Hohe Kunst wäre es jetzt das ganze an einen ldap Server zur Userverwaltung, anzubinden.
staffalex schreibt am 07.06.2010 um 17:51:55 Uhr
Hi,
ich werd's genau so auch mal ausprobieren.
Ich hab' aber auch mal in einem Tutorial gelesen, dass irgendwelche Standard-Windows-(AD-)-Gruppen mit einer speziellen SID von Hand in den Samba übernommen werden müssen, das ist hier gar nicht erwähnt. Ist das nur Nice-to-have oder war das früher mal so?
Aber vielleicht braucht man das wenn in der Domäne noch ein WindowsXY-Server läuft?
Fragen über Fragen.
Danke und Ciao
Alexander
ich werd's genau so auch mal ausprobieren.
Ich hab' aber auch mal in einem Tutorial gelesen, dass irgendwelche Standard-Windows-(AD-)-Gruppen mit einer speziellen SID von Hand in den Samba übernommen werden müssen, das ist hier gar nicht erwähnt. Ist das nur Nice-to-have oder war das früher mal so?
Aber vielleicht braucht man das wenn in der Domäne noch ein WindowsXY-Server läuft?
Fragen über Fragen.
Danke und Ciao
Alexander






12968schreibt am 11.08.2008 um 14:16:46 Uhr