Samba als PDC [Short-HOWTO]

shorty

shorty

Moderator
[Linux] Samba als Primary Domain Controller
Hi!

Ich will euch kurz zeigen, wie ihr den Samba-Server unter Linux als Primary Dommain Controller für Windows9x/NT/2000/ME einrichten könnt.

1. Vorbemerkungen

Bei der Verwaltung eines größeren Netzwerkes (10 - 50 Workstations) spielen Benutzerprofile eine wichtige Rolle.

Mit Samba unter Linux lässt sich mit wenig administrativem Zeitaufwand ein solches Netz aufbauen.

Das Beispiel wie es hier gezeigt wird, läuft unter SuSE Linux 7.2 mit Samba 2.2.0a.

Ich gewähre nicht für gelingen des Projektes, habe es aber selber schon ein paarmal ausprobiert und es hat bisher immer funktioniert

P.S.: Unter RedHat 7.0 mit Samba 2.2.0a läuft es genauso. Nur unter anderen Distributionen kann ich für nichts garantieren.


2. Planung des Netzwerkes

Eine der ersten Aufgaben eines jeden Netzwerkadmins ist es, das Benutzerkonzept genau zu planen. Das will heissen man sollte sich eine genaue Aufstellung machen, wie die einzelnen Benutzer, Rechner heißen.

Hier gehört jeder Benutzer in die Gruppe users um allen die gleichen Rechte zu vergeben.

3. Linux und Samba als Server

Samba ist kostenlos im Internet erhältlich und macht einen Linuxserver zu einem File-,Print- und Domänenserver.

Im Gegensatz zu WindowsNT/2000 Server haben Linux und Samba nicht so hohe Hardwareanforderungen und können auch auf einem Minimalsystem stabil und zügig arbeiten (hier: PII 266MHz, 96MB RAM, 2*3COM 10/100MBit Netzwerkkarten, onBoard Grafik).

Das ist aber nicht der einzigste Vorteil. Desweiteren muß man unter Linux kein Geld für teure Server-Lizenzen ausgeben.

Linux ist auch von Haus aus ein stabileres und ausfallsichereres System und hat auch gleich ein Mailserver (sendmail), Proxy-Server (squid), FTP Server (proFTP) und WebServer (Apache) integriert, was für kleinere Netze (bis zu 50 Workstations) völlig ausreicht.

Als letzten Punkt ist Linux einfacher und schneller zu konfigurieren als das komplizierte Active Directory System von Win2k oder das DNS-System von Windows.

4. Installation
Samba zu installieren ist eigentlich ein Kinderspiel. Einfach von www.samba.org downloaden und mit yast bzw. rpm installieren.

Als nächstes richten wir schonmal die Computerkonten ein:

4.1 Computerkonten einrichten
Für jede Workstation muss unter Linux auch ein Konto am PDC eingerichtet werden. Zuerst auf Linux, dann auf Samba-Ebene.
Hierzu begeben sie sich bitte auf eine Konsole und führen folgende Befehle aus:


code:--------------------------------------------------------------------------------
groupadd computers
--------------------------------------------------------------------------------
(eine neue Gruppe namens "computer" für die Workstations)
Der eigentlich Account für die WKS (Abkürzung für Workstation, ich hasse es so ein langes Wort zigtausend mal eingeben zu müssen__) wird mit:

code:--------------------------------------------------------------------------------
useradd -g computers -s /bin/false NAME$
--------------------------------------------------------------------------------
angelegt.
Schauen wir uns das ganze mal genauer an:
-g computers = Gruppenzuweisung
-s /bin/false = Shell (hier: für die WKS gibt es keine Shell, weil sich ja auch keiner direkt als Maschine einloggt)
NAME$ = Der WKS-Name im Netz. Das "$" - Zeichen muss auf alle Fälle drangehängt werden, da Samba dies nicht als Maschinenaccount akzeptiert.

So, jetzt müssen wir die Konten auch unter Samba einrichten. Hierzu gibt es folgende Funktion:

code:--------------------------------------------------------------------------------
smbpasswd -a -m NAME$
--------------------------------------------------------------------------------

Näher betrachtet heißt das:
-a = einen neuen Account anlegen
-m = einen Maschinenaccount anlegen
NAME$ = der WKS-Name im Netz. Auch hier muss das "$" - Zeichen dran, da die WKS unter diesem Namen im Linux-System existiert.

Jetzt haben wir die WKS zu Linux und zu Samba hinzugefügt.

