![[Photo of the Author]](../../common/images/SebastianSasias.jpg) 
 
    original in es Sebastian Sasías
es to en Sebastian Sasías
en to de Hubert Kaißer
Er benutzt Linux seit einigen Jahren als Support-Werkzeug, um 
    technische Lösungen zu entwickeln.
    Er arbeitet an Gerätesteuerung mit Linux, Signalverarbeitung,
    Kommunikation und Netzwerksicherheit.
    
    Er ist Experte in Elektronik-Automatisierung und Informatik.
    Er hat unter GNU/GPL Free Software entwickelt.
    
![[Illustration]](../../common/images/article247/sambalogo.jpg) 
 
    Betrachten Sie einen Linux/Samba-Server, der als PDC funktioniert,
    bei dem jeder authentifizierte Benutzer auch Zugang zu zwei gemeinsamen
    Verzeichnissen hat, einer für öffentliche Bereiche und ein weiterer
    für den privaten Bereich. In diesem Artikel werden wir es als häufigen
    Fall betrachten, einen privaten Bereich zu bearbeiten mit Zugang zu
    einem persönlichen Verzeichnis für jeden Benutzer.
    
    
    
    Details, die zu beachten sind:
    
     Linux/Samba NetBIOS
    Name:SMBServer
    Windows Domain Name (Workgroup): THEDOMAIN
    Private Partition für jeden Benutzer: H: (Windows) =>
    /home/ (Linux-Server)
    Öffentliche Partition: P: (Windows) =>
    /home/public
    
    
    Bild 1 zeigt ein einfaches Netzwerk-Schema mit Clients, die mit
    Windows-Systemen laufen und die Ressourcen und Dienste des
    Windows NT/2000-Servers nutzen. Dieser Server kann durch einen
    Linux/Samba-Server ersetzt werden.
    
    

Arbeiten Sie folgende Schritte ab:
    
    1) Erzeugen Sie die Benutzer, die vom PDC-Server (Linux mit Samba)
    authentifiziert werden sollen.
    Benutzen Sie adduser, useradd oder
    userconf, Sie können auch irgendein Tool für Benutzeradministration
    mit GUI verwenden (Webmin, Linuxconf, Yast, usw.).
Stellen Sie sicher, daß die Benutzer nur zu Linux/Samba-Diensten Zugang haben
    (wenn Sie es so wollen), das setzt voraus, daß sie keinen Zugang zur 
    Linux-Shell haben, dafür müssen sie /dev/null als Home-Verzeichnis und /bin/false als Shell einstellen.
    
    2) Ändern Sie die Unix-Benutzer zu Linux/Samba/Windows-Benutzern, indem
    Sie die Datei smbpasswd erzeugen.
    
    cat /etc/passwd |
    mksmbpasswd.sh > /etc/samba/smbpasswd
    
    Eine andere Vorgehensweise ist, die folgenden Samba-Befehle für
    Benutzererzeugung und Passwörter auszuführen:
smbadduser
     smbpasswd
    
    Diese Befehle funktionieren ähnlich wie adduser und passwd.
    
    3) Editieren Sie die Samba-Konfiguration (smb.conf), indem Sie darauf
    achten, daß Sie die Kommentarzeichen für die Optionen einfügen 
    oder entfernen, die unten aufgeführt sind:
    
    
netbios name = SMBServer
    workgroup = THEDOMAIN
    server string = Linux Samba NT Server
    log file = /var/log/samba/%m.log
    max log file = 0
    security = user
    encrypt password = yes
    smb password file = /etc/samba/smbpasswd
    ssl CA certificate = /usr/share/ssl/.... (Kommentar entfernen)
    socket options = (Kommentar entfernen)
    local master = yes
    preferred master = yes
    domain master = yes
    domain logons = yes
    logon script = logon.bat
    wins support = yes
    
    [netlogon]
    comment = Initialization Scripts
    path = /home/netlogon
    read only = yes
    guest ok = yes
    browseable = no
    
    [home]
    comment = User Directory
    path = /home/%U
    browseable = yes
    writable = yes
    
    [public]
    comment = Public Directory
    path = /home/public
    browseable = yes
    writable = yes
    guest ok = yes
    create mask = 0777
    force create mask = 0777
    
    
    net time \\SMBServer /y 
    (Sie können auch /yes anstatt /y schreiben
    )
    
    net use H: \\SMBServer\home -y 
    (Sie können auch /yes or /y anstatt -y schreiben
    )
    
    net use P: \\SMBServer\public -y
    
    
