Archiv/Samba Server PDC

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Ein Terminal öffnen

  2. Einen Editor öffnen

  3. Rechte für Dateien und Ordner ändern

  4. Benutzer zum System hinzufügen und verwalten

Inhaltsverzeichnis
  1. Konfiguration von Samba
  2. Benutzerkonfiguration
    1. Benutzer anlegen
    2. Benutzer freischalten
  3. PC Konfiguration
  4. Profil-Verzeichnisse anlegen
  5. Windows-PC zur Domäne hinzufügen
  6. Links

Diese Anleitung beschreibt beispielhaft die Einrichtung eines PDC (Primary Domain Controller) mit Hilfe von Samba 3. Ein PDC wird benötigt, um in Windowsnetzwerken eine zentrale User- und Dateiverwaltung zu erhalten. Dabei werden Benutzername und Passwort nicht vom Windowsrechner, sondern vom PDC überprüft. Zusätzlich hält der PDC auch sämtliche Profildaten für die Benutzer der Domäne bereit. Bevor man sich daran setzt diese Anleitung umzusetzen, sollte man grundsätzliche Kenntnisse in der Verwendung von Domaincontroller und Samba haben, und der Samba-Server muss natürlich installiert sein.

Hinweis:

Möchte man Windows 7 Clients der Domäne hinzufügen, muss mindestens die Samba Version 3.3.x installiert sein! Samba 4 ist nicht Thema des Artikels.

Konfiguration von Samba

Es empfiehlt sich die Standard-Konfigurationsdatei von Samba zu sichern, sollte man einen Fehler machen. Das macht man am besten in einem Terminal [1] mit dem Befehl:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.default 

Jetzt erstellt man nach der Vorlage (siehe unten) eine neue Konfigurationsdatei /etc/samba/smb.conf in einem Texteditor [2] mit Root-Rechten. Wer sich mit der Samba-Konfiguration nicht so gut auskennt, kann diese Konfiguration einfach übernehmen. Lediglich die Einträge "workgroup = domain" und "interfaces = eth0" müsste man an das Netzwerk anpassen.

[global]
   ## Server Identifikation - so meldet sich der Server im Netzwerk
   netbios name = PDC
   server string = PDC (%h)
   workgroup = domain
   ## Welche Netzwerkkarte soll von Samba benutzt werden?
   interfaces = eth0
   ## Sicherheits- und Passwort-Einstellungen
   security = user
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = no
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
   ## Domain-Einstellungen
   local master = yes
   preferred master = yes
   os level = 200
   domain master = yes
   domain logons = yes
   # Speichert das Windows-Profil im durch die Freigabe [profile] angegebenen Verzeichnis:
   logon path = \\%L\profile\%U
   # Soll das Windows-Profil dagegen im User-Home abgelegt werden, kann man "logon path" auf Standardeinstellung belassen:
   #logon path = \\%L\%U\profile
   # oder auch direkt im User-Home:
   #logon path = \\%L\%U
   logon drive = h:
   #Logon Script einkommentieren falls gewuenscht (muss im Netlogon-Verzeichnis abgelegt sein -> /home/samba/netlogon/)
   #logon script = login.bat
   # DEM Addon 2007-02-20: Empfehlenswert für servergespeichertes Windows Profil
   hide files = /desktop.ini/ntuser.ini/NTUSER.*/Thumbs.db/
   ## DNS-Einstellungen
   wins support = no
   # name resolve order = wins lmhosts host bcast
   ## Log-Einstellungen
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   ## Diverse Einstellungen
   ## DEM Addon 2007-02.20: Manchmal kann die Geschwindigkeit erhöht werden, wenn statt der ersten Zeile die zweite Zeile verwendet wird:
   socket options = TCP_NODELAY
   #socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
#======================= Share Definitions =======================
[homes]
   comment = Home Directories
   browseable = yes
   valid users = %S
   writeable = yes
   create mode = 0600
   directory mode = 0700
[profile]
   comment = Profildateien
   path = /home/samba/profile
   guest ok = yes
   browseable = no
   create mask = 0600
   directory mask = 0700
   writeable = yes
   # DEM Addon 2007-02-20: Folgende Zeile ist wichtig für Servergespeichertes Profil
   # um Probleme mit z.b. desktop.ini unter Windows zu beheben.
   profile acls = yes