5. Benutzereinrichtung
Jetzt müssen wir die Benutzer noch einrichten. Dies geschieht fast wie das einrichten der WKS-Konten. Es gibt aber den kleinen aber feinen Unterschied.


code:--------------------------------------------------------------------------------
useradd -g users -s /bin/false -d /home/USER USER
--------------------------------------------------------------------------------

Kurze Erläuterung der Begrifflichkeiten:
-g = steht wieder für Gruppe
-s = wie bei den WKS-Konten die Shell. Auch hier soll keine Möglichkeit bestehen, sich direkt am Server einzuloggen.
-d = Directory, in dem die Daten des Users gespeichert werden
USER = der Benutzername

Jetzt noch zur Samba-Ebene:

code:--------------------------------------------------------------------------------
linux:/#smpasswd -a USER
New SMB password: PASSWORT
retype new SMB password: PASSWORT
Added user USER

linux:/#smbpasswd -e USER
Enabled user USER
--------------------------------------------------------------------------------

Kurz gesagt:
-a = wieder für einen neuen Account.
Danach wird noch das Passwort für den Benutzer angelegt.
-e = den Benutzer aktivieren
USER = wieder der Benutzername

Jetzt haben wir die Vorarbeit geleistet. Die Benutzer sind angelegt und die WKS sind auch eingetragen.

6. Samba konfigurieren
Automatischer Start von Samba beim booten
Um den Samba-Server automatisch beim booten zu starten aktiviert man unter SuSE in der /etc/rc.config folgende Einstellung:


code:--------------------------------------------------------------------------------
START_SMB = "yes"
--------------------------------------------------------------------------------

Standard ist hier: "no"
In anderen Distributionen oder nach eigener Installation (nicht mit yast) sollte man folgende Zeile in die Datei /etc/init.d/boot.local anhängen:

code:--------------------------------------------------------------------------------
/etc/init.d/samba start
--------------------------------------------------------------------------------


Einer der schwierigeren Punkte ist das konfigurieren des Samba - Servers mittels /etc/smb.conf (in anderen Distributionen ist diese Datei auch unter /etc/samba/smb.conf zu finden)
Hierzu habe ich das Beispiel von www.linux-scene.de genommen und ein bischen modifiziert:

Am besten ist es, wenn ihr vorerst eine neue Datei dafür anliegt die in etwa da heisst: smb.conf.new oder sowas ähnliches, damit ihr nicht die Originaldatei überschreibt.

Hier die Konfiguration:

code:--------------------------------------------------------------------------------
[global]
________# Identifikation des Servers und der Arbeitsgruppe
________workgroup = test.de
________netbiosname = SAMBA_PDC
________server string = Samba %v (PDC) @ test.de

________# Grundeinstellungen für die einzelnen Shares. Um eine höhere Sicherheit zu gewähren, wird global erst einmal alles verboten und in den jeweiligen Shares die Rechte dann vergeben
________browseable = no
________public = no
________writeable = no
________guest ok = no

________# Die Log-Files für Samba
________log file = /var/log.%m

________# Die Definition des PDC´s
________domain master = yes
________prefered domain = yes
________domain logons = yes
________os level = 65
________security = user

________# LogON Einstellungen für Windows 9x/NT/2000/ME
________logon drive = Z:
________logon path = \SAMBA_PDCprofiles\%U.pds
________logon home = \SAMBA_PDCprofiles\%U
________logon script = %U.bat

________# Passwort Einstellungen
________encrypt passwords = yes
________update encrypted = yes
________password level = 4

________# Die Administratoren des PDC
________domain admin users = root
________
________# Performance Einstellungen
________short preserve case = yes
________max log size = 5000
________case sensitive = no
________default case = lower
________mangle case = no
________dead time = 15
________read raw = yes
________write raw = yes
________socket options = TCP_NODELAY
________oplocks = yes
________fake oplocks = no
________debug level = 2
________preserve case = yes
________getwd cache = yes

________# Drucker Einstellungen
________printing = cups
________load printers = yes

[homes]
________path = /home/%u
________comment = Benutzer-Verzeichnisse
________browseable = yes
________writeable = yes

[netlogon]
________path = /home/netlogon
________browseable = no
________writeable = no
________comment = NetLogON

[profiles]
________path = /home/profiles
________browseable = no
________writeable = yes
________comment = Benutzerprofile

[public]
________path = /home/public
________browseable = yes
________writeable = yes
________guest ok = yes
________public = yes
________comment = Öffentlicher Ordner
--------------------------------------------------------------------------------


Jetzt jede Options einzeln zu erklären würde den Rahmen dieses Tutorials sprengen. Hierzu lest ihr bitte unter www.samba.org die Dokumentation oder unter Linux:

code:--------------------------------------------------------------------------------
man smb.conf
--------------------------------------------------------------------------------


So, jetzt hätten wir Samba konfiguriert und müssen ihn nur noch starten.
Hierzu kopiert ihr die Orginal
code:--------------------------------------------------------------------------------
smb.conf nach smb.conf.save
und
smb.conf.neu nach smb.conf
--------------------------------------------------------------------------------

Um Samba zu starten führt ihr folgenden Befehl aus:

code:--------------------------------------------------------------------------------
linux:/#/etc/init.d/samba start oder
linux:/#/etc/init.d/smb start
--------------------------------------------------------------------------------

Euer Samba Server sollte jetzt starten.

7. Windows - Arbeitsplatz anbinden
In meinem Beispiel benutze ich einen Win2k - Pro Arbeitsplatz.

Um jetzt einen Windows Rechner an den PDC anzubinden muss man wie folgt vorgehen:
Über Systemsteuerung, System, Registerkarte Netzwerkidentifikation öffnet man die Eigenschaften.
Anstelle der Arbeitsgruppe aktiviert man nun die Domäne und gibt die Domäne an. (hier: test.de)
Danach wird man aufgefordert einen berechtigten Benutzer und Passowrt anzugeben um den Rechner an der Domäne anzumelden. Hierzu muss man seit Samba 2.2.0 den root Benutzer angeben.
!WICHTIG: root muss auch als Benutzer bei Samba eingetragen sein.

Wenn jetzt ein Bildschirm: Willkommen in der Domäne test.de erscheint habt ihr es geschafft.

Das Tutorial werde ich nochmal schreiben und noch mit Bildern versehen. Sobald ich fertig bin, bekommt ihr von mir die URL.__

Viel Spaß beim einrichten und benutzen des Samba Servers als PDC :bounce:

Der Autor bin natürlich nicht ich, sondern Christian Meissner. Zu finden ist dieser Artikel auf www.linux-scene.de!
 
Zuletzt bearbeitet:
respekt!

wenn du das echt selbst getippt hasst, kann ich echt nur sagen :respekt: !!!!!!
das solltest du ausbauen... :D

netten gruss Andre!
 
nein, sorry...ich würde mich hier an falschem Lobe laben....ich hab des net geschrieben! Ich hab es aber verwendet und kann nur sagen, es funktioniert! Aus diesem Tutorial wird man wirklich schlau!!!

shorty :bounce:
 
Die Anleitung für den Samba-PDC ist Super!
Einige Optionen kannte ich auch noch nicht.

Ich habe da aber noch ein paar Ergänzungen:
1. Performance
socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY

2. Passwort ändern für User, Einbinden von Rechnern in die Domäne
Mit Hilfe dieser Einstellungen kann ein jeder User selber sein Passwort ändern. Ausserdem muss man neue Rechner nicht mehr extra beim Server anlegen, sondern kann den Rechner genauso komfortabel und automatisch in die Domäne einhängen als ob man einen WinNT-Server da stehen hätte:
character set = ISO8859-15
add user script = useradd -d /tmp -s /dev/false %u
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Reenter*new*password* %n\n *Password*changed*
unix password sync = Yes

Quellen:
http://www.linuxbu.ch
http://samba.sernet.de/skript.pdf
 
Zuletzt bearbeitet:
Dazu kann ich nur sagen :respekt:
macht weiter so. :]
 
autor

Der Autor dieses HowTos war Christian Meissner! Ich hatte vergessen ihn zu erwähnen! Erreichen könnt ihr ihn unter der Email **********!

Er beschwerte sich bei mir, weil ich seinen Namen nicht angab! Ich muss mich hier an dieser Stelle nochmals entschuldigen, denn ich hab es wirklich NUR vergessen, und ich habe nicht geschrieben dass der Artikel von mir war! War also keine Böse Absicht das ganze hier!

