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.
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.