[netlogon]
   comment = Network Logon Service
   path = /home/samba/netlogon
   guest ok = yes
   writeable = no

Für die Details der Konfiguration siehe den smb.conf-Artikel.

Jetzt muss man die Samba-Dienste nur noch neu starten:

sudo /etc/init.d/samba restart 

Speziell unter Ubuntu wird das klassische SysV-Init-System nach und nach durch Upstart ersetzt. Die Datei /etc/init.d/samba ist ab Ubuntu 10.04 Lucid Lynx nicht mehr vorhanden. Ein Neustart des Samba-Servers wird nun wie folgt ausgeführt:

sudo initctl restart smbd 
sudo initctl restart nmbd 

Hinweis:

Man sollte die Dienste unbedingt neu starten, da der Samba-WINS-Dienst nmbd jetzt eine ganz andere Rolle übernimmt.

Benutzerkonfiguration

Damit sich Benutzer auch am System anmelden können, müssen diese natürlich noch angelegt werden [4] bzw. schon vorhandene Benutzer in Samba aktiviert werden.

Benutzer anlegen

Einen neuen Benutzer legt man im Terminal [1] mit

sudo adduser Benutzername 

an.

Will man nicht, dass sich die Windows-Benutzer per ssh am Server anmelden können, kann man den Benutzer mit der Option --disabled-login anlegen:

sudo adduser --disabled-login Benutzername 

Hinweis:

Bei der o.g Methode kann es vorkommen, dass den angelegten Benutzernamen bei Windows-Klienten Kommata angefügt werden. Diese entstehen durch die GECOS-Angaben die bei Anlegen eines Benutzers mit adduser abgefragt werden.

Um dieses zu umgehen, kann man alternativ die Benutzer auch mit useradd anlegen. Die so angelegten Benutzer enthalten keine GECOS-Angaben und werden auch in Windows 7 ordnungsgemäß angezeigt. Für die beiden oberen Befehle müsste es dann so aussehen:

sudo useradd Benutzername 

bzw.

sudo useradd -s /bin/false Benutzername 

Als nächstes muss man den eben angelegten Benutzer noch freischalten.

Benutzer freischalten

Damit der gewünschte Benutzername auch in Samba verfügbar ist, muss man ihn noch mit

sudo smbpasswd -a Benutzername 

aktivieren. Nach der Aktivierung kann man diesen Benutzernamen verwenden, um auf die Sambadomäne zuzugreifen. Um einen PC in der Domäne anmelden zu können, muss der Benutzer "root" (nur) für Samba freigeschaltet werden. Das erledigt man wie oben beschrieben:

sudo smbpasswd -a root 

PC Konfiguration

Damit man einen PC mit Microsoft Windows auch in der Domäne anmelden kann, muss man ein Maschinenkonto für den PC am Sambaserver anlegen. Das geschieht am besten mit den folgenden Befehlen [1]:

sudo useradd -s /bin/false PC1$
sudo smbpasswd -a -m PC1$ 

Hinweis:

Hierbei ist darauf zu achten, dass "PC1" mit dem Netbios-Namen des PCs übereinstimmt, den man in der Domäne anmelden will, und dass ein $-Zeichen an den Namen angehängt wird

Profil-Verzeichnisse anlegen

Damit servergespeicherte Profile mit Samba funktionieren, muss man das Verzeichnis /home/samba und die zwei Unterverzeichnisse netlogon und profile anlegen [1]:

sudo mkdir /home/samba
sudo mkdir /home/samba/netlogon
sudo mkdir /home/samba/profile 

Jetzt müssen noch die Berechtigungen für die Verzeichnisse korrigiert werden [3]:

sudo chmod 777 /home/samba
sudo chmod 755 /home/samba/netlogon
sudo chmod 777 /home/samba/profile 

Im Verzeichnis profile muss jetzt für jeden Benutzer ein Verzeichnis angelegt werden, das genauso benannt wird wie der Benutzername lautet. Danach müssen noch Dateirechte sowie Besitzer des Verzeichnisses angepasst werden. Die Gruppenzugehörigkeit des Verzeichnisses ist egal, da nur der Benutzer Rechte für dieses Verzeichnis bekommt.