shorty?(

Diesen Vortrag gibts natürlich unter www.linux-scene.de
 
Zuletzt bearbeitet:
ich hab soweit das tutorial befolgt, aber irgendwie gibts ein paar probleme bei mir :D

ich habe samba Version 2.2.8a

ich kann mich unter windows nicht anmelden.

er sagt mir immer ich soll meine alten verbindunge zuerst beenden.
nur ich hab keine. zumindestens nicht das ich wüsste.

und die logs sind auch ncith gerade aussagekräftig.

an stelle von NAME$ hab ich tiwaz$ genommen.
so heißte eine wks, die scih anmelden soll.

an stelle von USER hab ich zeeman genommen.
damit soll man sich eigentlich anmelden.

nur windows mäckert halt immer rum.


und das mit dem zuerst-root-anmelden versteh ich auch nciht so ganz.
ich hab root mit smbpasswd hinzugefügt (muss es das selbe pw sein wie in linux selber?)
aber auch mit root kann ich mich nciht von windows aus anmelden.

ich hab windowsxp prof.
muss ich da ggf. in der smb.conf noch was umstellen (os level oder so)??

[edit]
also an der domäne konnte ich mich jetzt anmelden.
nach dem neustart geht's aber wieder los.
ich kann mich nciht an der domäne anmelden mit meinen user+pass (er sagt immer domänen-controller nicht erreichbar/computerkonto nicht gefunden. später nochmal versuchen)

warum?

wenn ich mich lokal angemeldet hab und dann über netzwerkumgebung auf den linux-samba zugreifen will kann ich mich mit meinem gewünschten user/pass-kombination anemdelden und krieg auch verbindung zu meinem home-ordner.
[/edit]


hoffe, mir kann einer helfen
Sebastian :rolleyes:
 
Zuletzt bearbeitet:
Versuche, den XP-Rechner wieder aus der Domäne auszuklinken, in dem Du den Rechner wieder einer Arbeitsgruppe zuordnest.

Wirf dann mit Hilfe des Befehls "userdel" evtl. angelegte Benutzer tiwaz$ (das ist wohl der Rechnername) und zeeman aus dem System und entferne mittels "smbpasswd -x tiwaz$" und "smbpasswd -x zeeman" aus der Samba-Passwort-Datei.

Im Abschnitt "[global]" der smb.conf müssen die Einträge

domain admin group = root, administrator
username map = /etc/samba/smbusers

stehen.

In der oben erwähnten Datei /etc/samba/smbusers trägst Du ein:
root = administrator, Administrator, ADMINISTRATOR

und dann musst Du dem Root noch ein Samba-Passwort geben:
smbpasswd -a root -e

Schliesslich bindest Du den XP-PC erneut in die Domäne ein.

Wenn das danach noch nicht geht, möchte ich, dass Du Deine smb.conf-Datei hier postest.
 
werd ich gleich machen, nur mit welchem usernamen soll ich mich dann anmelden?

es gibt ja dann quasi keine user mehr für samba, die sich anmelden dürfen (hab ja dann alle gelöscht)

der pc heißt tiwaz (unter windows, also muss ich den doch tiwaz$ nennen?! oder doch TIWAZ$? ich weiß ncith wie windows das sieht. mal schreibt der den groß, mal klein. je nach dem, in welchem fenster man in windows is)

der user, der sich anmelden soll, soll zeeman heißen.

ist erstmal nur testweise.
wenns läuft lässt es sich ja einfach ausbauen.

mfg
zeeman
 
so, es geht jetzt.

ich hab alles nochmal neu eingestellt wie im tutorial und jetzt gehts.

ich hab aber noch folgende sachen gemacht:
-XP-patch eingespielt, damit er den samba-PDC akzeptiert (samba emuliert nur eine 2k-pdc, xp erwartet aber einen xp-pdc)
-root als user mit smbpass hinzugefügt. nur dieser user kann pcs zur domain hinzufügen. (einfach googlen, link vergessen)
-den namen des computers in windows komplett klein geschrieben.
wenn man z.b. "Tiwaz" schreibt hat man mal groß, mal klein geschrieben tiwaz in windows stehen. wenn nur klein ist er definitiv nur klein
-ich habe nicht die anderen tipps (map etc) angewandt, weil es geht ja so
 
hi,

hat von euch jmd des schonmal mit Samba3.0.0beta* versucht??

ich bin grad dabei des zu realisieren, aber bis jetz happerts an den maschinen-accounts, ich bekomm da immer die meldung das in der Domäne kein maschinenaccount angelegt ist, obwohl einer da is ...


jmd ne idee??


Samba-Version: Samba3.0.0beta3
LDAP-Version. OpenLDAP2.1.9

WS-OS: Win2kSP3
ServerOS: RedHat 9.0


gruß
skydriver
 
hallo,

ich habe noch so diverse probleme damit bei meinem xp automatisch ein netzlaufwerk erstellt bekomme.

habe soweit eigentlich alles aus der doku befolgt.
user,gruppe einergerichtet und sonst eigentlich den rest auch. konnte mich auch problemlos in die domäne einbuchen, aber mein netzlaufwerk habe ich nicht bekommen.

kann mir jm helfen, wie ich am besten meinen fehler finden könnte. kann man eigentlich in irgendeiner log datei nachschauen, ob sich ein computer angemeldet hat oder das ein user versucht hat ein netzlaufwerk zu bekommen???

vielen dank im voraus.

wolle
 
ach sollte vielleicht noch schreiben welche os versionen ich verwende:

winxp sp1 und
redhat 9
 
Hast du den Parameter logon script = \\server-name\\netlogon\%U.bat gesetzt? Wobei %U.bat eine eigene Batch-Datei für jeden Benutzer erwartet (myuser.bat).

In deiner myuser.bat machst du dann folgenden Eintrag
NET USE Z: \\server-name\freigabe-name zum erstellen eines Laufwerkes, bzw NET TIME \\server-name /YES zum synchronisieren der Uhrzeiten.
 
prima,

das werd ich, sobald ich wieder zuhause bin, sofort mal ausprobieren.

gruß wolle
 
Sorry, wenn ich dumm frage : die rc.config finde ich nicht. Habe Susi 8.1. Ist die dann woanders ?
 
Moin!
Ich auch ein Problem...

Also erstmal möchte ich sagen, dass ich Linux Neuling bin. Ich verwende Suse Linux 8.2 Prof. und möchte einen SAMBA PDC aufsetzen, an dem ich mich per Windows XP einlogge. Jedoch wenn ich versuche der Domäne bei zu treten, kommt folgende Fehlermeldung:

Beim Versuch der Domäne "HOME.DE" beizutreten, trat der folgende Fehler auf:

Der Netzwerkpfad wurde nicht gefunden.


Meine smb.conf schaut folgender Maßen aus:

[global]
#Identifikation des Servers und der Arbeitsgruppe
workgroup = HOME.DE
netbiosname = SAMBAPDC
server string = Samba %v (PDC) @ HOME.DE
password server = SAMBAPDC

#Grundeinstellungen für die einzelnen Shares
browseable = no
writeable = no
guest ok = no

#Die Logfils für Samba
log file = /var/log.%m

#Die Definition des PDC
domain master = true
preferred master = true
domain logons = yes
os level = 65
security = user
local master = yes
wins support = yes

#LogON Einstellungen für Windows 9x/NT/2000/ME
logon drive = Z:
logon path = \SAMBA_PDC\profiles\%U.pds
logon home = \SAMBA_PDC\profiles\%U
logon script = %U.bat

#Passwort Einstellung
encrypt passwords = yes
update encrypted = yes
password level = 4

#Performance Einstellungen
short preserve case = yes
max log size = 5000
case sensitive = no
default case = lower
mangle case = no
dead time = 15
read raw = yes
write raw = yes
socket options = TCP_NODELAY
oplocks = yes
fake oplocks = no
debug level = 2
preserve case = yes
getwd cache = yes

#Drucker Einstellungen
printing = cups
load printers = no

[homes]
path = /home/samba/%u
comment = Benutzer-Verzeichnisse
browseable = yes
writeable = yes

[netlogon]
path = /home/samba/netlogon
browseable = no
writeable = no
comment = NetLogON

[profiles]
path = /home/samba/profiles
browseable = no
writeable = yes
comment = Benutzerprofile

[public]
path = /home/samba/public
browseable = yes
writeable = yes
guest ok = yes
public = yes
comment = Öffentlicher Ordner

ein Computerkonto/Benutzerkonto mit dem Computer "winnie" (wie auch mein WIN XP Rechner heißt) und ein Benutzer "root" wurde durch smbpasswd eingerichtet. Ping auf den PDC funktioniert...

Wäre nett wenn ihr mir helfen könntet!!!

[edit]
Die Fehler beim logon sind mir schon aufgefallen. Funktioniert trotzdem nicht...
[/edit]

Schonmal danke!
 
Zuletzt bearbeitet:
okey, nach langem tüffteln hab ich es geschafft. Der einzige Fehler bestand darin, dass die Dienste nmbd und smbd nicht gestartet waren.

[edit]

Kann mir jemand, einfach und verständlich, erklären, wie ich diese beiden Dienste automatisch starten lassen kann?
 
Zuletzt bearbeitet:

Ähnliche Themen

Mit Windows auf Ubuntu Ordner erstellen

Samba 3.6.25 - OpenLDAP Setup

Dovecot: Geteilte Postfächer (Shared Mailboxes) funktionieren nicht

Samba 4.9.5-Debian - Kennwort von unix übernehmen

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

Zurück
Oben