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.