[[Vorlage(Archiviert)]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Rechte: Rechte für Dateien und Ordner ändern] [:Benutzer_und_Gruppen: Benutzer zum System hinzufügen und verwalten] }}} [[Inhaltsverzeichnis()]] 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. {{{#!vorlage 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: {{{#!vorlage 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 [:Samba_Server/smb.conf: smb.conf]-Artikel. Jetzt muss man die Samba-Dienste nur noch neu starten: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl sudo initctl restart smbd sudo initctl restart nmbd }}} {{{#!vorlage 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 {{{#!vorlage Befehl 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: {{{#!vorlage Befehl sudo adduser --disabled-login Benutzername }}} {{{#!vorlage 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: }}} {{{#!vorlage Befehl sudo useradd Benutzername }}} bzw. {{{#!vorlage Befehl 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 {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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]: {{{#!vorlage Befehl sudo useradd -s /bin/false PC1$ sudo smbpasswd -a -m PC1$ }}} {{{#!vorlage 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]: {{{#!vorlage Befehl 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]: {{{#!vorlage Befehl 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. {{{#!vorlage 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! }}} {{{#!vorlage Befehl sudo mkdir /home/samba/profile/USER sudo chmod 700 /home/samba/profile/USER sudo chown USER /home/samba/profile/USER }}} {{{#!vorlage 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. {{{#!vorlage 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 1. Den Punkt ''"System"'' auswählen und öffnen 1. Im nun erscheinenden Dialog auf den Button ''"Ändern"'' klicken 1. 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''. 1. Jetzt erscheint ein Dialog, der zur Eingabe eines Benutzernamens und Passwortes auffordert. Mit "root" und dem zugehörigen LINUX-Passwort (vom Server) anmelden. 1. 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. = Links = * [sourceforge:projects/gertranssmb3.berlios/files:Samba-HOWTO-Sammlung] {de} * [http://wiki.samba.org/index.php/Windows7 Samba und Windows 7] {en} * [https://www.bsdwiki.de/FreeBSD_-_Samba_PDC Samba PDC] {de} - umfangreiche Anleitung für FreeBSD, vieles lässt sich aber auf Linux übertragen * [:Samba:] {Übersicht} Übersichtsartikel # tag: Server, Netzwerk