Unter Windows 95/98/ME sollte es entsprechend folgender Kommandofolge konfiguriert werden:
Start => Setup => Control Panel=> Network =>Network Client for Microsoft Networks => Properties.
Auf sehr ähnlich Weise kann man Windows NT/2000-Clients
    (Workstation/Professional) konfigurieren, obwohl die Folge wahrscheinlich
    nicht die gleiche ist.
    
Klicken Sie die Option "Start session in Windows NT/2000
    domain" und fügen Sie folgende Domäne ein: THEDOMAIN (WORKGROUP).
    
Es wird eine vollständige Samba-Konfiguration vorgestellt, diese
    Datei wurde mit mehreren Linux-Distributionen getestet. Der Leser kann
    sie abändern, um die nötigen Ergebnisse, die in diesem Artikel vorgestellt
    werden, zu erhalten. Jeder vorgeführte Befehl ist korrekt kommentiert.
    
    Ein letzter Ratschlag für jene, die eine schnelle Samba-Konfiguration
    wollen: Sie können Webmin und/oder SWAT installieren, Werkzeuge, die
    es erlauben auf bequeme Weise zu konfigurieren.
#============================================================#
    # /etc/smb.conf
     #------------------------------------------------------------------------------------------------------------#
    # SAMBA Hauptkonfigurationsdatei
    # Dateiskelett für die Konfiguration, wählen Sie die
    # Parameter entsprechend Ihren Anforderungen.
     #------------------------------------------------------------------------------------------------------------#
    # Getestet mit den Systemen: Solaris und Linuxdistributionen:
     # RedHat 6.0, 7.0 und 7.1
     # Solaris 7
    # Slackware 7.x
    # Mandrake 6.1, 7.0 und 8.1
    # SuSe 7.2
     #------------------------------------------------------------------------------------------------------------#
    # Letzte Änderungen: 08/12/2001
    # Sebastian Sasias - sasias(at)linuxmail(dot)org
    #============================================================#
    #
    # Diese Datei wurde mit den Spezifikationen der Dokumentationen von
    
    # SAMBA, von smb.conf(5) manual entwickelt
     #
    # OBS: Nachdem Sie diese Datei ändern, testen Sie sie mit dem
    # Befehl
    # "testparm"
    #======================== Globale Optionen
    =======================#
     #
    # Allgemeine Konfiguration
     #
    [global]
 
    #......................................................................................................................................#
    # workgroup = NT-Domänen-Name oder Workgroup-Name, d.h.:
    THEDOMAIN 
    # PDC Domain 
    workgroup =
    THEDOMAIN
 
    #......................................................................................................................................#
    # Der Name mit dem diese Maschine den anderen bekannt sein wird.
    
     netbios name =
    SMBServer
 
    #......................................................................................................................................#
    # Dieser Kommentar wird im Fenster "Network Neighborhood"
    erscheinen
    server string = Samba Server de este
    lugar
 
    #......................................................................................................................................#
    # Diese Zeile ist aus sicherheitstechnischen Gründen wichtig,
    um Verbindungen mit ein paar bezeichneten Computern in einem lokalen
    Netzwerk zu erlauben. 
    # 
     
    # In diesem Beispiel wird Zugang für Computer des Netzwerks
    192.168.8.0 zugelassen 
    # (gewöhnlich C-Class) und vom "loopback"-Interface
    Wegen genaueren Details, lesen Sie die
    smb.conf
    # Manpages 
    # D.h.: Gemeinsame Ressourcen können nur von Computern
    aus benutzt werden, bei denen die IP-Adresse 
    # mit 192.168.8 und mit 127 beginnt (Kommentierter
    Satz in der folgenden Zeile)
    ; hosts allow = 192.168.8.
    127.
 
     #......................................................................................................................................#
    # Wenn Sie automatisch eine Druckerliste laden wollen,
    anstatt eine
    # Schritt für Schritt zusammenzuschreiben, benutzen Sie dies: 
    ; load printers =
    yes
 
     #......................................................................................................................................#
    # Überschreiben des Pfads zur printcap ist möglich
    
    ; printcap name =
    /etc/printcap
 
     #......................................................................................................................................#
    # Bei SystemV müssen die Namenseigenschaften von printcap für lpstat
     
    # erlauben, automatisch eine Druckerliste vom Spoolsystem
    von SystemV zu erhalten 
    # (eine schöne Wortredundanz
    :-)
    ; printcap name =
    lpstat
 
     #......................................................................................................................................#
    # Es sollte nicht nötig sein, das Drucksystem anzugeben, solange
    die Art nicht unstandardmäßig ist.
     # Gegenwärtig werden folgende Drucksysteme unterstützt:
    # bsd, sysv, plp, lprng, aix, hpux, qnx 
    ; printing =
    bsd
 
     #......................................................................................................................................#
    # Entkommentieren Sie dies, falls Sie ein Gastkonto wollen
    
    # Sie müssen dies in die /etc/passwd hinzufügen,
    ansonsten wird der Benutzer "nobody" benutzt 
    ; guest account =
    pcguest
 
     #......................................................................................................................................#
    # Das ist dazu da, um für jeden Computer, der mit dem Samba-Server
    eine Verbindung aufbaut, eine andere Logdatei
    zu verwenden, 
    #  
    log file =
    /var/log/samba/log.%m
 
     #......................................................................................................................................#
    # Eine Begrenzung für die Größe der Logdateien setzen (in
    Kb).
    max log size = 50
 
     #......................................................................................................................................#
    # Lesen Sie security_level.txt wegen mehr Details
    # Zeigt die Art, wie man Passwörter validieren soll
    
    # Benutzerebenensicherheit = Jeder Benutzer mit 
    diesem Passwort  (smbpasswd) 
    security = user
 
     #......................................................................................................................................#
    # Wenn security = server ist, dann wird über einen anderen
    Server validiert 
    # Benutzen Sie den Wert "password server" nur bei 
    security = server 
    # password server = [server authentication IP
    address].
    ; password server =
    <NT-Server-Name>
 
     #......................................................................................................................................#
    # Wenn Sie Passwortverschlüsselung verwenden wollen.
    Bitte lesen Sie ENCRYPTION.TXT,
    # Win95.txt und WinNT.txt in der Samba-Dokumentation.
    # Aktivieren Sie diese Option nicht, solange Sie nicht
    genug Informationen über diese Eigenschaft haben. 
    # Information: Win95, Win98 und WinNT senden 
    verschlüsselte Paßwörter. 
    encrypt passwords =
    yes
 
     #......................................................................................................................................#
    # Wenn Sie folgende Zeile aktivieren, sind Sie in der Lage,
    Ihre Konfiguration für jede
     # Maschine im Netzwerk anzupassen. %m wird durch
    den Netbiosnamen 
    # der verbundenen Maschine ersetzt.
    
    ; include =
    /usr/local/samba/lib/smb.conf.%m
 
     #......................................................................................................................................#
    # Die Dokumentation und einige beliebte "Tipgeber" meinen:
    möglicherweise finden Sie, daß  
    # diese Option eine bessere Leistung bringt. Versuchen
    Sie es! 
    # Lesen Sie speed.txt und die Manualpages wegen
    Details.
    socket options =
    TCP_NODELAY
 
     #......................................................................................................................................#
    # Samba-Konfiguration, um mehrere Netzwerkschnittstellen zu
    benutzen.
    # Wenn Sie mehrere Netzwerkschnittstellen haben, dann
    müssen Sie sie hier auflisten. Wie im Beispiel.
    # Lesen Sie die Manpage wegen Details.
    
    ; interfaces =
    192.168.8.2/24 192.168.12.2/24
 
     #......................................................................................................................................#
    # Browserkontrolloptionen: 
    # setzen Sie lokal "master = no", wenn Sie nicht wollen,
    daß Samba der Masterbrowser Ihres Netzwerks wird.
     local master =
    yes
 
     #......................................................................................................................................#
    # OS Level legt die Reihenfolge dieses Servers bei der
    Masterbrowserwahl fest.
    # Gewöhnlich sollte der vorgegebene Wert
    vernünftig sein.
    ; os level =
    33
 
     #......................................................................................................................................#
    # Domain Master legt Samba als den Domain Master
    Browser fest. 
    # Dies erlaubt Samba Dienste als Domain Controller laufen
    zu lassen und kann Maschinen in unterschiedlichen
     # TCP/IP-Subnetzen "betrachten"
    # Benutzen Sie dies nicht, wenn Sie schon einen
    Windows NT/2000-Domain Controller haben, der das erledigt. 
    domain master =
    yes
 
     #......................................................................................................................................#
    # Preferred Master veranlaßt Samba eine lokale Browserwahl
    beim Start zu erzwingen 
    # und gibt ihm eine leicht höhere Chance, die Wahl
    zu gewinnen. 
     # Wenn wir mehr als einen Server haben,
    wird der bervorzugte Master der "Favorit" sein,
     # wenn Clients in einer Liste nach einem Server
    suchen
     preferred master =
    yes
 
     #......................................................................................................................................#
    # Benutzen Sie dies nur, wenn Sie einen NT/2000-Server in
    Ihrem Netzwerk haben, und er als 
    # ein PDC (Primary Domain Controller) fungiert.
    
    ; domain controller =
    <NT-Domain-Controller-SMBName>
 
     #......................................................................................................................................#
    # Aktivieren Sie dies, falls Sie Samba als "domain logon
    server" für 
    # Windows 9x/Me Workstations verwenden wollen.
    
    domain logons =
    yes
 
     #......................................................................................................................................#
    # Wenn Sie "domain logons" aktivieren, dann müssen Sie ein
    Logon-Script
    # für jede Maschine oder für jeden Benutzer im
    Windows-Netwerk anlegen.
    
    # Für eine spezielle Logon-Batch für jeden Workstation
    computer 
    ; logon script =
    %m.bat
    
     # Für eine spezielle Logon-Batch für jeden Benutzer
     ; logon script =
    %U.bat
 
     #......................................................................................................................................#
    # Wo die Roving-Profile (nur für Win95 und
    WinNT) anzulegen sind. 
    # %L ersetzt den NetBIOS-Namen des Servers, %U
    ersetzt den Benutzernamen.
    
     # Sie müssen unten das [Profiles]-Share
    entkommentieren 
    ; logon path =
    \\%L\Profiles\%U
 
     #......................................................................................................................................#
    # Unterstützung für Windows Internet Name Service:
    
    # WINS-Unterstützung - sagt dem NMBD seinen
    WINS-Server zu aktivieren.
    # WINS-Protokoll, konvertiert Maschinennamen zu
    IP-Adressen, 
    # es funktioniert so wie DNS bei TCP/IP funktioniert.
     ; wins support =
    yes
 
     #......................................................................................................................................#
    # WINS Server - sagt den NMBD-Komponenten von Samba
    ein WINS-Client zu sein 
    # Samba-Server kann einer von diesen sein: WINS-Server
    oder WINS-Client, 
    # aber NICHT beide gleichzeitig
    .
    # Hier muß der WINS IP Server angegeben
    werden
     ; wins server =
    192.168.8.1
 
     #......................................................................................................................................#
    # WINS Proxy - sagt Samba Anfragen zu Namensauflösungen
    in Bezug auf einen WINS- 
    # fähigen Client, damit dies funktioniert muß
    mindestens ein WINS-Server im Netzwerk sein.
    # Der Defaultwert ist NO.
    ; wins proxy =
    yes
 
    #......................................................................................................................................#
    # DNS Proxy - sagt Samba, ob oder ob er nicht versuchen soll,
    NetBIOS-Namen über DNS-Lookups aufzulösen.
    # Das Default für Versionen bis 1.9.17 ist yes, das hat sich seit
    Version 1.9.18 zu no verändert.
    
    # Hier können wir Samba sagen, daß die
    Namensauflösung mit DNS oder nicht damit gemacht wird.
    # dns proxy = yes
     # dns proxy = no (Namensauflösung wird über die Datei
    lmhosts gemacht )
    #......................................................................................................................................#
    # Wenn das Logon-Laufwerk nicht angegeben wird, wird Z: automatisch
    gemounted.
     logon drive = P:
 
     #......................................................................................................................................#
    #Wenn ein Login passiert, wird dieses Script ausgeführt:
    /etc/samba/netlogon/SAMBA.BAT 
    # und mounten Sie Platteneinheiten indem Sie "net
    use" verwenden 
    logon script =
    SAMBA.BAT
    
     #====================== Share-Definitionen
    ========================#
    
     # Persönliches Verzeichnis für jeden Benutzer 
    # Unit P: 
    
    [homes]
     comment = Home Directories
     browseable = no
     writable = yes
     readonly = no
     force create mode = 0700
     create mode = 0700
     force directory mode = 0700
     directory mode = 700
    
     #------------------------------------------------------------------------------------------------------------#
    # Verzeichnis für vorläufige Dateien 
    # Unit T: 
    
    [tmp]
     comment = Tempora Files
     path = /tmp
     readonly = no
     public = yes
     writable = yes
     force create mode = 0777
     create mode = 0777
     force directory mode = 0777
     directory mode = 0777
    
    
    #------------------------------------------------------------------------------------------------------------#
    # CD-ROM im Server 
    # Unit L: 
    
    [cdrom]
     comment = CD-ROM
     path = /mnt/cdrom
     public = yes
     writable = no
    
    
    #------------------------------------------------------------------------------------------------------------#
    # Gruppe, entsprechend zu /home/grp.name_group
    
    # /home/user/group ist ein Link nach
    /home/grp.name_group 
    # grp.name_group hat die Rechte 770
    
    # Unit G: 
    
    [group]
     comment = Directory of Group
     path = /home/%u/group
     writable = yes
     readonly = no
     force create mode = 0770
     create mode = 0770
     force directory mode = 0770
     directory mode = 0770
    
    
    #------------------------------------------------------------------------------------------------------------#
    # Diese Einheit ist dazu da, um Applikationen abzuspeichern, 
    Installationssoftware, 
    # kommerzielle Software, usw. 
    # die Rechte von /net und /net/install sind 755, d.h.:
    hier ist root der Besitzer 
    # Unit N: 
    
    [net]
     comment = Directory Net
     path = /net
     writable = yes
     readonly = no
     force create mode = 0750
     create mode = 0750
     force directory mode = 0750
     directory mode = 0750
    
     #------------------------------------------------------------------------------------------------------------#
    [netlogon]
     comment = Logon Services in the Network
     path = /etc/samba/netlogon
     guest ok = yes
     writable = no
     locking = no
     public = no
     browseable = yes
     share modes = no
    
    
    #------------------------------------------------------------------------------------------------------------#
    #============================================================#
Das Samba-Paket und andere Werkzeuge für Linux sind in einer
    ständigen Entwicklung, daher ist es möglich, daß einige hier vorgestellte
    Details an Gültigkeit verlieren. Tatsächlich wurden während der
    Geschichte der Samba-Entwicklung einige Parameternamen in den 
    Konfigurationsdateien leicht abgeändert, mit dem Ziel, eine bessere
    Struktur zu erhalten.
    
    Wenn Sie während der Samba-Konfiguration einige Fehler über unbekannte
    Parameter erhalten, haben Sie zwei einfache Möglichkeiten, um das
    Problem zu lösen:
Samba ist ein Produkt, das unter der GPL verbreitet wird.
    Linux ist eine registrierte Marke von Linus Torvalds.
    Solaris ist ein Betriebssystem und registrierte Marke von Sun
    Microsystems.
    MS Windows ist ein Betriebssystem und registrierte Marke von
    Microsoft.
    Die Nutzung von Samba beinhaltet grosse Einsparnisse an Lizenzzahlungen
    ans Microsoft.