Hinweis:

Bei Verwendung der Befehle weiter unten ist darauf zu achten, dass USER durch den Benutzernamen des Benutzers ersetzt wird, dessen Profilverzeichnis angelegt werden soll. Die Profilverzeichnisse bei Windows Vista und 7 müssen USER.V2 heißen!

sudo mkdir /home/samba/profile/USER
sudo chmod 700 /home/samba/profile/USER
sudo chown USER /home/samba/profile/USER 

Hinweis:

Tests mit Samba 3.6.3 zeigten, dass die Ordner von Samba selbständig angelegt werden sobald sich ein Benutzer das erste mal in der Domäne anmeldet. Dabei wird auch automatisch auf das korrekte Format (USER/USER.V2) geachtet. Daher ensteht keine Fehlermeldung wenn sich ein Benutzer von zwei unterschiedlichen Systemen (Win2k & Vista/7) anmeldet.

Windows-PC zur Domäne hinzufügen

Nachdem man jetzt einen Domaincontroller für ein Windows-Netzwerk zur Verfügung hat, kann man Windows-PCs in der Domäne anmelden. Danach werden Benutzerdateien inkl. des Eigene Dateien-Ordners auf dem Server gespeichert und der Benutzer kann sich auf jedem Windows-PC anmelden und bekommt seine Einstellungen und Dateien zur Verfügung gestellt.

Hinweis:

Um einen Windows-PC in der Domäne anzumelden, muss man sich am Windows-PC mit "Administrator"-Rechten oder bei Windows XP mindestens mit "Hauptbenutzer"-Rechten anmelden.

  1. "Systemsteuerung" öffnen

  2. Den Punkt "System" auswählen und öffnen

  3. Im nun erscheinenden Dialog auf den Button "Ändern" klicken

  4. Im nächsten Dialog kann man unten zwischen den Punkten "Arbeitsgruppe" und "Domäne" wählen. Den Punkt "Domäne" auswählen und den Wert der Variable "workgroup" der smb.conf eintragen. In diesem Beispiel wäre das domain.

  5. Jetzt erscheint ein Dialog, der zur Eingabe eines Benutzernamens und Passwortes auffordert. Mit "root" und dem zugehörigen LINUX-Passwort (vom Server) anmelden.

  6. Es erscheint eine Willkommensmeldung für die neue Domäne

Bei Microsoft Windows XP Professional kann es vorkommen, dass die Domäne nicht gefunden wird. Abhilfe schafft hier, das Netzwerkkabel zu trennen, den Computer zu irgendeiner neuen Arbeitsgruppe hinzuzufügen und neu starten. Nachdem der Computer neu gestartet wurde, das Netzwerkkabel wieder anschließen und wie oben beschrieben den Domänenbeitritt durchführen.

Wird bei Windows 7 die Domäne nicht gefunden oder konnte die Verbindung nicht hergestellt werden, dann helfen folgende Änderungen in der Registrierung ("Start/Ausführen/regedit"): Unter “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters” die Schlüssel

DWORD  DomainCompatibilityMode = 1
DWORD  DNSNameResolutionRequired = 0

setzen. Danach kann man Windows 7 der Domäne hinzufügen. Die Fehlermeldung

Changing the Primary Domain DNS name of this computer to "" failed. The name will remain "MYDOM". The error was:

The specified domain either does not exist or could not be contacted

kann ignoriert werden.

Tipp: Um nicht alle Änderungen in der Registry händisch durchzuführen - Registry-Datei Win7_Samba3DomainMember.reg vom Samba sourcecode: $SOURCE/docs-xml/registry/Win7_Samba3DomainMember.reg oder Samba-Wiki installieren.

Jetzt kann man im Anmeldebildschirm des Windows-PCs unter den Benutzername- und Passwort-Feldern in einem Dropdown-Menü den Namen der Domäne auswählen. Um sich an der Domäne anzumelden, muss in diesem Dropdownmenü der Name der Domäne ausgewählt sein und eine Benutzer/Passwort-Kombination, die auf dem Server gültig ist, eingegeben werden.