Samba 3 als PDC für Windows Clients

Einfacher PDC Server

Einleitung / Abstrakt

Installationsanleitung für einen PDC Server mit Samba 3 auf Debian Sarge/Etch.

* Für wen ist das Howto? Dieses Howto richtet sich an Leute, die gerade aus der Windows Welt den Weg zu Linux / Debian gefunden haben. ;-)

* Was kann der Samba 3 PDC Server? Ein Samba 3 PDC Server kann einen Windows NT / 2000 Server (abgesehen vom ADS) komplett ersetzen. Allerdings muss man hier keine Lizenzkosten an Microsoft abdrücken. Er kann Anmeldeserver, Fileserver, Druckserver und Memberserver sein. In diesem Howto richten wir den Debian Samba Server als vollwertigen PDC (Primary Domain Controller) ein.

Installation von Samba 3

Als erstes müssen wir das Samba-Paket mit apt installieren. Ich installiere gleich smbfs mit, damit ich Verzeichnisfreigaben von anderen PCs / Servern in Linux mounten kann. Man kann es aber auch weglassen :-)

apt-get install samba smbfs

Anlegen der Gruppenstruktur

Jetzt legen wir eine Gruppenstruktur fest, die später für die Domäne gilt. Für die Samba Gruppen hänge ich immer ein S- vorne dran.

Die Gruppen

S-Admins: In dieser Gruppe sind alle Domänenadmins drin.
S-Users: Dort sind alle normalen User drin.
S-Computers: Hier werden alle Computerkontos abgelegt.

groupadd S-Admins
groupadd S-Users
groupadd S-Computers 

Anlegen der ersten Benutzer

Diese Benutzer haben auf dem Linux Server keine Rechte, um sich lokal anzumelden ! Diese User funktionieren nur für Samba.

Einen Admin:

useradd -g S-Admins -s /bin/false -d /dev/null Administrator

Einen normalen User:

useradd -g S-Users -s /bin/false -d /dev/null benutzer1

Natürlich können auch noch andere Gruppen und User nach diesem Schema angelegt werden.

Anlegen des Netlogon Verzeichnisses

Jetzt benötigen wir noch ein Verzeichnis, in das wir später die Logonscripte u. a. ablegen. Ich verwende dafür einfach das /home Verzeichnis.

mkdir -p /home/samba/netlogon

Konfiguration

Wenn die Installation erfolgreich beendet worden ist, können wir Samba konfigurieren.
Wir legen erstmal eine Sicherungskopie der Orginalkonfiguration an.

cp /etc/samba/smb.conf /etc/samba/smb.conf.orginal

Mein Lieblingseditor ist nano, deshalb:

nano /etc/samba/smb.conf -w

Nun können wir uns an die Konfiguration wagen.

  [global]
  
  # NetBIOS Name - Mit diesem Namen erscheint der Server in der Domäne.
  netbios name = SERVER
  
  # Gibt an wie später die Domäne heisst
  workgroup = MEINEDOMAIN
  
  # Gibt den Serverstring
  server string = %h server (Samba %v)
  
  domain master = yes
  local master = yes
  domain logons = yes
  os level = 65
  
  admin users = @S-Admins,root
    
  #Dieser Parameter muss auf user stehen !! Wer diesen Wert auf domain stellt, macht aus dem Server einen BDC/Member Server !!!
  security = user
  
  # Verschlüsselte Passwörter 
  encrypt passwords = true
  
  # Als Passwort Datenbank nehmen wir tdbsam. Es ist performanter als /etc/samba/smbpasswd
  passdb backend = tdbsam:/var/lib/samba/passdb.tdb guest
  obey pam restrictions = yes
  
  # Wichtig ! Ohne Wins hat es bei mir nicht funktioniert !
  wins support = yes
  
  # Diese Scripts sorgen dafür, dass User- und Computeraccounts automatisch angelegt werden, wenn man dazu berechtigt ist.
  add user script = /usr/sbin/useradd -m %u
  delete user script = /usr/sbin/userdel -r %u
  add group script = /usr/sbin/groupadd %g
  delete group script = /usr/sbin/groupdel %g
  add user to group script = /usr/sbin/usermod -G %g %u
  add machine script = /usr/sbin/useradd -s /bin/false -d /dev/null -g S-Computers %u
  
  [homes]
  comment = Home Directories
  browseable = no
  writable = yes
  create mask = 0775
  directory mask = 0775
  
  [netlogon]
  comment = Network Logon Service
  path = /home/samba/netlogon
  guest ok = yes
  writable = no
  share modes = no

Erster Restart

Jetzt starten wir den Samba Server neu.

Erst mit testparm smb.conf kontrollieren.

testparm

testparm gibt im Falle einer Fehlkonfiguration der smb.conf eine Meldung zurück.

Neustart.

/etc/init.d/samba restart

Eventuell anhand der Logs in /var/log/samba kontrollieren, ob der Server korrekt läuft.

User- & Computerkonten in Samba bekannt machen

Um einen User in die Sambadatenbank einzubinden, muss er bereits in der /etc/passwd angelegt sein, was wir oben bei der Vorbereitung bereits mit useradd gemacht haben.

Administrator anlegen:

smbpasswd -a Administrator

Administrator aktivieren:

smbpasswd -e Administrator

Benutzer anlegen:

smbpasswd -a benutzer1

Benutzer aktivieren:

smbpasswd -e benutzer1

smbpasswd wird jetzt nach einem Passwort fragen. Mit diesem Passwort melden Sie sich dann an. Vergessen Sie nicht, wenigstens einem Administrator ein Passwort zuzuweisen und zu aktivieren. Nur ein Administrator darf einen Computer in eine Domäne einbinden. Spätestens im nächsten Abschnitt wird dies benötigt (Siehe Abschnitt „Anlegen der ersten Benutzer“ weiter vorn in diesem HowTo).

Computerkonten

Normalerweise bindet man einen Rechner bei Windows XP über:

Arbeitsplatz [rechtsklick] --> Eigenschaften --> Computername --> Button Ändern

in die Domäne ein.

ACHTUNG !! Bei Windows XP muss folgender Schlüssel in den Lokalen Sicherheitseinstellungen (Programme → Verwaltung → lokale Sicherheitsrichtlinie) deaktiviert werden

Sicherheitseinstellungen –> Lokale Richtlinien –> Sicherheitsoptionen Domänenmitglied: Daten des sicheren Kanals digital verschlüsseln oder signieren (immer) : deaktivieren

Wenn man aber kein add machine script definiert hat, muss man den Computeraccount manuell anlegen.

useradd -g S-Computers -s /bin/false COMPUTERNAME$
smbpasswd -a -m COMPUTERNAME$

Danach sollte das Einbinden in die Domäne ohne Probleme über den Dialog möglich sein.

Fertig!!!!