Content
Dateianzeige für samba (17.0.11)
usr/share/doc/samba/samba.txt
Das Samba-Paket
Dokumentation des Samba-Paketes für eisfair von Thomas Bork (E-MAIL
tom@eisfair.net), zusammengestellt mit Hilfe von Ralf Koester
(E-MAIL ralf@familie-koester.de). Die Dokumentation zu smbwebclient
stammt von Marcus Hochhuth (E-MAIL marcus.hochhuth@web.de), die
Dokumentation zu SAMBA_PRINTER_x_PDF_PERMS von Jan Mader (E-MAIL
jan.mader@jan-mader.de) und die Dokumentation zu DFS von Raphael
Gradenwitz (E-MAIL raphael@gradenwitz.ath.cx).
Version 17.0.7
Copyrights/Paket-Ersteller
Samba ist ein OpenSource-Projekt und unterliegt der GNU General Public
Licence. Die Heimat von Samba im WWW ist
http://www.samba.org
Wer deutsche Dokumentationen bevorzugt, wird vielleicht bei
http://www.samba.sernet.de
fündig.
Für eisfair habe ich Teile von Samba als Paket implementiert. Aus dem
rechtlichen Status von Samba leitet sich der rechtliche Status der
Implementierung her:
Samba steht unter der GPL.
Ich gebe weder eine Garantie auf die Funktionsfähigkeit des
Samba-Paketes, noch hafte ich für Schäden, z.B. Datenverlust, die durch
den Einsatz des Samba-Paketes entstehen.
Bitte unbedingt lesen:
http://www.pwr.ch/produkte/linux/gpl-ger.html
Einsatzgebiet
Was ist Samba?
Samba im Allgemeinen ist die Implementierung eines
Server-Message-Block-(SMB-) Protokoll-Servers, der auf fast jeder
existierenden Variante von Unix laufen kann. Microsoft-Clients können
dieses Protokoll benutzen, um auf Datei- und Druck-Services
zuzugreifen, die sich auf einem lokalen Unix-Rechner befinden, als wäre
dieser ein normaler Windows-Server.
Folgende Funktionen werden dabei konkret geboten:
* Samba kann als Freigabe-Server fungieren. Das bedeutet, ein
Samba-Server bietet die Freigaben (Shares) an, die normalerweise
ein Windows-Server anbietet. Eine Freigabe ist ein für bestimmte
User freigebenes Verzeichnis mit einem definierten Freigabenamen
auf dem Server. Dieser Dienst entspricht der Verzeichnis-Freigabe
eines normalen Windows-Arbeitsplatzes.
* Samba kann auf dem Server installierte Drucker bestimmten Usern zur
Verfügung stellen. Damit fungiert der Samba-Server auch als
Print-Server in Windows- Umgebungen. Dieser Dienst entspricht der
Drucker-Freigabe eines normalen Windows-Arbeitsplatzes. Es können
Druckertreiber auf dem Samba-Server hinterlegt werden, die beim
ersten Zugriff auf einen freigegebenen Drucker automatisch
installiert werden.
* Samba kann als WINS-Server dienen. Das bedeutet, dass Samba die
Registrierung der NETBIOS-Namenszuordnungen in einem
Windows-Netzwerk übernehmen kann.
* Samba kann als Primary Domain Controller (PDC) vergleichbar zu
einem Windows- NT-Server eingesetzt werden. Wenn Samba als
Domänen-Controller arbeitet, werden Benutzer-Accounts der Domäne
zentral verwaltet. Benutzer haben bei Anmeldung an der Domäne
netzwerkweit Ihr Arbeitsprofil zur Verfügung.
* Samba bietet noch einige weitere Dienste in einem Windows-Netz an.
Details kann man auf den oben genannten Internetseiten nachlesen.
Zusammengefasst bietet Samba weitestgehend die Funktionalität eines
Windows-(NT-4.0-)Servers.
ACHTUNG
Samba für eisfair beinhaltet nicht alle Bestandteile von Samba, sondern
wurde auf die wichtigsten Bestandteile reduziert!
Installation, Update und Konfiguration
Installation und Update
Das Samba-Paket wird derzeit wie jedes andere Paket über das eisfair-
Setup-Menü installiert:
Im Menü-Punkt
Package administration
wählt man
Install new package
, dann
Printer and File Services
und hier das Paket
Samba File Services
Über die entsprechende Nummer aus und bestätig mit Enter. Nachdem man
die Infomationsdatei gelesen hat, beantwortet man die Frage
Install (y/n)?
mit "y". Nach dem Bestätigen mit wird unmittelbar der Download
gestartet.
Sollte bereits eine frühere Version installiert sein, so wird Samba
angehalten, einige Sicherungsdateien werden angelegt und die alte
Version wird bis auf für das Update relevante Dateien deinstalliert.
Bei einem Update wird im Rahmen der Möglichkeiten die alte
Konfiguration übernommen, dabei wird auf neue, geänderte oder
hinzugefügte Variablen speziell hingewiesen. War Samba noch nicht
installiert, wird eine Beispiel-Konfigurationsdatei erzeugt.
Nach dem Download wird bei Neuinstallationen angeboten, die
Konfigurationsdatei zu editieren. Die Konfigurationsdatei wird vom
eingestellten Editor geöffnet und ist zum Editieren bereit. Für einen
ersten Start muss im Abschnitt "General Settings" unbedingt der
Parameter
SAMBA_WORKGROUP='WORKGROUP'
angepasst werden. Hier wird die Arbeitsgruppe von Windows eingetragen.
Hat man diese in seinem Windowsnetzwerk nicht geändert, so steht hier
bei deutschen Windows-Versionen "Arbeitsgruppe" und bei englischen
Versionen "WORKGROUP".
Nun speichert man die Änderungen und verlässt den Editor.
Die Frage "Activate Samba configuration now (y/n)?" beantwortet man mit
"y" und und bendet damit die Installation. Jetzt werden einige
Warnungen angezeigt, weil vom Installationsskript vorsichtshalber noch
einmal das Skript zum Beenden von Samba aufgerufen wird. Danach wird
das Skript zum Starten von Samba aufgerufen - hierbei sollten keine
Fehler auftauchen.
Bevor man sich das erste Mal am Samba-Server anmelden kann, müssen alle
User, die Zugriff haben sollen, als eisfair-System-User und als
Samba-User angelegt werden! Siehe dazu
Samba-User anlegen
weiter unten. Ein anonymer Zugriff ist ohne manuelle Änderungen nicht
möglich. Wer das Paket so manipuliert, dass ein anonymer Zugriff
möglich wird, muss damit rechnen, dass viele Dinge nicht mehr sauber
funktionieren. Ich werde niemandem helfen, der das tut.
Danach kommt der grosse Moment: Wir versuchen uns das erste Mal mit dem
Samba-Server zu verbinden. Dazu wechseln wir z.B. im Windows-Explorer
in die Netzwerkumgebung. Hier sollten wir als Server den Samba-Server
mit dem Namen unseres eisfair-Servers sehen. Wählen wir diesen an, so
sollten wir ein Verzeichnis mit dem Namen "public" sehen.
Wie man das Paket auf seine persönlichen Bedürfnisse anpasst, sehen wir
im nächsten Kapitel - der Beschreibung der Konfiguration.
Konfiguration über das Samba-Service-Menü
Die Konfiguration wird über das Samba-Service-Menü vorgenommen. Hierhin
gelangt man, wenn man sich als User "eis" an der Konsole anmeldet, bzw.
wenn man sich als User "root" an der Konsole anmeldet und hinterher
"setup" eingibt. Weiter geht es mit
Service administration
Samba
Folgende Punkte stehen zur Auswahl:
1: Read Samba Documentation
2: Samba Configuration Handling
3: Samba User Handling
4: Samba Server Handling
5: Samba Domain Handling
6: SMB Filesystem Handling
7: Send Message to SMB Hosts
0: Exit
Samba-Service-Menü Punkt 1: Read Samba Documentation
Um sich vor der Konfiguration erst einmal einen Überblick über die
Möglichkeiten des Samba-Paketes zu verschaffen, wählt man
1: Read Samba Configuration
Mit diesem Menü-Punkt wird die hier vorliegende Dokumentation zum Lesen
mit dem vom User konfigurierten Pager geöffnet.
Samba-Service-Menü Punkt 2: Samba Configuration Handling
Um die grundlegenden Samba-Funktionen zu konfigurieren, wählt man
2: Samba Configuration Handling
und hier
Edit Samba Configuration
Die auftauchende Frage
Since there is no eisfair configuration tool, you must edit the eisfair
configuration file /etc/config.d/samba with the editor joe.
You can get help by joe if you press 'Ctrl-K H'.
Continue (y/n)?
beantwortet man mit "y". Damit befindet man sich dann im Editor joe und
editiert damit die Datei
/etc/config.d/samba
Die verschiedenen Abschnitte dieser Datei werden im Folgenden
beschrieben:
Abschnitt "General Settings":
Der Abschnitt wird eingeleitet mit
#------------------------------------------------------------------------------
# General Settings
#
# Minimum requirement if SAMBA_MANUAL_CONFIGURATION='no' is to change
# SAMBA_WORKGROUP to workgroup name of your windows clients!
#
#------------------------------------------------------------------------------
und beinhaltet 2 Variablen:
START_SAMBA
Um Samba bei jedem Neustart automatisch starten zu lassen, muss
die Variable START_SAMBA den Wert "yes" erhalten. Wenn
START_SAMBA='no' ist, muss Samba von Hand gestartet werden. Dazu
ist im eisfair-Setup-Menü
Service administration
auszuwählen, dann
Samba
dann
Samba Server Handling
und hier
Start Samba
oder auf der Befehlszeile
/usr/sbin/service start samba
einzugeben.
Standardeinstellung: START_SAMBA='yes'
SAMBA_WORKGROUP
Damit die Freigaben in der unter Windows definierten
Arbeitsgruppe sichtbar werden (wo diese auf dem Client
eingestellt wird, kann man in der Dokumentation seines
Windows-Systems nachlesen), muss die Arbeitsgruppe für Samba mit
der unter Windows definierten Arbeitsgruppe übereinstimmen. Wenn
also unter Windows die Arbeitsgruppe "WORKGROUP" heisst, muss
diese Variable folgendermassen definiert werden:
SAMBA_WORKGROUP='WORKGROUP'
Standardeinstellung: SAMBA_WORKGROUP='WORKGROUP'
Abschnitt "Samba Manual Configuration":
Der Abschnitt wird eingeleitet mit
#------------------------------------------------------------------------------
# Samba Manual or Automatic Configuration
#
# Manual or Automatic Configuration of Shares and Printers
#
# ********************************* ATTENTION ******************************
# * *
# * If you set SAMBA_MANUAL_CONFIGURATION to 'no', the Settings *
# * in the Section 'Samba Advanced Configuration/Samba Shares' and *
# * in the Section 'Samba Advanced Configuration/Samba Printers' and *
# * in the Section 'Samba Advanced Configuration/Samba Mounts' *
# * don't have an Effect! *
# * *
# ******************************** ATTENTION *******************************
#
# If you set SAMBA_MANUAL_CONFIGURATION='no', following Shares automatically
# created for you:
#
# - a share with your eisfair-username and full access only for you
# - a share 'public' with full access for all eisfair-users
# - an unvisible share 'all' with full access for user root
# for the whole filesystem
# - shares for your printers in Cups or LPRng print system
# - a printer share for eisfax printer, if eisfax is installed
# - a printer share for pdf printing, if ghostscript is installed
#
#------------------------------------------------------------------------------
und beinhaltet nur eine Variable, die es aber in sich hat:
SAMBA_MANUAL_CONFIGURATION
Um so wenig wie möglich falsch zu machen, kann man eine
automatische Konfiguration von Samba durchführen lassen. Wenn
dazu
SAMBA_MANUAL_CONFIGURATION='no'
konfiguriert ist, werden automatisch folgende Freigaben
erstellt:
1. Eine Freigabe mit dem entsprechenden Samba-Usernamen und
vollen Rechten für jeden User, der sich bei Samba anmeldet und
natürlich vorher als eisfair- und Samba-User angelegt wurde
(siehe entsprechenden Punkt in der Dokumentation). Diese
Freigabe gibt das Heimat-Verzeichnisses des entsprechenden
Users frei, also /home/.
2. Eine Freigabe mit dem Namen "public" und vollen Rechten für
alle angelegten Samba-User. Das dazugehörige Verzeichnis
findet sich unter
/public
und wird bei Installation oder Update des Paketes automatisch
angelegt, wenn es noch nicht existiert.
3. Eine unsichtbare Freigabe mit dem Namen "all" und vollen
Rechten für den/die als "root" angemeldeten User. Über diese
Freigabe hat man Zugriff auf das gesamte Dateisystem von
eisfair, deshalb haben nur spezielle Benutzer darauf Zugriff
und die Freigabe wird in der Netzwerkumgebung nicht angezeigt.
Dieses Verzeichnis ist folgendermassen zu erreichen: Unter
Start/Ausfuehren
gibt man
\\eisfair\all
ein, wobei "eisfair" mit dem Namen zu ersetzen ist, den Ihr
bei der Konfiguration als Inhalt der Variablen
HOSTNAME
angegeben habt.
4. Es werden alle unter eisfair eingerichteten Drucker
automatisch für alle registrierten Samba-Benutzer freigegeben.
Hierzu muss das cups-, cups-client oder lprng-Paket installiert
und konfiguriert sein.
Die Einrichtung der von Samba freigegebenen Drucker auf
Windows-Clients wird in Abschnitt 5 beschrieben.
5. Bei installiertem eisfax-Paket wird automatisch die dafür
notwendige Druckerfreigabe erzeugt. Die Einrichtung der von
Samba freigegebenen Drucker auf Windows-Clients wird in
Abschnitt 5 beschrieben.
6. Bei installiertem Ghostscript-Paket wird automatisch eine
Drucker-Freigabe für einen PDF-Drucker erzeugt, der von den
Windows-Clients aus dafür verwendet werden kann, aus jeder
druckfähigen Anwendung heraus PDF-Dateien zu erzeugen. Die
Einrichtung der von Samba freigegebenen Drucker auf
Windows-Clients wird in Abschnitt 5 beschrieben.
Abschnitt "Samba Advanced Configuration":
Dieser Abschnitt wird eingeleitet mit:
#------------------------------------------------------------------------------
# Samba Advanced Configuration
#
# Please don't use this, if you are not very familar with Samba!
# Support for this Section is not available!
#
# Special General Settings
# and
# Individual Configuration of Shares and Printers
#
#------------------------------------------------------------------------------
Es gibt auf unbestimmte Zeit keinen Support für diese Sektion. Wer hier
Veränderungen vornimmt, sollte also genau wissen, was er tut!
Für die Spezialisten von Samba sei erwähnt, dass auch hier nur eine
kleine Anzahl an Variablen gesetzt werden kann. Die
Standardeinstellungen der automatischen Konfiguration mittels
SAMBA_MANUAL_CONFIGURATION='no'
reichen üblicherweise aus, um Samba in einer kleinen
Windows-Arbeitsgruppe laufen zu lassen.
Abschnitt "Samba Advanced Configuration/Special General Settings":
Der Abschnitt wird eingeleitet mit
#------------------------------------------------------------------------------
# Samba Advanced Configuration/Special General Settings
#------------------------------------------------------------------------------
ACHTUNG
Die Einstellungen in diesem Abschnitt wirken sich sowohl bei
SAMBA_MANUAL_CONFIGURATION='yes'
als auch bei
SAMBA_MANUAL_CONFIGURATION='no'
aus!
SAMBA_COMPAT
Kompatibilitätseinstellung für sehr alte und unsichere Clients
und Server.
Neuere Samba-Versionen erhöhen nach und nach die Sicherheit mit
sehr viel restriktiveren Einstellungen. Das kann zu Problemen
bei der Verbindung mit alten Clients und Servern führen. Wenn
SAMBA_COMPAT='yes'
konfiguriert wird, werden spezielle Optionen gesetzt, um
Verbindungen von diesen alten Clients und zu diesen alten
Servern zuzulassen. Dabei ist zu beachten, dass man dadurch
seinen Server sehr viel angreifbarer macht. Es sollte also
zuerst immer erst versucht werden, mit der Standardeinstellung
'no' zu leben und zu testen, ob alles normal funktioniert.
Leider gibt es dabei einen Haken: Wenn die Standardeinstellung
SAMBA_COMPAT='no'
gesetzt ist, löscht Samba unter Umständen den alten Lanman-Hash
(LM), der von Versionen von Windows bis zu Windows Me verwendet
wird. Er wird nur aus Gründen der Abwärtskompatibilität auch von
neueren Windows-Versionen unterstützt, aber für die
Authentifizierung von Konten nicht verwendet. Gibt es in der
Samba-Passwort-Datenbank einen Lanman-Hash, ist
SAMBA_COMPAT='no'
und wird das Samba-Passwort geändert, so wird das
Lanman-Passwort gelöscht und es existiert nur noch ein
NTLM-Passwort. Damit ist dann von einem alten Client keine
Anmeldung mehr möglich, wenn der nur LM kann, bis wieder
SAMBA_COMPAT='yes'
und das Samba-Passwort neu gesetzt wurde.
Standardeinstellung: SAMBA_COMPAT='no'
SAMBA_INSECURE
Unsichere Einstellung, alle Interfaces und alle Netze erlaubt.
Mit diesem Parameter wird ein unsicheres Verhalten von Samba
eingestellt. Damit werden Verbindungen auf allen Interfaces und
aus allen Netzen akzeptiert. Das ist zur Zeit die einzige
Möglichkeit, einen eisfair- Samba-Server mit DHCP zu betreiben.
Normalerweise ermittelt und berücksichtigt Samba beim Erstellen
einer neuen Konfiguration die konfigurierten Interfaces
(Netzwerkkarten) aus den Grundeinstellungen von eisfair. Es
werden also automatisch Verbindungen auf allen diesen
Netzwerkkarten zugelassen. Dieses Verhalten konnte bisher nur
mit den Optionen
SAMBA_INTERFACES
und
SAMBA_TRUSTED_NETS
beeinflusst werden. Wenn eisfair aber keine feste IP-Adresse hat
und sich diese per DHCP-Client zuweisen lässt, ist diese Art der
Konfiguration nicht möglich und es muss
SAMBA_INSECURE='yes'
gesetzt werden, damit Samba konfiguriert und gestartet werden
kann. Diese Einstellung bewirkt, dass Samba sich an alle
gefundenen Interfaces bindet und den Zugriff aus allen Netzen
erlaubt. Dabei werden die Einstellungen in
SAMBA_INTERFACES
und
SAMBA_TRUSTED_NETS
sowie die Einstellungen zu IP-Adressen und Netzen aus der base
ignoriert. Aus Sicherheitsgründen empfehle ich, dem
eisfair-Server immer eine feste IP-Adresse zuzuordnen und DHCP
bei einem Server nicht zu verwenden!
Standardeinstellung: SAMBA_INSECURE='no'
SAMBA_INTERFACES
Auf welchen Interfaces (Netzwerkkarten) soll Samba ansprechbar
sein?
Mit diesem Parameter wird eingestellt, auf welchen Interfaces
Samba auf Anforderungen reagiert. Samba ermittelt und
berücksichtigt beim Erstellen einer neuen Konfiguration die
konfigurierten Interfaces (Netzwerkkarten) aus den
Grundeinstellungen von eisfair und dem vlan Packet. Es werden
also automatisch Verbindungen auf allen diesen Netzwerkkarten
zugelassen. Möchte man bei mehreren Netzwerkkarten Samba aber
nur auf einem oder einigen dieser Interfaces laufen lassen,
so sind diese hier einzutragen. Die Angabe hat dabei in der
gleichen Form
IP/NETMASK oder IP/NETMASKBITS
zu erfolgen, wie sie auch in der base oder vlan Konfiguration
benutzt wird, also z.B.:
SAMBA_INTERFACES='192.168.6.1/255.255.255.0'
SAMBA_INTERFACES='192.168.10.1/24'
Mehrere Einträge sind durch ein Leerzeichen zu trennen. Diese
Angaben sollten unbedingt mit /etc/config.d/base oder
/etc/config.d/vlan und den dortigen Einträgen in
IP_ETH_x_IPADDR
IP_ETH_x_NETMASK
verglichen werden, da Samba bei falscher Angabe nicht mehr
startet! Die Einstellungen hier werden ignoriert, wenn
SAMBA_INSECURE
auf 'yes' gesetzt ist.
Standardeinstellung: SAMBA_INTERFACES=
SAMBA_TRUSTED_NETS
Von welchen Netzen aus ist der Zugriff auf Samba gestattet?
Mit diesem Parameter wird eingestellt, welche Netze auf Samba
zugreifen dürfen. Samba ermittelt und berücksichtigt beim
Erstellen einer neuen Konfiguration die internen Netze aus den
Grundeinstellungen von eisfair. Aus Sicherheitsgründen wird nur
Rechnern aus diesen Netzen ein Zugriff gestattet. Sollen Rechner
aus anderen Netzen zugreifen dürfen, müssen diese hier gesondert
konfiguriert werden. Es reicht dabei aus, nur die zusätzlichen
Netze anzugeben. Die Angabe hat in der Form
NETZWERKNUMMER/ANZAHL-DER-GESETZTEN-BITS-IN-NETMASK
zu erfolgen, also z.B. für Netze der Form 192.168.x.0:
SAMBA_TRUSTED_NETS='192.168.6.0/24'
Die Einstellungen hier werden ignoriert, wenn
SAMBA_INSECURE
auf 'yes' gesetzt ist.
Standardeinstellung: SAMBA_TRUSTED_NETS=
SAMBA_DEBUGLEVEL
Hier kann man den Grad der Anzahl der Fehlermeldungen der Samba-
Programme einstellen. Es kann ein Level von 0-10 angegeben
werden, wobei maximal 3 eingestellt werden sollte. Das ist nur
erforderlich, wenn Schwierigkeiten auftreten. Mit den Meldungen
unter /var/log/log.smbd und /var/log/log.nmbd lässt sich der
Fehler dann oft besser eingrenzen. Bei
SAMBA_DEBUGLEVEL='3'
und höher wird beim Zugriff auf Verzeichnis-Freigaben eine
NETBIOS-Nachricht mit von Samba ermittelten Daten an den
zugreifenden Rechner versendet:
%T ) Datum/Zeit
%d ) PID des Servers
%v ) Samba-Version
%h ) (Internet)Hostname des Servers
%L ) NETBIOS-Name des Servers
%N ) NIS Heimat-Verzeichnis
%p ) Pfad des NIS-Heimatverzeichnisses
%R ) Ausgehandeltes Protokoll-Level
%S ) Name der aktuellen Freigabe
%P ) Hauptverzeichnis der aktuellen Freigabe
%U ) Vom Client angeforderter Benutzername
%G ) Primaere Gruppe des angeforderten Benutzers
%u ) Name des effektiven Benutzers
%g ) Primaerer Gruppenname des effektiven Benutzers
%H ) Heimatverzeichnis des effektiven Benutzers
%I ) IP Adresse des Client-Rechners
%M ) (Internet)Hostname des Client-Rechners
%m ) NETBIOS-Name des Client-Rechners
%a ) Betriebssystem des Client-Rechners
Bei der Erzeugung von PDF-Dateien werden in der Benachrichtigung
per NETBIOS-Nachricht Debug-Informationen zur Ermittlung des
Dokumentnamens mit angezeigt. Ohne diese Informationen kann ich
bei Problemen nicht weiterhelfen, meldet Euch deswegen mit dem
genauen Wortlaut in der Newsgroup.
Ich rate dringend davon ab, Samba mit einem Debuglevel grösser 0
zu betreiben, wenn alles zufriedenstellend läuft. Das Schreiben
der Informationen kostet sehr viel Performance! Ausserdem soll
bestimmt nicht jeder die von Samba ermittelten Informationen
lesen. Die Einstellung ist für Administratoren zum Debuggen in
einer ruhigen Minute gedacht!
Standardeinstellung: SAMBA_DEBUGLEVEL='0'
SAMBA_MASTERBROWSER
Samba als Masterbrowser: 'yes' oder 'no'
Da der eisfair-Rechner bei vielen durchgehend läuft, ist es
mitunter sinnvoll, ihn auch als Masterbrowser einzusetzen. Ein
Masterbrowser ist in Windowsnetzwerken der Rechner, der eine
Liste aller verfügbaren SMB-Server führt, wozu alle Rechner mit
aktivierter Datei- und Druckerfreigabe gehören. Die
Windows-Clients erfahren also vom Masterbrowser, welche Rechner
mit aktivierter Datei- und Druckerfreigabe sich im Netzwerk
befinden. In Netzwerken mit einem NT-Server sollte man lieber NT
diese Aufgabe überlassen. In Netzwerken mit ein paar
WIN9x-Rechnern kann eisfair diese Aufgabe problemlos übernehmen.
Bei SAMBA_MASTERBROWSER='yes' gewinnt eisfair die Wahl zum
Masterbrowser gegen alle anderen Windowsmaschinen.
Standardeinstellung: SAMBA_MASTERBROWSER='no'
SAMBA_WINSSERVER
Samba als WINS-Server: 'yes' oder 'no'
Um NETBIOS-Namen in Windows-Netzen aufzulösen, gibt es zwei
Möglichkeiten. Die erste benutzt eine statische Auflösung mit
der Datei lmhosts und ist wie die DNS-Namensauflösung mit der
Datei hosts schwer zu pflegen. Deshalb wurde von Microsoft WINS
entwickelt:
W indows I nternet N ame S ervice
WINS hat den Vorteil, dass die NETBIOS-Namensauflösung per
gerichteter Anfrage an einen WINS-Server passiert und nicht
durch Broadcasts. Die WINS-Datenbank wird vom Server dynamisch
aufgebaut, hat aber den Nachteil, dass der Server in den
TCP/IP-Protokolleigenschaften auf jedem Client eingetragen
werden muss. Samba hat diesen Server teilweise implementiert und
damit steht er eisfair auch zur Verfügung.
Um eisfair als WINS-Server zu betreiben, ist
SAMBA_WINSSERVER='yes'
zu setzen und auf den Windows-Clients in den TCP/IP-
Protokolleigenschaften der Netzwerkkarte unter
/Start/Einstellungen/Systemsteuerung/Netzwerk/Lasche
Konfiguration/ TCP/IP auf der Lasche WINS-Konfiguration
"WINS-Auflösung aktivieren" auszuwählen. Unter WINS-Server
Suchreihenfolge ist dabei die IP-Adresse des eisfair- Rechners
zu hinterlegen, welche mit "Hinzufügen" übernommen werden muss.
Obwohl man hier nur die Wahl zwischen WINS ODER DHCP hat,
entbindet die Angabe der IP-Adresse des eisfair-WINS-Servers
nicht von einer korrekten TCP/IP-Konfiguration, entweder über
Angabe der IP-Adresse jedes Clients oder über DHCP. In
Netzwerken mit einem NT-Server, auf dem der WINS-Serverdienst
aktiviert ist, sollte man lieber NT diese Aufgabe überlassen.
Aber in Netzwerken mit ein paar WIN9x-Rechnern kann auch eisfair
diese Aufgabe problemlos übernehmen.
SAMBA_WINSSERVER='yes'
aktiviert diese Funktion (benötigt SAMBA_EXTWINSIP='').
Standardeinstellung: SAMBA_WINSSERVER='no'
SAMBA_WINSHOOK
(benötigt SAMBA_WINSSERVER='yes') Führe Aktionen aus, wenn sich
ein WINS-Client registriert: 'yes' oder 'no'
Wenn sich ein Client bei einem auf eisfair laufenden WINS-Server
registriert, können daraufhin spezielle Aktionen ausgelöst
werden.
Voraussetzung für die Ausführung dieser speziellen Aktionen ist
die Aktivierung dieser Variable mittels SAMBA_WINSHOOK='yes',
ein auf eisfair laufender WINS-Server, ein Client, der darauf
konfiguriert wurde, sich beim eisfair-WINS-Server zu
registrieren, sowie die weiter unten folgenden Aktionen, die
nach Bedarf aktiviert werden müssen.
Achtung: Es liegen bisher keine Erfahrungen vor, welche Last die
folgenden Funktionen in einem grossen Netzwerk mit vielen
Clients verursachen. Ich kann mir gut vorstellen, dass dieses
Szenario einen Server in die Knie zwingen kann:
Zum Arbeitsbeginn um 8 Uhr morgens melden sich 250 Clients
gleichzeitig bei einem eisfair-Server an, der als PDC arbeitet.
250 Clients ziehen sich parallel ihr Profil vom Server,
registrieren sich beim WINS-Server, worauf 250 Nachrichten
versendet werden. Nebenbei wird jeder Client bei dem DNS-Server
Bind registriert. Eventuell erhalten diese 250 Clients ihre
IP-Adresse von einem DHCP- Server auf eisfair und es laufen
nebenbei noch einige andere Dienste...
Bei Problemen solltet Ihr diese Funktionen deaktivieren, bevor
Ihr Euch in der Newsgroup wegen plötzlich auftretender Probleme
beschwert.
Standardeinstellung: SAMBA_WINSHOOK='no'
SAMBA_WINSHOOK_MESSAGE_SEND
(benötigt SAMBA_WINSSERVER='yes' und SAMBA_WINSHOOK='yes') Sende
SAMBA_WINSHOOK_MESSAGE: 'yes' oder 'no'
Wenn diese Variable auf 'yes' gesetzt ist, wird auf
WINS-Clients, die sich am eisfair-WINS-Server registrieren, die
in SAMBA_WINSHOOK_MESSAGE definierte Nachricht ausgegeben. Da
einige Zeit vergeht, bis der Client nach dem Laden des
Netzwerk-Stacks den Nachrichtendienst gestartet hat, wird die
Meldung erst 60 Sekunden nach der Registrierung beim WINS-Server
versendet.
Voraussetzung ist die Aktivierung dieser Variable mittels
SAMBA_WINSHOOK_MESSAGE_SEND='yes', ein auf eisfair laufender
WINS-Server (SAMBA_WINSSERVER='yes'), ein Client, der darauf
konfiguriert wurde, sich beim eisfair-WINS-Server zu
registrieren, ein aktivierter Nachrichtendienst auf dem Client,
sowie die Möglichkeit, Meldungen an den Nachrichtendienst zu
versenden (ein eventuell installierter Paketfilter auf dem
Client muss das zulassen). Beachtet dabei, dass in Windows
Vista/7/8/10 kein Nachrichtendienst mehr von Microsoft geliefert
wird!
Standardeinstellung: SAMBA_WINSHOOK_MESSAGE_SEND='no'
SAMBA_WINSHOOK_MESSAGE
(benötigt SAMBA_WINSSERVER='yes', SAMBA_WINSHOOK='yes' und
SAMBA_WINSHOOK_MESSAGE_SEND='yes')
Diese Nachricht wird bei der Registrierung eines WINS-Clients
beim eisfair-WINS-Server auf diesem Client mit aktiviertem
Nachrichtendienst ausgegeben, wenn die Variable
SAMBA_WINSHOOK_MESSAGE_SEND
auf 'yes' gesetzt ist.
Der Nachrichtendienst ist auf Windows-NT, Windows-2000 und
Windows XP normalerweise aktiviert und muss anderenfalls
nachinstalliert/aktiviert werden. Unter Windows-9x-Clients wie
Windows 98 oder Windows Me muss dazu das Programm WinPopUp
laufen. Unter Windows Vista/7/8/10 existiert kein
Nachrichtendienst mehr!
Beachtet die Voraussetzungen und die Warnung unter
SAMBA_WINSHOOK
Standardeinstellung: SAMBA_WINSHOOK_MESSAGE='Welcome to eisfair
server'
SAMBA_WINSHOOK_DNSUPDATE
(benötigt SAMBA_WINSSERVER='yes' und SAMBA_WINSHOOK='yes')
Registriere WINS-Clients beim DNS-Server Bind: 'yes' oder 'no'
Wenn auf eisfair das Paket Bind als DNS-Server läuft, können
WINS-Clients dort automatisch registriert werden (mit ens als
DNS-Server funktioniert das nicht). Dazu ist
SAMBA_WINSHOOK_DNSUPDATE='yes' zu setzen.
Beachtet die Voraussetzungen und die Warnung unter
SAMBA_WINSHOOK
Standardeinstellung: SAMBA_WINSHOOK_DNSUPDATE='no'
SAMBA_EXTWINSIP
(benötigt SAMBA_WINSSERVER='no') Die IP-Adresse des externen
WINS-Servers für Samba
Wenn man, wie oben bereits erwähnt, in Netzwerken mit einem
NT-Server arbeitet, sollte man diesem die Aufgabe überlassen,
die WINS-Datenbank zu verwalten. Dabei kann man eisfair als
WINS-Client konfigurieren. Der eisfair-Rechner versucht dann,
sich bei dem konfigurierten WINS-Server zu registrieren. Hierbei
ist darauf zu achten, dass eisfair nicht gleichzeitig als Server
und Client konfiguriert werden kann - die Optionen
SAMBA_WINSSERVER='yes'
und
SAMBA_EXTWINSIP='IP-Adresse'
schliessen einander also aus und werden bei der Überprüfung der
Konfiguration bemängelt! Wenn man den eisfair-Rechner als
WINS-Client betreiben möchte, muss man ihm die IP-Adresse des
externen WINS-Servers bekanntmachen, bei dem er sich
registrieren soll.
Hier ein Beispiel mit der IP-Adresse 192.168.6.11:
SAMBA_EXTWINSIP='192.168.6.11'
In diesem Modus arbeitet Samba ausserdem als WINS-Proxy. Das ist
von Vorteil, wenn sich nicht nur WINS-Clients im Netzwerk
befinden, der WINS-Server in einem anderen Netzwerk liegt und
nicht per Broadcast erreichbar ist und die Nicht-WINS-Clients
aber eine NETBIOS-Namensauflösung benötigen. Hierbei fängt der
eisfair-Rechner Broadcasts der Nicht-WINS-Clients auf, fragt den
eingetragenen WINS-Server ab und schickt die Antwort per
Broadcast an den anfragenden Rechner.
Standardeinstellung: SAMBA_EXTWINSIP=
SAMBA_START_MESSAGE_SEND
Sende SAMBA_START_MESSAGE: 'yes' oder 'no'
Wenn diese Variable auf 'yes' gesetzt ist, wird beim Starten von
Samba die in SAMBA_START_MESSAGE definierte Nachricht auf allen
SMB-Hosts mit aktiviertem Nachrichtendienst ausgegeben (siehe
auch SAMBA_START_MESSAGE). Da das bei grossen Netzwerken mit
vielen Clients sehr lange dauern kann und Netzwerkbandbreite
braucht, wurde als Voreinstellung 'no' definiert.
Standardeinstellung: SAMBA_START_MESSAGE_SEND='no'
SAMBA_START_MESSAGE
Diese Nachricht wird beim Starten des Samba-Servers auf allen
SMB-Hosts mit aktiviertem Nachrichtendienst ausgegeben, wenn die
Variable
SAMBA_START_MESSAGE_SEND
auf 'yes' gesetzt ist.
Der Nachrichtendienst ist auf Windows-NT, Windows-2000 und
Windows XP normalerweise aktiviert und muss anderenfalls
nachinstalliert/aktiviert werden. Unter Windows-9x-Clients wie
Windows 98 oder Windows Me muss dazu das Programm WinPopUp
laufen. Unter Windows Vista/7/8/10 existiert kein
Nachrichtendienst mehr!
Standardeinstellung: SAMBA_START_MESSAGE='eisfair Samba Server
is up now ...'
SAMBA_SHUTDOWN_MESSAGE_SEND
Sende SAMBA_SHUTDOWN_MESSAGE: 'yes' oder 'no'
Wenn diese Variable auf 'yes' gesetzt ist, wird beim
Herunterfahren von Samba die in SAMBA_SHUTDOWN_MESSAGE
definierte Nachricht auf den in
SAMBA_SHUTDOWN_MESSAGE_HOSTS
definierten SMB-Hosts mit aktiviertem Nachrichtendienst
ausgegeben (siehe auch SAMBA_SHUTDOWN_MESSAGE). Da das bei
grossen Netzwerken mit vielen Clients sehr lange dauern kann und
Netzwerkbandbreite braucht, wurde als Voreinstellung 'no'
definiert.
Standardeinstellung: SAMBA_SHUTDOWN_MESSAGE_SEND='no'
SAMBA_SHUTDOWN_MESSAGE
(benötigt SAMBA_SHUTDOWN_MESSAGE_SEND='yes') Diese Nachricht
wird beim Stoppen des Samba-Servers auf den in
SAMBA_SHUTDOWN_MESSAGE_HOSTS
definierten SMB-Hosts mit aktiviertem Nachrichtendienst
ausgegeben, wenn die Variable
SAMBA_SHUTDOWN_MESSAGE_SEND
auf 'yes' gesetzt ist.
Der Nachrichtendienst ist auf Windows-NT, Windows-2000 und
Windows XP normalerweise aktiviert und muss anderenfalls
nachinstalliert/aktiviert werden. Unter Windows-9x-Clients wie
Windows 98 oder Windows ME muss dazu das Programm WinPopUp
laufen. Unter Windows Vista/7/8/10 existiert kein
Nachrichtendienst mehr!
Standardeinstellung: SAMBA_SHUTDOWN_MESSAGE='eisfair Samba
Server is going down now ...'
SAMBA_SHUTDOWN_MESSAGE_HOSTS
(benötigt SAMBA_SHUTDOWN_MESSAGE='yes')
Sende SAMBA_SHUTDOWN_MESSAGE an Hosts: 'all' oder 'active'
Hier gibt man an, an welche Rechner die
SAMBA_SHUTDOWN_MESSAGE versendet werden soll. Mögliche
Einträge sind:
all : Alle SMB-Hosts im Netzwerk.
active: Alle SMB-Hosts im Netzwerk mit aktiven SMB-Verbindungen zu
eisfair.
Wer hier 'active' auswählt, sollte sich darüber im Klaren sein,
dass ein Client, der über das Windows-Netzwerk eine Datei auf
eisfair bearbeitet und dabei lange Pausen einlegt, irgendwann in
einen Timeout läuft und die Verbindung nicht mehr aktiv ist!
Samba auf eisfair deklariert eine solche Verbindung nach 60
Minuten für tot und trennt sie, was bei modernen Windows-Clients
keine Probleme verursacht, da beim Speichern einfach
wiederverbunden wird. Wurde die Verbindung aber von eisfair oder
vom Client wegen zu hohem Timeout getrennt, erhält dieser Client
keine Nachricht!
Standardeinstellung: SAMBA_SHUTDOWN_MESSAGE_HOSTS='all'
SAMBA_LOCALIZATION
Da Windows-Clients in verschiedenen Sprachen unterschiedliche
Codepages benutzen (per chcp in der DOS-Box kann man die
verwendete Codepage anzeigen lassen), muss dem Samba-Server
diese Codepage bekanntgemacht werden. Die Angabe dieser
Codepages (client codepage =) wird von Samba benutzt, um
ankommende Dateinamen von der DOS-Codepage auf den verwendeten
UNIX-Zeichensatz (character set =) umzusetzen. In der
Konfigurationsdatei kann man folgende Werte einstellen, die wie
folgt umgesetzt werden:
Einstellung Sprachraum character set client codepage
US Amerika - 437
ISO8859-1 Western Europe iso8859-1 850
ISO8859-2 Eastern Europe iso8859-2 852
ISO8859-5 Russian Cyrillic iso8859-5 866
ISO8859-7 Greek iso8859-7 737
ISO8859-15 Western Europe iso8859-15 850
UTF8 Western Europe UTF-8 unicode
Da wir uns in Deutschland befinden, muss man eigentlich nur
wissen, dass hier die Einstellung ISO8859-15 für den EURO bzw.
ISO8859-1 für Deutsch ohne Euro-Zeichen vorgenommen werden kann.
Bei Systemen, die mit einem neueren Installer aufgesetzt wurden,
läuft das System an sich mit UTF-8 und genau so sollte Samba
dann auch eingestellt werden.
Standardeinstellung: SAMBA_LOCALIZATION='ISO8859-15'
SAMBA_PDC
Soll SAMBA als Primary Domain Controller arbeiten: 'yes' oder
'no'
Wenn diese Variable auf 'yes' gesetzt ist, stellt Samba die
Funktionen eines Primary Domain Controllers (PDC), vergleichbar
zu einem Windows-NT-4.0-Server-PDC, für Windows-9x-,
Windows-2000-, Windows-XP-Professional-, Windows-7-, und
Windows-8- und und Windows-10-Clients zur Verfügung. Die
Home-Versionen der Microsoft-Betreibs-Systeme werden dabei nicht
unterstützt, da sie von Microsoft künstlich beschnitten wurden!
Die Active-Directory-Funktionen der Windows-Server werden von
meinem Samba-Paket bisher nicht unterstützt!
Will man Samba als PDC nutzen, ist folgende Vorgehensweise
notwendig:
1. Der Benutzer "root" wurde als Samba-Benutzer angelegt. Davon
kann man sich im Samba-Service-Menü mittels
Samba User Handling
List Samba User
überzeugen. Hier die Ausgabe von meinem eisfair-Rechner:
List Samba Users
User Uid Password Active
root 0 set yes
tb 2001 set yes
test 2003 set yes
Press ENTER to continue
2. In der Datei /etc/user.map wird der Benutzer "Administrator"
der Workstation auf den Benutzer "root" gemappt. Wenn nicht
gegen einen externen Passwortserver authentifiziert wird,
sieht das so aus:
root = "Administrator"
Wenn gegen einen externen Passwortserver authentifiziert wird,
muss die Domäne vor dem Windows-Usernamen angegeben werden:
root = "DOM\Administrator"
Die Datei /etc/user.map wird aus der Samba-Konfiguration
heraus erzeugt. Wenn in der /etc/user.map der obige Eintrag
fehlt, habt Ihr etwas falsch gemacht. Siehe auch
SAMBA_USERMAP_N.
3. Samba läuft noch im Arbeitsgruppen-Modus (SAMBA_PDC='no').
4. Damit die verschiedenen Windows-Client-Versionen erfolgreich
in die Domäne integriert werden können, müssen je nach Version
Registry- Patches auf den Clients angewendet werden. Diese
Registry-Patches finden sich nach der Installation des
Samba-Paketes unter /usr/share/doc/samba/regpatches.
5. Jetzt benennt man als "Administrator" temporär die
Arbeitsgruppe auf den Clients um (z.B. in TESTGROUP), weil es
zu Schwierigkeiten kommt, wenn der Name der Arbeitsgruppe, in
der man sich befindet und der Name der Domäne, in die man
wechseln möchte, identisch sind. Dabei wird man aufgefordert,
den Client neu zu starten, was auch unbedingt erforderlich
ist.
6. Jetzt erst setzt man SAMBA_PDC='yes' und hinterlegt in der
Variable SAMBA_WORKGROUP den gewünschten Domänen-Namen,
z.B. SAMBA_WORKGROUP='DOMAIN'.
7. Nachdem die neue Konfiguration aktiviert wurde, muss folgende
Meldung in /var/log/log.nmbd auftauchen:
Samba server XXX is now a domain master browser for workgroup
YYY on subnet ZZZ.
Dabei stehen XXX, YYY und ZZZ für Eure individuelle
Konfiguration.
8. Jetzt trennt man alle eventuell geöffneten Freigaben und
gemappten Laufwerke, da diese eine erfolgreiche Integration in
die Domäne verhindern. Dazu öffnet man eine DOS-Box, indem man
unter Start/Ausfuehren
command
eingibt und dort folgenden Befehl ausführt:
net use * /delete
9. Man kann nun als Benutzer "Administrator" unter Windows die
Workstation zur Domäne hinzufügen:
Per Rechtsklick auf
Arbeitsplatz/Eigenschaften/Netzwerkidentifikation/Eigenschaften
(Beispiel Windows 2000) oder
Arbeitsplatz/Eigenschaften/Computername/Ändern (Beispiel
Windows XP Professional) definiert man, dass diese Workstation
ein Mitglied der Domäne YYY (siehe oben, jetzige Einstellung
von SAMBA_WORKGROUP) sein soll.
Bei der Abfrage
Geben Sie Namen und Kennwort eines Kontos mit der Berechtigung
dieser Domaene beizutreten ein.
gibt man einfach "Administrator" und das entsprechende
Passwort von "root" an (da in der Datei /etc/user.map der
Benutzer "Administrator" auf "root" umgesetzt wird, wenn Ihr
Euch an die Beschreibung gehalten habt) und erhält, wenn man
alles richtig gemacht hat, die nette Bestätigung:
"Willkommen in der Domäne YYY." (siehe oben)
10. Es wurde von Samba automatisch ein Maschinenkonto für die
Workstation erzeugt, wovon man sich im Samba-Service-Menü
überzeugen kann:
Samba Domain Handling
Samba PDC Workstation Configuration (NT, 2000, XP)
List Samba Workstations
11. Aus der Ereignisanzeige/System des Windows-Clients:
Dieser Computer wurde erfolgreich "domain" hinzugefügt: "YYY".
YYY steht für Euren Domänen-Namen.
12. Nach einem Neustart kann man sich als angelegter
Samba-Benutzer an der Domäne anmelden und gibt dabei bei
"Anmelden an" nicht den lokalen Rechner an, sondern die
Domäne. Windows-Benutzer, die in der Datei /etc/user.map auf
andere Samba-Benutzer umgesetzt werden, müssen dabei das
Passwort des Benutzers eingeben, auf den sie umgesetzt werden!
Siehe auch SAMBA_USERMAP_N.
13. Startet Samba das erste Mal als PDC, so wird eine eindeutige
SID (Security ID) für diesen PDC erzeugt. Diese SID
identifiziert die Domäne eindeutig. Bei Integration von
Clients in die Domäne wird diesen die SID zugeordnet. Daraus
ergibt sich, dass es nicht ausreicht, einen Client als
Domänenmitglied einfach identisch zu benennen, um wieder in
die Domäne zu kommen, da der Client diese SID nicht kennt. Das
ist aus Sicherheitsgründen absolut sinnvoll!
Setzt man bei irgendwelchen Tests später einmal SAMBA_PDC='no'
und danach wieder SAMBA_PDC='yes', kann es passieren, dass
wiederum eine eindeutige SID generiert wird, welche von der
vorigen abweicht. Das Ergebnis ist verheerend: Kein Client
kommt mehr in die Domäne, da die Clients ihren PDC mit einer
anderen SID assoziieren. Es ist in diesem Fall notwendig, alle
Clients wieder neu in die Domäne zu integrieren. Das gleiche
Problem ergibt sich auch bei einer Namensänderung des PDC,
also genau dann, wenn man den Hostnamen des eisfair-Rechners
ändert! Man kann das Problem umgehen, indem man vor Änderung
von SAMBA_PDC='yes' auf SAMBA_PDC='no' und vor einer
Namensänderung die SID abspeichert und nach Änderung von
SAMBA_PDC='no' auf SAMBA_PDC='yes' oder Änderung des Namens
wieder in Samba einliest. Siehe dazu
Save Samba SID to /root/MACHINE.SID
und
Restore Samba SID from /root/MACHINE.SID
Wenn Samba als PDC läuft, werden statische Group-Mappings
eingerichtet (dynamische Mappings werden von mir noch nicht
unterstützt). Die Namen der Windows-Gruppen sind dabei von den
Spracheinstellungen des Samba-Paketes abhängig. Bei
SAMBA_LOCALIZATION='ISO8859-15'
oder
SAMBA_LOCALIZATION='ISO8859-1'
oder
SAMBA_LOCALIZATION='UTF-8'
werden folgende Namen verwendet:
Windows-Gruppe eisfair-Gruppe GID
Domänen-Administratoren root 0
Domänen-Gäste nogroup 65534
Domänen-Hauptbenutzer sys 3
Domänen-Benutzer users 100
Domänen-Computer machines 777
Bei allen anderen Spracheinstellungen:
Windows-Gruppe eisfair-Gruppe GID
Domain-Administrators root 0
Domain-Guests nogroup 65534
Domain-Power-Users sys 3
Domain-Users users 100
Domain-Computers machines 777
Das Mapping kann mittels
net groupmap list
auf der Konsole oder über die Samba-Startmeldungen überprüft
werden. Die globale Windows-Gruppe der Domänen-Administratoren
wird bei Integration der Workstation in die Domäne automatisch
der lokalen Gruppe der Administratoren hinzugefügt, sodass bei
Anmeldung an der Domäne lokale Administratoren Rechte zur
Domänen-Administration besitzen.
Standardeinstellung: SAMBA_PDC='no'
SAMBA_PDC_PROFILES
(benötigt SAMBA_PDC) Sollen servergespeicherte Profile verwendet
werden: 'yes' oder 'no'
Bei Verwendung von
SAMBA_PDC='yes'
kann man sein User-Profil auf dem Server speichern lassen und
bei jeder Anmeldung wieder davon laden. Das bietet den Vorteil,
auf allen Rechnern der Domäne die selbe Arbeitsumgebung
vorzufinden, hat aber den Nachteil, dass je nach Umfang der
Userprofile ziemlich viel Platz auf dem Server benötigt wird und
An- oder Abmeldungen am Server länger dauern, da das Profil
herunter- oder heraufgeladen werden muss. Wer diese Funktion
nicht benötigt, kann sie mit
SAMBA_PDC_PROFILES='no'
abschalten.
Standardeinstellung: SAMBA_PDC_PROFILES='yes'
SAMBA_PDC_LOGONSCRIPT
(benötigt SAMBA_PDC) Basieren die Logon-Skripte auf 'user',
'group', 'machine' oder 'all'
Bei Verwendung von
SAMBA_PDC='yes'
können im Verzeichnis /netlogon Batchdateien abgelegt werden,
die nach erfolgreicher Anmeldung an der Domäne auf den Client
geladen und in der dortigen Umgebung verarbeitet werden. Die
Batchdateien sollten auf einem Windows-Client angelegt und auch
dort getestet werden, um Probleme mit den unterschiedlichen
Zeilenenden von DOS und Unix auszuschliessen.
Je nach Einstellung dieses Parameters werden unterschiedlich
benannte Batchdateien erwartet:
Wählt man SAMBA_PDC_LOGONSCRIPT='user', so wird nach der Datei
username.bat gesucht, wobei "username" für den Namen des
angemeldeten Benutzers steht. Es ist der effektive Name des
Benutzers gemeint, bei gemappten Benutzern also der Name, auf
den gemappt wird. An diese Batchdatei wird der Gruppenname des
angemeldeten Users sowie der NETBIOS-Name der Anmeldemaschine
mit übergeben und kann dort weiter ausgewertet werden, z.B. um
aus der Batchdatei des Users mittels
call %1.bat
eine gruppenabhängige Batchdatei aufzurufen, die für alle
Mitglieder einer Gruppe ein Netzlaufwerk mappt. Aus der
Batchdatei des Users kann ausserdem mittels
call %2.bat
eine weitere Batchdatei mit dem NETBIOS-Namen des Clients
aufgerufen werden, an dem der User sich gerade anmeldet, um
maschinenbezogene Aktionen auszuführen.
Wählt man SAMBA_PDC_LOGONSCRIPT='group', so wird nach der Datei
groupname.bat gesucht, wobei "groupname" für den Gruppennamen
des angemeldeten Benutzers steht. Es ist die effektive Gruppe
gemeint, bei gemappten Usern also die primäre Gruppe des Users,
auf den gemappt wird. An diese Batchdatei wird der Username des
angemeldeten Users sowie der NETBIOS-Name der angemeldeten
Maschine mit übergeben und kann dort weiter ausgewertet werden,
z.B. um aus der Batchdatei der Gruppe mittels
call %1.bat
eine userabhängige Batchdatei aufzurufen, die spezielle Aktionen
für diesen User ausführt. Aus der Batchdatei der Gruppe kann
ausserdem mittels
call %2.bat
eine weitere Batchdatei mit dem NETBIOS-Namen des Clients
aufgerufen werden, an dem der User sich gerade anmeldet, um
maschinenbezogene Aktionen auszuführen.
Wählt man SAMBA_PDC_LOGONSCRIPT='machine', so wird nach der
Datei machinename.bat gesucht, wobei "machinename" für den
NETBIOS-Namen der Anmeldemaschine steht. An diese Batchdatei
wird der effektive Username sowie der effektive Gruppenname des
angemeldeten Users mit übergeben und kann dort weiter
ausgewertet werden, z.B. um aus der Batchdatei der Maschine
mittels
call %1.bat
eine userabhängige Batchdatei aufzurufen, die spezielle Aktionen
für diesen User ausführt. Aus der Batchdatei der Maschine kann
ausserdem mittels
call %2.bat
eine weitere Batchdatei mit dem Gruppennamen des angemeldeten
Users aufgerufen werden, um gruppenbezogene Aktionen
auszuführen.
Wählt man SAMBA_PDC_LOGONSCRIPT='all', so wird nach der Datei
logon.bat gesucht. An diese Batchdatei werden der effektive
Username, der effektive Gruppenname des angemeldeten Users sowie
der NETBIOS-Name der Anmeldemaschine mit übergeben und kann dort
weiter ausgewertet werden, z.B. um aus der Batchdatei logon.bat
mittels
call %1.bat
eine userabhängige Batchdatei aufzurufen, die spezielle Aktionen
für diesen User ausführt. Mittels
call %2.bat
kann man aus der logon.bat die gruppenabhängige Batchdatei
aufrufen und mit
call %3.bat
die maschinenspezifische Batchdatei. In allen 3 Fällen lassen
sich beliebig komplexe Szenarien realisieren, wenn man sich ein
wenig mit Batchprogrammierung auskennt. Bitte recherchiert bei
Interesse im Internet - ich bin in dem Fall der falsche
Ansprechpartner für Euch. Aber um Euch den Einstieg zu
erleichtern, liegt eine Beispieldatei namens logon.bat im
Verzeichnis /netlogon, die Ihr anpassen und unter dem erwarteten
Namen abspeichern könnt.
Noch einmal der Hinweis: Bearbeitet die Dateien auf einem
Windows-Client, denn Zeilenenden im Unix-Format führen dazu,
dass die Logon-Skripte nicht verarbeitet werden können! Die
Rechte der Batchdateien müssen natürlich so gesetzt werden, dass
sie einen Zugriff (Lesen, Ausführen) gestatten.
Standardeinstellung: SAMBA_PDC_LOGONSCRIPT='user'
SAMBA_PASSWORD_SERVER
Nutzung eines externen Domänen-Passwort-Servers: z.B.
'NT-SERVER'
Über SAMBA_PASSWORD_SERVER kann der NETBIOS-Name eines externen
Passwortservers eingetragen werden, der die Authentifizierung
übernimmt. Dazu wird ein Primary Domain Controller auf Basis von
Windows NT 4.0 oder höher oder ein eisfair mit Samba als PDC
genutzt. Dazu muss der eisfair-Client aber erst einmal Mitglied
dieser Domäne werden.
Das passiert in 2 Schritten: Als erstes wird auf dem Primary
Domain Controller eisfair mit dem Server Manager unter dem
Menü-Punkt
Computer
Neuer Computer
hinzugefügt. Dann wird mit dem Menü-Punkt
Samba Domain Handling
Add eisfair Samba Server into an Windows NT Domain
im Samba-Service-Menü (siehe Dokumentation weiter unten) eisfair
in die NT-Domäne integriert.
In diesem Fall kann man mehrere Namen hinterlegen, z.B. den
Primary Domain Controller und einen oder mehrere Backup Domain
Controller (BDC). Dazu trägt man die Namen mit Komma und
Leerzeichen getrennt hintereinander ein, z.B.:
SAMBA_PASSWORD_SERVER='NT-PDC, NT-BDC1'
Es ist auch möglich, hier einfach
SAMBA_PASSWORD_SERVER='*'
einzusetzen. Damit werden von Samba der PDC und die BDC's
selbstständig ermittelt.
Noch ein paar Hinweise und Warnungen: Tragt niemals den
NETBIOS-Namen von eisfair selbst hier ein, da dann versucht
wird, gegen einen Domain Controller auf eisfair zu
authentifizieren, der hier gar nicht läuft! Tragt nur einen
Passwortserver ein, dem Ihr absolut vertraut, denn Samba ist in
diesem Fall nur so sicher, wie der externe Passwortserver!
Läuft ein Samba im Netz mit 4.9.x als PDC und läuft ein anderer
Rechner mit Samba 4.9.x als Member-Server (SAMBA_PASSWORD_SERVER
ist nicht leer) und man möchte auf die Freigaben des
Member-Servers von einem Windows-Rechner zugreifen, der nicht in
die Domäne integriert wurde, kann man sich nicht mehr wie bisher
möglich mit Benutzer und Passwort authentifizieren, sondern man
muss zwingend
Domaene\Benutzer
und Passwort verwenden. Da die User auf dem externen
Passwortserver authentifiziert werden, darf kein lokaler
Unix-Account auf eisfair-Client für sie existieren. Die lokalen
User werden jetzt vom Dienst winbindd auf dem auf eisfair-Client
verfügbar gemacht.
Hatte jemand vorher (vor Samba 4.9.x) schon
SAMBA_PASSWORD_SERVER gesetzt, wurden erfolgreich
authentifizierte User automatisch als System-User angelegt. Das
muss man nun rückgängig machen:
Zuerst müssen die von solcherart angelegten System-Usern
abgelegten Dateien den Usern auf dem PDC übereignet werden. Dann
sollten diese System-User auf dem Member-Server gelöscht werden.
Alle folgenden Informationen beziehen sich jeweils auf den
Member-Server:
Anzeige der Samba-User:
pdbedit -Lw | grep -v "^.*$:" | sort -t: -k2n
Hier darf keine Ausgabe mehr erfolgen, wenn alles bereinigt
wurde!
Anzeige der durch ältere Versionen automatisch angelegten
System-User:
getent passwd | grep 'samba_auto_user'
Hier darf keine Ausgabe mehr erfolgen, wenn alles bereinigt
wurde!
Anzeige der Samba-User des PDC (SAMBA_PASSWORD_SERVER):
wbinfo -u
Anzeige der Domänengruppen des PDC (SAMBA_PASSWORD_SERVER):
wbinfo -g
Anzeige der Informationen eines spezifischen Users des PDC
(SAMBA_PASSWORD_SERVER):
getent passwd DOMAENE\\USERNAME
Standardeinstellung: SAMBA_PASSWORD_SERVER=''
SAMBA_VIRUSFILTER
Aktiviere einen externen Viren-Scanner: 'yes' oder 'no'
Hiermit kann man einen auf dem selben Rechner installierten
Virenscanner zur Prüfung der Dateien in Freigaben beim Öffnen
heranziehen. Virusfilter unterstützt Clamav, Sophos und fsav.
Implementiert wurde hier erst einmal Clamav. Dieser wird über
die Variable SAMBA_VIRUSFILTER_TYPE weiter unten festgelegt.
Wenn SAMBA_VIRUSFILTER aktiviert ist, wird geprüft, ob Clamav
installiert ist und läuft. Im Falle der automatischen
Konfiguration werden die dabei erzeugten Freigaben durch
Clamav überwacht. Im Falle der manuellen Konfiguration kann
in der Definition jeder einzelnen Freigabe bestimmt werden,
ob Virusfilter dort aktiv ist.
Standardeinstellung: SAMBA_VIRUSFILTER='no'
SAMBA_VIRUSFILTER_TYPE
Welcher Viren-Scanner wird verwendet:
Zur Zeit ist nur die Verwendung von Clamav implemetiert.
Standardeinstellung: SAMBA_VIRUSFILTER_TYPE='clamav'
SAMBA_RECYCLE_BIN
Aktiviere einen Papierkorb pro Freigabe: 'yes' oder 'no'
Hiermit kann ein Papierkorb pro Freigabe aktiviert werden, in
den gelöschte Dateien mitsamt ihrem Pfad relativ zum
Freigabepfad verschoben werden. Der Papierkorb ist ein
Verzeichnis namens samba_recycle_bin, das durch die
Samba-Konfiguration mit den Rechten 0777 nobody:nogroup angelegt
wird. Wenn jemand dieses Verzeichnis löscht, wird es beim
Löschen von Dateien oder Verzeichnissen mit den Rechten 0777 und
dem Eigentümer und der Gruppe des löschenden Users erneut
angelegt. In diesem Verzeichnis samba_recycle_bin wird für jeden
effektiven User beim Löschen ein Unterverzeichnis mit dessen
Namen angelegt. Wer effektiver User ist, wird unter anderem
durch das Usermapping und
SAMBA_SHARE_x_FORCE_USER
bestimmt.
ACHTUNG
Aus mehreren Gründen muss ich vor Aktivierung dieser Funktion
warnen. Der Papierkorb für Freigaben hat nicht die Eigenschaften
des von Windows bekannten Papierkorbes. Er weiss nichts von dem
auf der Festplatte noch zur Verfügung stehenden Platz und kann
im Gegensatz zum Windows-Papierkorb nicht auf eine maximale
Grösse in Prozent anteilig der Festplattengrösse eingestellt
werden. Er hat daher auch keine Funktion, die durch endgültiges
Löschen von Elementen im Papierkorb automatisch so viel
Speicherplatz freigibt, dass die zuletzt gelöschten Dateien und
Ordner in den Papierkorb verschoben werden könnten. Gelöschte
Dateien werden lediglich anhand Ihres Alters mittels Cron-Jobs
endgültig gelöscht, wobei mit
SAMBA_RECYCLE_BIN_HOLD_DAYS
die Anzahl von Tagen bestimmt wird, nach der endgültig gelöscht
wird. Dieser Cron-Job läuft nachts um 03:15 Uhr, um den Server
tagsüber mit dem zeitintensiven und leistungshungrigen
find-Skript nicht so stark zu belasten. Fährt jemand seinen
Server jeden Abend vor diesem Zeitpunkt herunter, werden alte
Dateien nie gelöscht und die Festplatte läuft im Laufe der Zeit
voll. Um das zu verhindern, muss das Skript
/var/install/bin/samba-recycle-cron ab und an von Hand gestartet
oder in der Cron Administration ein Job mit passendem Zeitpunkt
angelegt werden. Bei Einsatz von Quotas führt ein Löschen von
Dateien mit aktiviertem Papierkorb nicht mehr automatisch dazu,
dass Platz freigemacht wird. Jeder User muss Dateien in den
einzelnen Papierkörben der Freigaben noch einmal löschen, um
seine Quota wieder zu unterschreiten.
Generell gilt also: Aktiviert den Papierkorb nur, wenn Ihr
ausreichend Platz auf allen Partitionen habt, Quotas nicht
einsetzt und Euer Server permanent läuft.
Standardeinstellung: SAMBA_RECYCLE_BIN='no'
SAMBA_RECYCLE_BIN_HOLD_DAYS
(benötigt SAMBA_RECYCLE_BIN='yes')
Anzahl von Tagen, nach der Dateien im Papierkorb gelöscht werden
Hiermit kann eine Anzahl von Tagen eingestellt werden, nach der
Dateien in den Papierkörben der Freigaben als veraltet gelten
und durch ein nachts um 03:15 Uhr laufendes Cron-Skript gelöscht
werden. Läuft der Server zu diesem Zeitpunkt nicht, sollte man
den Papierkorb abschalten oder das Skript
/var/install/bin/samba-recycle-cron
nach Bedarf von Hand starten oder in der Cron Administration
einen Job mit passendem Zeitpunkt anlegen. In der
Standardeinstellung gelten Dateien in den Papierkörben nach 7
Tagen als veraltet und werden durch das Cron-Skript gelöscht.
Die je nach Eurer Konfiguration über das Dateisystem verstreuten
Papierkorb-Verzeichnisse können mit folgendem Befehl angezeigt
werden:
find / -path '/proc' -prune -o -name samba_recycle_bin -type d \
-print
Wenn die Notwendigkeit besteht, alle Papierkörbe mitsamt Inhalt
zu löschen und Ihr Euch mit dem vorigen Befehl versichert habt,
dass auch wirklich nur die gewünschten Papierkörbe von dem
find-Befehl erfasst werden, löscht folgender Befehl
unwiederbringlich (achtet unbedingt darauf, keine wichtigen
Dateien oder Verzeichnisse zu verlieren!):
find / -path '/proc' -prune -o -name samba_recycle_bin -type d \
-print -exec rm -rf {} \; 2>/dev/null
Standardeinstellung: SAMBA_RECYCLE_BIN_HOLD_DAYS='7'
SAMBA_PDF_TARGET
Das Ziel für erzeugte PDF-Dateien:
Es gibt drei mögliche Ziele für durch PDF-Drucker erzeugte
PDF-Dateien, welche jeweils global, also für alle PDF-Drucker
gelten:
1. Die Dateien werden im Home-Verzeichnis des druckenden Users
abgelegt. Dazu ist 'homedir' einzutragen:
SAMBA_PDF_TARGET='homedir'
2. Die Dateien werden in dem für alle erreichbaren
Public-Verzeichnis abgelegt. Dazu ist 'public' einzutragen:
SAMBA_PDF_TARGET='public'
Bei manueller Konfiguration mittels
SAMBA_MANUAL_CONFIGURATION='yes'
muss dazu natürlich eine solche Freigabe definiert sein. Wenn
man annimmt, dass die dritte Freigabe die Public-Freigabe sein
soll, dann würde die Freigabe-Definition so aussehen:
SAMBA_SHARE_3_ACTIVE='yes'
SAMBA_SHARE_3_NAME='public'
SAMBA_SHARE_3_COMMENT='public directory on %h'
SAMBA_SHARE_3_RW='yes'
SAMBA_SHARE_3_BROWSE='yes'
SAMBA_SHARE_3_PATH='/public'
SAMBA_SHARE_3_USER=''
SAMBA_SHARE_3_PUBLIC='yes'
SAMBA_SHARE_3_READ_LIST=''
SAMBA_SHARE_3_WRITE_LIST=''
SAMBA_SHARE_3_FORCE_CMODE='0777'
SAMBA_SHARE_3_FORCE_DIRMODE='0777'
SAMBA_SHARE_3_FORCE_USER=''
SAMBA_SHARE_3_FORCE_GROUP=''
SAMBA_SHARE_3_VIRUSFILTER='no'
3. Die Dateien werden dem druckenden User per Mail geschickt.
Dazu ist 'mail' einzutragen:
SAMBA_PDF_TARGET='mail'
Für diesen Fall sind natürlich ein installierter und korrekt
konfigurierter Mailserver, ein eingerichteter Mail-Account für
den druckenden User sowie das Perl-Paket perl_mime_base64 zur
Erzeugung der Mail-Anhänge notwendig. Achtet bei grossen
Dateien auch auf die Grössenbeschränkungen für Mails, welche
in der Mailserverkonfiguration vorgegeben sind!
Da nicht alle User intern einen Mailserver einsetzen und bei
manueller Konfiguration nicht unbedingt eine Public-Freigabe
vorausgesetzt werden kann, wurde 'homedir' als Voreinstellung
festgelegt.
Standardeinstellung: SAMBA_PDF_TARGET='homedir'
SAMBA_SERVERSTRING
Der Kommentar des Samba-Servers in der Netzwerkumgebung:
Hier kann man eine Zeichenkette eingeben, die in der
Netzwerkumgebung als Kommentar/Beschreibung des Servers
erscheint. Damit kann man dem Samba-Server eine individuelle
Note verleihen. Wenn die Variable nicht gefüllt ist, wird kein
Kommentar angezeigt.
Standardeinstellung: SAMBA_SERVERSTRING=
SAMBA_EXPERT_EXEC
Übernahme der im Paket sambaexpert definierten Optionen: 'yes'
oder 'no'
Wenn diese Variable auf 'yes' gesetzt ist, werden die im
zusätzlichen Paket sambaexpert definierten Optionen in die Datei
/etc/smb.conf übernommen, wobei gleichnamige Variablen
überschrieben bzw. neue Variablen hinzugefügt werden. Das kommt
denjenigen entgegen, die einzelne Parameter der
Samba-Konfigurationsdatei direkt verändern wollen oder müssen,
weil mein Paket nicht jede erdenkliche Konfiguration
unterstützen kann und will. Dazu ist es erforderlich, dass das
Paket sambaexpert korrekt installiert wurde und die gewünschten
Optionen vor dem Editieren der Samba-Konfiguration vorgenommen
wurden. Da bei diesem Vorgang direkte Veränderungen in der Datei
/etc/smb.conf vorgenommen werden und ich Fehler des Anwenders so
nicht abfangen kann, werde ich niemandem Fragen zu daraus
resultierenden Problemen beantworten. Bei Problemen ist es in
jedem Fall ratsam, diese Option zu deaktivieren und zu
überprüfen, ob der Fehler immer noch auftritt. Damit keiner
vergisst, dass er sich ein potentielles Problem durch selbst
definierte Parameter einhandelt, wird man mittels einer Meldung
auf den Umstand hingewiesen, dass diese Option aktiviert ist.
Noch einmal: Ich werde niemanden supporten, der diese Option
setzt und Fragen dazu stillschweigend ignorieren.
Standardeinstellung: SAMBA_EXPERT_EXEC='no'
SAMBA_SMBWEBCLIENT
(benötigt Apache und PHP) Installiere das PHP-Skript
smbwebclient.php: 'yes' oder 'no'
Durch Setzen des Parameters SAMBA_SMBWEBCLIENT='yes' wird das
PHP-Skript smbwebclient.php in das mit dem Parameter
SAMBA_SMBWEBCLIENT_PATH definierte Verzeichnis kopiert
(Default: /var/www/htdocs).
Sinn des SMB-Webclients ist es, über einen Web-Browser Zugriff
auf Samba-Ressourcen zu erlangen. So können Rechner, die keinen
SMB-Client mitbringen oder sich in Netzen befinden, aus denen
man keinen direkten Zugriff auf Samba zulassen möchte, trotzdem
auf Freigaben zugreifen.
Hier ein dicker Hinweis zu den möglichen Sicherheitsrisiken:
Fehler in Apache-, PHP- oder Samba-Funktionen können zu
ungewollten Zugriffen bis hin zur Übernahme des Servers führen!
Bei Bekanntwerden von Sicherheitslücken in einer der 3
beteiligten Komponenten sollte man diese Zugriffsmöglichkeit
sofort deaktivieren. Eine weitere Gefahr stellen manuelle
Änderungen in den Dateien smbwebclient.php oder smb.conf dar.
Auch mittels sambaexpert ist es z.B. möglich, unauthorisierten
Zugriff auf Samba zu ermöglichen. Daher sollten solche
Änderungen nur vorgenommen werden, wenn man sich über die Folgen
im klaren und bereit ist, auftretende Schwierigkeiten allein zu
meistern.
Eine zusätzliche Absicherungsmöglichkeit bietet eine
.htaccess-Datei über die Apache-Konfiguration. Leider kommt es
durch die doppelte Abfrage von Benutzername und Passwort
anscheinend zu Schwierigkeiten. Bei der Beseitigung dieser
Schwierigkeiten kann ich nicht helfen, da ich weder Apache- noch
PHP-Profi bin. Ich bitte deshalb, bei Fehlern oder Fragen
bezüglich smbwebclient.php folgende E-Mail-Adresse des
Entwicklers des PHP-Skriptes zu benutzen:
(E-MAIL vmvarela@gmail.com)
Die Homepage des Projektes befindet sich hier:
http://smbwebclient.sourceforge.net
Der SMB-Webclient besteht aus einem PHP-Script
(smbwebclient.php), daher sind Apache und PHP Voraussetzung zum
Einsatz des Clients. Weiterhin muss auf dem Rechner, auf dem das
Script läuft, ein 'echter' SMB-Client installiert sein, was
durch mein installiertes Samba-Paket gegeben ist. Hilfreich ist,
wenn man sich bereits grundlegend mit der
Samba-/Apache-Konfiguration und mit der Rechte-Vergabe unter
Linux beschäftigt hat. Wenn nicht, ist der SMB-Webclient die
Gelegenheit, dies endlich nachzuholen ;-)
Der SMB-Webclient kann durch Aufruf von
http://Name-des-eisfair-Servers/smbwebclient.php
im Browser gestartet werden, wobei Name-des-eisfair-Servers
natürlich durch den Namen Eures eisfair-Servers bzw. dessen
IP-Adresse ersetzt werden muss. Zunächst wird hier die Anmeldung
mittels einer in Samba definierten
Benutzer-ID/Kennwort-Kombination verlangt.
Nach erfolgreicher Anmeldung erscheint im Browser eine Liste mit
den Freigaben, die dieser Server über Samba zur Verfügung
stellt. Klickt man auf den Namen einer Freigabe, wird im Browser
das Hauptverzeichnis dieser Freigabe angezeigt.
Unterverzeichnisse und Dateien werden mit verschiedenen Symbolen
ähnlich denen des Explorers unter Windows dargestellt. In
weiteren Spalten werden die Dateigrösse, der Typ
(Datei/Verzeichnis) und das Datum der letzen Änderung angezeigt.
Ein Klick auf ein Verzeichnis wechselt in dieses, ein Klick auf
eine Datei lädt diese herunter. Hinter dem Klappmenü in der
ersten Zeile des Browsers verbergen sich die Funktionen zum
Erstellen eines neuen Verzeichnises (Neuer Ordner), zum
Hochladen einer Datei (Neue Datei (hochladen)) und zum Löschen
der Dateien oder Verzeichnisse (Markierte Datei(en) löschen),
die über die Checkbox jeweils links ausgewählt wurden. Weitere
Details der Funktionen sind selbsterklärend und von jedem, der
einen Browser bedienen kann, zu beherrschen.
Die Freigaben, auf die man zugreifen möchte, müssen im Setup des
Samba-Paketes so konfiguriert sein, als solle der Benutzer, mit
dem man sich angemeldet hat, z.B. von einem Windows-Rechner aus
zugreifen.
Durch das Samba-Setup wird smbwebclient.php so konfiguriert,
dass alle Samba-Freigaben des eisfair-Servers sichtbar sind. Das
lässt sich durch eine Änderung der Zeile
var $cfgSambaRoot =
in smbwebclient.php ändern:
var $cfgSambaRoot = 'domain/server/share';
Damit ist nur die einzelne Freigabe 'share' des Servers 'server'
in der Domain 'domain' sichtbar.
Beim Hochladen von Dateien ist zu beachten, dass die maximale
Dateigrösse von Dateien, die hochgeladen werden können, von zwei
Parametern in der PHP-Konfiguration des Apache-Webservers
abhängt:
Bei Verwendung von Apache1/PHP4:
PHP_MAX_POST_SIZE='8M'
PHP_MAX_UPLOAD_FILESIZE='8M'
Bei Verwendung von Apache2/PHP5:
PHP5_MAX_POST_SIZE='8M'
PHP5_MAX_UPLOAD_FILESIZE='8M'
Hier sind also jeweils Uploads von bis zu 8Mbyte pro Datei
möglich. In Tests stellte sich heraus, dass beim Hochladen von
Dateien durch smbwebclient ab ca. 200MB selbst im lokalen Netz
Performanceprobleme auftreten können. Dies kann sich je nach
Leistungsfähigkeit der verwendeten Hardware unterscheiden. Wenn
jemand etwas Anderes ertestet hat oder Abhilfe weiss, möge er
sich bei mir melden.
Standardeinstellung: SAMBA_SMBWEBCLIENT='no'
SAMBA_SMBWEBCLIENT_PATH
Installationspfad des PHP-Skriptes smbwebclient.php
In diesen Pfad wird smbwebclient.php installiert. Der Pfad muss
existieren und ein gültiges document-root von Apache sein. Aus
Sicherheitsgründen werden die smbwebclient-Aufrufe auf das
sichere https umgebogen. Das funktioniert leider nur sauber,
wenn der Pfad /var/www/htdocs verwendet wird, SSL in Apache
aktiviert ist und ein gültiges Zertifikat erstellt wurde. Bei
Schwierigkeiten sollten diese Dinge überprüft werden.
Standardeinstellung: SAMBA_SMBWEBCLIENT_PATH='/var/www/htdocs'
SAMBA_OPLOCKS
Aktiviere Oplocking: 'yes' oder 'no'
Durch Setzen von SAMBA_OPLOCKS='yes' aktiviert man das
clientseitige Zwischenspeichern von Dateien. Diese Option kann
zu einem erheblichen Performancegewinn - aber auch zu dem
genauen Gegenteil führen. Eine genaue Betrachtung zu Vorteilen,
Nachteilen und Risiken ist hier zu finden:
http://gertranssmb3.berlios.de/output/locking.html#id2540840
http://us1.samba.org/samba/docs/man/Samba3-HOWTO/locking.html#id377839
Bisher war in den eisfair-Samba-Paketen das opportunistische
Locking komplett deaktiviert. Mit SAMBA_OPLOCKS='yes' wird das
opportunistische Locking für unkritische Dateien aktiviert.
Problematische Dateien werden anhand ihrer Endungen
ausgefiltert.
Vom Oplocking ausgeschlossen sind Dateien nach folgendem Muster:
/*.bak/*.cd*/*.cur/*.*db/*.db*/*.*dx/*.dxf/*.dwg/*.doc/
/*.fpt/*.igs/*.ia*/*.id*/*.in*/*.ip*/*.log/*.mpp/*.ndx/
/*.ntx/*.opt/*.ord/*.ppt/*.pst/*.qb*/*.sjb/*.sbs/*.slp/
/*.st*/*.vsd/*.xl*/
Bei Schwierigkeiten oder sogar Datenverlusten ist diese Option
mittels SAMBA_OPLOCKS='no' zu deaktivieren!
Standardeinstellung: SAMBA_OPLOCKS='no'
SAMBA_KERNEL_OPLOCKS
Aktiviere Kernel-Oplocking: 'yes' oder 'no'
Ist SAMBA_OPLOCKS aktiviert, wird mit diesem Parameter die Nutzung
der Oplocking-Mechanismen im Kernel aktiviert. Anderenfalls werden
"level 2 oplocks" verwendet, die einen Geschwindigkeitsvorteil
bieten.
Sofern auf Samba-Freigaben auch vom Server selbst oder über andere
Netzwerkprotokolle (z. B. NFS) zugegriffen werden soll, muss dieser
Parameter aktiviert werden, um eine Datenkorruption auszuschließen.
Standardeinstellung: SAMBA_KERNEL_OPLOCKS='no'
SAMBA_ACL_XATTR
Aktiviere das Modul acl_xattr: 'yes' oder 'no'
Achtung! Nur bei komplett neuen Installationen mit leeren
Freigaben verwenden!
Durch Setzen von SAMBA_ACL_XATTR='yes' aktiviert man das
VFS-Modul acl_xattr. Dieses Modul erlaubt eine genauere
Abbildung der unter Windows verfügbaren Rechte mit Samba.
Das Modul speichert die NTFS Access Control Lists (ACLs) in EAs
(extended attributes). Dazu muss das darunter liegende
Dateisystem EAs unterstützen und entsprechend gemountet sein.
Die ACLs werden im EA security.NTACL der Datei oder des
Verzeichnisses gespeichert. Dieses Attribut wird mittels
getfattr -d filename
nicht angezeigt. Um sich den Inhalt anzeigen zu lassen, muss der
Name explizit angegeben werden:
getfattr -n security.NTACL filename
Dieses Modul setzt automatisch folgende Parameter:
inherit acls = true
dos filemode = true
force unknown acl user = true
Unter eisfair wird ausserdem der Default von
acl_xattr:ignore system acls = no
verwendet, der das Setzen und Verarbeiten sowohl der Windows-
als auch der System-ACLs erlaubt. Zusätzlich wird mit dem
Default
acl_xattr:default acl style = posix
gearbeitet, welcher basierend auf den System-ACLs für User,
Gruppe, und Alle eine Windows-ACL generiert, wenn die Datei oder
das Verzeichnis noch keine security.NTACL besitzt.
Wenn Ihr SAMBA_ACL_XATTR setzt, verwendet folgende Optionen in
Freigaben nicht mehr:
SAMBA_SHARE_x_READ_LIST
SAMBA_SHARE_x_WRITE_LIST
SAMBA_SHARE_x_FORCE_CMODE
SAMBA_SHARE_x_FORCE_DIRMODE
SAMBA_SHARE_x_FORCE_USER
SAMBA_SHARE_x_FORCE_GROUP
Alle Manipulationen der Zugriffsrechte müssen mit Windows-Tools
erfolgen! Lest dazu
https://wiki.samba.org/index.php/Setting_up_a_Share_Using_Windows_ACLs
Standardeinstellung: SAMBA_ACL_XATTR='no'
Abschnitt "Samba Advanced Configuration/User Mapping":
Der Abschnitt beginnt mit
#------------------------------------------------------------------------------
# Samba Advanced Configuration/User Mapping
#
# ********************************* ATTENTION ******************************
# * *
# * The following Sections only have an Effect, *
# * if you set SAMBA_MANUAL_CONFIGURATION='yes' *
# * *
# ******************************** ATTENTION *******************************
#
# Definition of User Mappings
#
# Set the number of Samba Usermap to create in SAMBA_USERMAP_N.
#
# Values below are only an example and are not used if
# SAMBA_USERMAP_N is '0'
#-----------------------------------------------------------------------------
ACHTUNG
Die Angaben in diesem Abschnitt haben nur eine Wirkung, wenn
SAMBA_MANUAL_CONFIGURATION='yes'
gesetzt wird!
In diesem Abschnitt werden Windows-Usernamen auf eisfair-Usernamen
gemappt. Das ist notwendig, wenn auf Windows-Seite Anmeldenamen mit
Leerzeichen oder Sonderzeichen verwendet werden. Mit solchen Usernamen
kann eisfair nichts anfangen, deshalb müssen diese Windows-Namen auf
konforme eisfair-Usernamen gemappt werden. Es ist ausserdem
empfehlenswert, System-User und Samba-User nur in Kleinbuchstaben
anzulegen!
Die Umsetzung der Namen wird in der Datei
/etc/user.map
vorgenommen, die aus diesem Abschnitt der Konfiguration erzeugt wird.
Die Kommentare in der Datei mit dem # am Anfang verdeutlichen den
Aufbau:
Rechts stehen einer oder mehrere Windows-Anmeldenamen mit oder ohne
Leerzeichen, links steht ein Samba-Benutzername.
root = "Administrator"
Wenn gegen einen externen Passwortserver authentifziert wird, steht vor
den Windows-Anmeldenamen ausserdem der Name der Domäne:
root = "DOM\Administrator"
Der Windows-Anmeldename "Administrator" wird hier auf den
Samba-Benutzer "root" umgesetzt. Es ist deswegen nicht notwendig (und
sogar falsch), "Administrator" als Samba-Benutzer anzulegen. "root"
hingegen muss als Samba-User angelegt worden sein, da dessen
Samba-Passwort zur Überprüfung herangezogen wird, wenn man sich vom
Client aus als "Administrator" einloggt.
Beispiel: Wenn auf einem Client ein Windows-Anmeldename "Jim Knopf"
existiert und mit diesem User auf Samba-Freigaben zugegriffen werden
soll, so muss ein eisfair-User und Samba-User eingerichtet werden, der
den Unix-Konventionen gehorcht und kein Leerzeichen beinhaltet. In
diesem Beispiel entscheiden wir uns für den eisfair-Namen "jimknopf".
Dieser User wird wie üblich als normaler eisfair-User und Samba-User
eingerichtet. Per Usermapping muss Samba nun noch mitgeteilt werden,
dass Anmeldeversuche des Windows-Users "Jim Knopf" auf den eisfair-User
und Samba-User "jimknopf" umgebogen werden sollen. Das zeigt das zweite
Mapping der Beispielkonfiguration.
Achtung! Es muss in jedem Fall ein Mapping von "Administrator" auf
"root" durchgeführt werden! Wenn Ihr weitere Windows-User auf "root"
mappen wollt, müsst Ihr dieses Beispiel erweitern. Dabei ist es
wichtig, dass die Erweiterungen unter der bisherigen Definition
erfolgen, also in etwa so:
SAMBA_USERMAP_1_ACTIVE='yes'
SAMBA_USERMAP_1_EISNAME='root'
SAMBA_USERMAP_1_WINNAME_N='2'
SAMBA_USERMAP_1_WINNAME_1='Administrator'
SAMBA_USERMAP_1_WINNAME_2='xyz'
Das heisst, die Reihenfolge "Administrator" und dann erst alle anderen
User muss erhalten bleiben! Wenn gegen einen externen Passwortserver
authentifiziert wird, wird automatisch in /etc/user.map der Name der
Domäne vor die Windows-Usernamen gesetzt.
SAMBA_USERMAP_N
Erstellung einer bestimmten Anzahl von Usermappings: z.B. '2'
Über SAMBA_USERMAP_N wird die Anzahl der zu erstellenden bzw. zu
benutzenden Usermappings eingestellt. Bei einem Mapping ist eine
'1' anzugeben, bei zwei Mappings eine '2' usw.
Wird hier eine 2 eingegeben, müssen mindestens die folgenden
Variablen
SAMBA_USERMAP_1_ACTIVE
SAMBA_USERMAP_1_EISNAME
SAMBA_USERMAP_1_WINNAME_N
SAMBA_USERMAP_1_WINNAME_1
und
SAMBA_USERMAP_2_ACTIVE
SAMBA_USERMAP_2_EISNAME
SAMBA_USERMAP_2_WINNAME_N
SAMBA_USERMAP_2_WINNAME_1
existieren und sinnvoll gefüllt werden, wobei die Anzahl zu
mappenden Windows-Namen variabel ist.
Standardeinstellung: SAMBA_USERMAP_N='2'
SAMBA_USERMAP_x_ACTIVE
Soll das Mapping aktiv sein: 'yes' oder 'no'
Mit SAMBA_USERMAP_x_ACTIVE wird bestimmt, ob ein Mapping aktiv
ist oder nicht. Möchte man ein Mapping vorübergehend
deaktivieren, so setzt man die Variable auf 'no'.
Standardeinstellung: SAMBA_USERMAP_1_ACTIVE='yes'
SAMBA_USERMAP_x_EISNAME
Mit SAMBA_USERMAP_x_EISNAME wird der Name des x'ten
eisfair-Users eingestellt, auf den gemappt werden soll. Dieser
Name muss schon als eisfair- und Samba-User existieren, vorher
also angelegt worden sein.
Standardeinstellung: SAMBA_USERMAP_1_EISNAME='root'
SAMBA_USERMAP_x_WINNAME_N
Mit SAMBA_USERMAP_x_WINNAME_N wird eingestellt, wie viele
Windows-Usernamen auf den x'ten eisfair-User gemappt werden
sollen. Mitunter macht es Sinn, mehrere Windows-User auf einen
eisfair-User umsetzen zu lassen. Dazu legt man hier die Anzahl
der Windows-Usernamen fest. Im ersten Mapping, welches zwingend
notwendig ist, möchten wir einen Windows-Usernamen auf den
eisfair-User "root" mappen lassen, nämlich "Administrator".
Demzufolge muss mit den nächsten Variablen auch nur ein Username
definiert werden.
Standardeinstellung: SAMBA_USERMAP_1_WINNAME_N='1'
SAMBA_USERMAP_x_WINNAME_y
Mit SAMBA_USERMAP_x_WINNAME_y wird der y'te Windows-Username
eingestellt, der auf den x'ten eisfair-Usernamen gemappt wird.
Um sich das besser vorstellen zu können, hier das erste
Beispiel:
SAMBA_USERMAP_1_ACTIVE='yes'
SAMBA_USERMAP_1_EISNAME='root'
SAMBA_USERMAP_1_WINNAME_N='1'
SAMBA_USERMAP_1_WINNAME_1='Administrator'
Im zweiten Beispiel werden zwei Windows-Usernamen auf den
zweiten eisfair-Usernamen gemappt:
SAMBA_USERMAP_2_ACTIVE='yes'
SAMBA_USERMAP_2_EISNAME='jimknopf'
SAMBA_USERMAP_2_WINNAME_N='2'
SAMBA_USERMAP_2_WINNAME_1='Jim Knopf'
SAMBA_USERMAP_2_WINNAME_2='Jim Jeremy Knopf'
Ein beliebter Fehler besteht darin, das Mapping zu deaktivieren
bzw. eine weitere Variable SAMBA_USERMAP_x_WINNAME_y zu
definieren aber SAMBA_USERMAP_x_WINNAME_N nicht hochzuzählen.
Abschnitt "Samba Advanced Configuration/Samba Shares":
Der Abschnitt wird eingeleitet mit
#------------------------------------------------------------------------------
# Samba Advanced Configuration/Samba Shares
#
# ********************************* ATTENTION ******************************
# * *
# * The following Sections only have an Effect, *
# * if you set SAMBA_MANUAL_CONFIGURATION='yes' *
# * *
# ******************************** ATTENTION *******************************
#
# Definition of Samba Shares
#
# Set the number of Samba Shares to create in SAMBA_SHARE_N.
#
# Values below are only an example and are not used if
# SAMBA_SHARE_N is '0'
#------------------------------------------------------------------------------
ACHTUNG
Die Angaben in diesem Abschnitt haben nur eine Wirkung, wenn
SAMBA_MANUAL_CONFIGURATION='yes'
gesetzt wird!
SAMBA_SHARE_N
Erstellung einer bestimmten Anzahl von Freigaben: z.B. '2'
Über SAMBA_SHARE_N wird die Anzahl der zu erstellenden bzw. zu
benutzenden Freigaben eingestellt. Wenn die Freigaben nicht
existieren, werden sie automatisch angelegt und wenn sie
existieren, werden sie einfach benutzt. Werden die Freigaben
schon vorher manuell angelegt, so ist darauf zu achten, dass die
Rechte so gestaltet werden, dass ein Zugriff der vorgesehenen
User und Gruppen möglich ist.
Wird hier eine 2 eingegeben, müssen die folgenden Variablen
SAMBA_SHARE_1_ACTIVE
SAMBA_SHARE_1_NAME
SAMBA_SHARE_1_COMMENT
SAMBA_SHARE_1_RW
SAMBA_SHARE_1_BROWSE
SAMBA_SHARE_1_PATH
SAMBA_SHARE_1_USER
SAMBA_SHARE_1_PUBLIC
SAMBA_SHARE_1_READ_LIST
SAMBA_SHARE_1_WRITE_LIST
SAMBA_SHARE_1_FORCE_CMODE
SAMBA_SHARE_1_FORCE_DIRMODE
SAMBA_SHARE_1_FORCE_USER
SAMBA_SHARE_1_FORCE_GROUP
SAMBA_SHARE_1_VIRUSFILTER
und
SAMBA_SHARE_2_ACTIVE
SAMBA_SHARE_2_NAME
SAMBA_SHARE_2_COMMENT
SAMBA_SHARE_2_RW
SAMBA_SHARE_2_BROWSE
SAMBA_SHARE_2_PATH
SAMBA_SHARE_2_USER
SAMBA_SHARE_2_PUBLIC
SAMBA_SHARE_2_READ_LIST
SAMBA_SHARE_2_WRITE_LIST
SAMBA_SHARE_2_FORCE_CMODE
SAMBA_SHARE_2_FORCE_DIRMODE
SAMBA_SHARE_2_FORCE_USER
SAMBA_SHARE_2_FORCE_GROUP
SAMBA_SHARE_2_VIRUSFILTER
vorhanden und mit sinnvollen Werten gefüllt sein.
Standardeinstellung: SAMBA_SHARE_N='0'
SAMBA_SHARE_x_ACTIVE
Soll die Freigabe aktiv sein: 'yes' oder 'no'
Mit SAMBA_SHARE_x_ACTIVE wird bestimmt, ob eine Freigabe aktiv
ist oder nicht. Möchte man eine Freigabe vorübergehend
deaktivieren, so setzt man die Variable auf 'no'.
Standardeinstellung: SAMBA_SHARE_1_ACTIVE='yes'
SAMBA_SHARE_x_NAME
Mit SAMBA_SHARE_x_NAME wird der Name der x'ten Freigabe
eingestellt. Unter diesem Namen ist die Freigabe zu erreichen
bzw. in der Netzwerkumgebung von Windows-Rechnern sichtbar
(siehe auch SAMBA_SHARE_x_BROWSE weiter unten).
Trotzdem eine Kombination aus 12 Buchstaben und Zahlen ohne
Umlaute sowie der Bindestrich für den Freigabenamen hinterlegbar
ist, sollte man sich aus DOS-Kompatibilitätsgründen auf maximal
8 Zeichen beschränken, z.B.
SAMBA_SHARE_1_NAME='share1'
Das Programm eischk, welches die Konfiguration vor dem
Abspeichern überprüft, gibt bei längeren Namen eine Warnung aus:
Checking configuration file ...
(/etc/config.d/samba:274) problematical value of variable
SAMBA_SHARE_4_NAME: '01234-567890' (More than 8 characters will
break compatibility with DOS clients!)
An 'problematical' erkennt man, dass das lediglich eine Warnung
ist. Das Abspeichern der Konfiguration ist trotz dieser Warnung
möglich.
Freigabenamen müssen im Netzwerk eindeutig sein, dürfen also
nicht doppelt vorkommen. Ausserdem ist es keine gute Idee
Freigabenamen zu vergeben, die identisch mit einem User- oder
Gruppennamen oder mit dem NETBIOS-Namen eines Rechners sind.
Standardeinstellung: SAMBA_SHARE_1_NAME='share1'
SAMBA_SHARE_x_RW
Soll die Freigabe beschreibbar sein: 'yes' oder 'no'
Über SAMBA_SHARE_x_RW wird eingestellt, ob die x'te Freigabe
beschreibbar sein soll.
Wird hier 'no' gewählt, können Dateien von dieser Freigabe
gelesen aber nicht dorthin gespeichert werden. Das ist vor allem
bei Dateien sinnvoll, die man anderen zur Verfügung stellen
möchte aber dabei unbedingt verhindern will, dass diese Dateien
verändert oder sogar gelöscht werden.
Wird 'yes' gewählt, ist diese Freigabe für alle in den Variablen
SAMBA_SHARE_x_USER
eingestellten User bzw. bei
SAMBA_SHARE_x_PUBLIC='yes'
für alle definierten Samba-User les- und beschreibbar.
Achtung! Die Wirkung dieser Variable wird durch
SAMBA_SHARE_x_READ_LIST
und
SAMBA_SHARE_x_WRITE_LIST
beeinflusst und eventuell aufgehoben!
Standardeinstellung: SAMBA_SHARE_x_RW='yes'
SAMBA_SHARE_x_BROWSE
Soll die x'te Freigabe sichtbar sein: 'yes' oder 'no'
Mit SAMBA_SHARE_x_BROWSE wird eingestellt, ob die x'te Freigabe
in der Netzwerkumgebung sichtbar sein soll oder nicht. Möchte
man verhindern, dass andere User in der Netzwerkumgebung die
Freigabe sehen können, setzt man
SAMBA_SHARE_x_BROWSE='no'
Nutzer, die wissen, dass die Freigabe existiert, können trotzdem
darauf zugreifen, indem sie z.B. unter Start/Ausführen
\\eisfair\sharename
eingeben. Dabei ist "eisfair" durch den Namen des
eisfair-Rechners zu ersetzen - wenn er davon abweicht - und
"sharename" mit dem Namen, den man in SAMBA_SHARE_x_NAME
eingetragen hat.
Standardeinstellung: SAMBA_SHARE_x_BROWSE='yes'
SAMBA_SHARE_x_PATH
Der Pfad zur x'ten Freigabe
Über SAMBA_SHARE_x_PATH wird der Pfad zur x'ten Freigabe
eingestellt.
Dazu ein Beispiel:
Das vordefinierte public-Verzeichnis ist so definiert:
SAMBA_SHARE_3_ACTIVE='yes'
SAMBA_SHARE_3_NAME='public'
SAMBA_SHARE_3_COMMENT='public directory on %h'
SAMBA_SHARE_3_RW='yes'
SAMBA_SHARE_3_BROWSE='yes'
SAMBA_SHARE_3_PATH='/public'
SAMBA_SHARE_3_USER='user1 user2'
SAMBA_SHARE_3_PUBLIC='yes'
SAMBA_SHARE_3_READ_LIST=''
SAMBA_SHARE_3_WRITE_LIST=''
SAMBA_SHARE_3_FORCE_CMODE='0777'
SAMBA_SHARE_3_FORCE_DIRMODE='0777'
SAMBA_SHARE_3_FORCE_USER=''
SAMBA_SHARE_3_FORCE_GROUP=''
SAMBA_SHARE_3_VIRUSFILTER='no'
Durch die Angaben
SAMBA_SHARE_3_NAME='public'
SAMBA_SHARE_3_PATH='/public'
wird das Verzeichnis namens "public" unter / erstellt und
freigeben. Als Freigabename wird der Inhalt der Variablen
SAMBA_SHARE_3_NAME
, also in diesem Fall
public
benutzt. Wenn das Verzeichnis nicht existiert, wird es
automatisch angelegt und wenn es existiert, wird es einfach
benutzt, damit schon abgelegte Daten erhalten bleiben. Es gibt
im Moment keine Möglichkeit, einmal erstellte Verzeichnisse über
die Samba-Konfiguration zu löschen, da bei einer Fehleingabe die
schon abgelegten Dateien gelöscht werden würden.
Die im Verzeichnis liegenden Dateien können über den Explorer
gelöscht werden, wenn die Freigabe in der Variablen
SAMBA_SHARE_x_RW
schreibbar definiert wurde; das Verzeichnis selbst nur über die
Kommandozeile.
SAMBA_SHARE_x_USER
Die User der x'ten Freigabe
Mit dieser Variable wird definiert, welche User oder Gruppen auf
die x'te Freigabe zugreifen dürfen. Mehrere User werden
hintereinander geschrieben und durch ein Leerzeichen getrennt,
Gruppen werden mit einem + davor angegeben. Ein Beispiel:
SAMBA_SHARE_x_USER='user1 user2 +samba'
Auf die Freigabe haben also der "user1", der "user2" und die
Gruppe "samba" Zugriff. Wird die Variable nicht gefüllt, hat nur
der User "root" Zugriff. Aber Achtung! Eine Besonderheit gibt
es. Wird die folgende Variable
SAMBA_SHARE_x_PUBLIC
auf 'yes' gesetzt, dominiert sie über den Eintrag in
SAMBA_SHARE_x_USER
Es haben dann wieder alle Benutzer Zugriff!
SAMBA_SHARE_x_PUBLIC
Wird diese Variable auf 'yes' gesetzt, haben alle registrierten
Samba- User auf die Freigabe Zugriff. Diese Variable dominiert
über
SAMBA_SHARE_x_USER
SAMBA_SHARE_x_READ_LIST
Die User der x'ten Freigabe mit ausschliesslich lesendem Zugriff
Mit dieser Variable wird definiert, welche User oder Gruppen auf
die x'te Freigabe ausschliesslich lesend zugreifen dürfen, wobei
unerheblich ist, was in
SAMBA_SHARE_x_RW
definiert wurde. Die Füllung dieser Variable setzt also
SAMBA_SHARE_x_RW='yes'
für die angegebenen User und Gruppen ausser Kraft. Mehrere User
werden hintereinander geschrieben und durch ein Leerzeichen
getrennt, Gruppen werden mit einem + davor angegeben.
Ein Beispiel:
SAMBA_SHARE_x_RW='yes'
SAMBA_SHARE_x_READ_LIST='user1 user2 +samba'
Trotzdem die Freigabe schreibbar definiert wurde, dürfen user1,
user2 und die Gruppe samba nur lesen. Bei der Erstellung der
Samba-Konfiguration wird überprüft, ob die hier angegebenen User
oder Gruppen tatsächlich existieren. Ist das nicht der Fall, so
wird diese Freigabe mit einer Warnung übersprungen und ist damit
nicht erreichbar. Wer eine solche Warnung erhält, sollte
peinlichst genau kontrollieren, ob er sich bei den User- oder
Gruppennamen nicht verschrieben hat.
Siehe auch:
SAMBA_SHARE_x_WRITE_LIST
Standardeinstellung: SAMBA_SHARE_x_READ_LIST=
SAMBA_SHARE_x_WRITE_LIST
Die User der x'ten Freigabe mit schreibendem Zugriff
Mit dieser Variable wird definiert, welche User oder Gruppen auf
die x'te Freigabe schreibend zugreifen dürfen, wobei unerheblich
ist, was in
SAMBA_SHARE_x_RW
definiert wurde. Die Füllung dieser Variable setzt also
SAMBA_SHARE_x_RW='no'
für die angegebenen User und Gruppen ausser Kraft.
Mehrere User werden hintereinander geschrieben und durch ein
Leerzeichen getrennt, Gruppen werden mit einem + davor
angegeben.
Ein Beispiel:
SAMBA_SHARE_x_RW='no'
SAMBA_SHARE_x_WRITE_LIST='user1 user2 +samba'
Trotzdem die Freigabe nur lesbar definiert wurde, dürfen user1,
user2 und die Gruppe samba auch schreiben. Ist ein User sowohl
in
SAMBA_SHARE_x_READ_LIST
als auch in
SAMBA_SHARE_x_WRITE_LIST
enthalten, bekommt er schreibenden Zugriff. Bei der Erstellung
der Samba-Konfiguration wird überprüft, ob die hier angegebenen
User oder Gruppen tatsächlich existieren. Ist das nicht der
Fall, so wird diese Freigabe mit einer Warnung übersprungen und
ist damit nicht erreichbar. Wer eine solche Warnung erhält,
sollte peinlichst genau kontrollieren, ob er sich bei den User-
oder Gruppennamen nicht verschrieben hat.
Siehe auch:
SAMBA_SHARE_x_READ_LIST
Standardeinstellung: SAMBA_SHARE_x_WRITE_LIST=
SAMBA_SHARE_x_FORCE_CMODE
Dateirechte für neue Dateien der x'ten Freigabe
Samba baut auf dem Sicherheitssystem des darunter liegenden
Linux- Systems auf. Sobald eine Verbindung aufgebaut wird, nimmt
der Server für diese Verbindung die Dateirechte des eingeloggten
Benutzers an. Der Benutzer kann also auch weiterhin keine Dinge
tun, die ihm unter Linux verboten sind. Samba verändert die
Rechte bestehender Linux-Dateien nicht. Wenn aber eine Datei neu
erstellt wird, muss Samba wissen, welche Rechte der Eigentümer,
die Gruppe und alle andere Benutzer bekommen sollen. Über diese
Variable werden diese Rechte eingestellt aber noch weiter
verarbeitet - es kann also sein, dass sie nicht wirklich auf dem
Linux-Dateisystem ankommen. Beispiel:
SAMBA_SHARE_1_FORCE_CMODE='0600'
Die Rechtemaske wird wie bei chmod in Oktal-Schreibweise
angegeben. Wer weiterführende Informationen benötigt, muss sich
darum selbst bemühen ;o)
SAMBA_SHARE_x_FORCE_DIRMODE
Rechte für neue Verzeichnisse der x'ten Freigabe
Für neue Verzeichnisse in der x'ten Freigabe werden die hier
angegebenen Zugriffsrechte zugewiesen. Auch hier gilt, dass
diese Zugriffsrechte erst noch weiter verarbeitet werden, siehe
SAMBA_SHARE_x_FORCE_CMODE
Beispiel:
SAMBA_SHARE_1_FORCE_DIRMODE='0700'
SAMBA_SHARE_x_FORCE_USER
Eigentümer von Dateien und Verzeichnissen überschreiben
Normalerweise gehören in einer Freigabe angelegte Dateien und
Verzeichnisse dem angemeldeten Benutzer - er ist der Eigentümer.
Mitunter ist das aber nicht gewollt, z.B. wenn man Dateien für
den Webserver per Samba in die entsprechenden Verzeichnisse
kopieren will. Um als User xyz diese Dateien per Samba kopieren
zu können und sie dabei dem User www zu übereignen, setzt man in
der entsprechenden Freigabe
SAMBA_SHARE_x_FORCE_USER='www'
Wird die Variable
SAMBA_SHARE_x_FORCE_GROUP
dabei nicht gefüllt, so wird von Samba neben dem Eigentümer
gleichzeitig auch die primäre Gruppe der angelegten Dateien auf
den in
SAMBA_SHARE_x_FORCE_USER
definierten User gesetzt. Siehe auch die Dokumentation zu
SAMBA_SHARE_x_FORCE_CMODE und SAMBA_SHARE_x_FORCE_GROUP.
Aber eine Ausnahme gibt es: Ist man als User "root" bei der
Freigabe angemeldet oder wird der Benutzer, mit dem man sich
angemeldet hat, auf "root" gemappt (/etc/user.map), gehören die
Dateien trotz dieser Einstellung immer "root"! Bei der
Erstellung der Samba-Konfiguration wird überprüft, ob der hier
angegebene User tatsächlich existiert. Ist das nicht der Fall,
so wird diese Freigabe mit einer Warnung übersprungen und ist
damit nicht erreichbar. Wer eine solche Warnung erhält, sollte
peinlichst genau kontrollieren, ob er sich bei dem Usernamen
nicht verschrieben hat.
Standardeinstellung: SAMBA_SHARE_x_FORCE_USER=
SAMBA_SHARE_x_FORCE_GROUP
Eigentümer-Gruppe von Dateien und Verzeichnissen überschreiben
Normalerweise werden in einer Freigabe angelegte Dateien und
Verzeichnisse der primären Gruppe des angemeldeten Benutzers
zugeordnet. Will am das ändern, setzt man in der entsprechenden
Freigabe
SAMBA_SHARE_x_FORCE_GROUP
auf den Gruppennamen der gewünschten Gruppe. Ist auch die
Variable
SAMBA_SHARE_x_FORCE_USER
gefüllt, so dominiert die in
SAMBA_SHARE_x_FORCE_GROUP
definierte Gruppe über die primäre Gruppe des Users in
SAMBA_SHARE_x_FORCE_USER
Siehe die Dokumentation zu
SAMBA_SHARE_x_FORCE_CMODE und SAMBA_SHARE_x_FORCE_USER.
Bei der Erstellung der Samba-Konfiguration wird überprüft, ob
die hier angegebene Gruppe tatsächlich existiert. Ist das nicht
der Fall, so wird diese Freigabe mit einer Warnung übersprungen
und ist damit nicht erreichbar. Wer eine solche Warnung erhält,
sollte peinlichst genau kontrollieren, ob er sich bei dem
Gruppenamen nicht verschrieben hat.
Standardeinstellung: SAMBA_SHARE_x_FORCE_GROUP=
SAMBA_SHARE_x_VIRUSFILTER
Virusfilter in der x'ten Freigabe aktiv: 'yes' oder 'no'
Hier kann man einstellen, ob in der x'ten Freigabe der mit
SAMBA_VIRUSFILTER und SAMBA_VIRUSFILTER_TYPE eingestellte
Virusscanner aktiv sein soll.
Ist SAMBA_VIRUSFILTER global deaktiviert, hat die Einstellung hier
keine Funktion.
Standardeinstellung: SAMBA_SHARE_x_VIRUSFILTER='no'
Abschnitt "Samba Advanced Configuration/Samba DFS roots":
Der Abschnitt wird eingeleitet mit
#------------------------------------------------------------------------------
# Samba Advanced Configuration/Samba DFS roots
#
# ********************************* ATTENTION ******************************
# * *
# * The following Sections only have an Effect, *
# * if you set SAMBA_MANUAL_CONFIGURATION='yes' *
# * *
# ******************************** ATTENTION *******************************
#
# Definition of Samba DFS roots
#
# Values below are only an example and are not used if
# SAMBA_DFSROOT_N is '0'
#------------------------------------------------------------------------------
ACHTUNG
Die Angaben in diesem Abschnitt haben nur eine Wirkung, wenn
SAMBA_MANUAL_CONFIGURATION='yes'
gesetzt wird!
SAMBA_DFSROOT_N
Erstellung einer bestimmten Anzahl von DFS-roots: z.B. '2'
Über SAMBA_DFSROOT_N wird die Anzahl der zu erstellenden bzw. zu
benutzenden DFS-roots eingestellt. Zur Erzeugung einer sauberen
DFS-Konfiguration ist es notwendig, nach jeder Änderung die
Verzeichnisse mit den Links komplett zu löschen und wieder neu
anzulegen. Deshalb werden die DFS-roots automatisch in einer zur
Laufzeit nur lesbar gemounteten Image-Datei angelegt, damit
nicht direkt in die DFS-roots oder in ein Container-Verzeichnis
für die Links Dateien gespeichert werden können.
Wird hier eine 2 eingegeben, müssen die folgenden Variablen
SAMBA_DFSROOT_1_ACTIVE
SAMBA_DFSROOT_1_NAME
SAMBA_DFSROOT_1_COMMENT
SAMBA_DFSROOT_1_BROWSE
SAMBA_DFSROOT_1_DFSLNK_N
SAMBA_DFSROOT_1_DFSLNK_1_ACTIVE
SAMBA_DFSROOT_1_DFSLNK_1_SUBPATH
SAMBA_DFSROOT_1_DFSLNK_1_NAME
SAMBA_DFSROOT_1_DFSLNK_1_UNC_N
SAMBA_DFSROOT_1_DFSLNK_1_UNC_1_PATH
und
SAMBA_DFSROOT_2_ACTIVE
SAMBA_DFSROOT_2_NAME
SAMBA_DFSROOT_2_COMMENT
SAMBA_DFSROOT_2_BROWSE
SAMBA_DFSROOT_2_DFSLNK_N
SAMBA_DFSROOT_2_DFSLNK_1_ACTIVE
SAMBA_DFSROOT_2_DFSLNK_1_SUBPATH
SAMBA_DFSROOT_2_DFSLNK_1_NAME
SAMBA_DFSROOT_2_DFSLNK_1_UNC_N
SAMBA_DFSROOT_2_DFSLNK_1_UNC_1_PATH
vorhanden und mit sinnvollen Werten gefüllt sein.
Standardeinstellung: SAMBA_DFSROOT_N='0'
SAMBA_DFSROOT_x_ACTIVE
Soll das DFS-root aktiv sein: 'yes' oder 'no'
Mit SAMBA_DFSROOT_x_ACTIVE wird bestimmt, ob ein DFS-root aktiv
ist oder nicht. Möchte man ein DFS-root vorübergehend
deaktivieren, so setzt man die Variable auf 'no'.
Standardeinstellung: SAMBA_DFSROOT_1_ACTIVE='yes'
SAMBA_DFSROOT_x_NAME
Mit SAMBA_DFSROOT_x_NAME wird der Name des x'ten DFS-roots
eingestellt. Unter diesem Namen ist das DFS-root zu erreichen
bzw. in der Netzwerkumgebung von Windows-Rechnern sichtbar
(siehe auch SAMBA_DFSROOT_x_BROWSE weiter unten).
Da es für DFS-Freigaben keinen DOS Client gibt, muss keine
Rücksicht auf DOS-Kompatibilität des Namens genommen werden.
SAMBA_DFSROOT_1_NAME='dfs1'
DFS-root-Namen müssen im Netzwerk eindeutig sein, dürfen also
nicht doppelt vorkommen. Auserdem ist es keine gute Idee
DFS-root-Namen zu vergeben, die identisch mit einem User- oder
Gruppennamen oder mit dem NETBIOS-Namen eines Rechners sind.
Standardeinstellung: SAMBA_DFSROOT_1_NAME='dfs1'
SAMBA_DFSROOT_x_BROWSE
Soll das x'te DFS-root sichtbar sein: 'yes' oder 'no'
Mit SAMBA_DFSROOT_x_BROWSE wird eingestellt, ob das x'te
DFS-root in der Netzwerkumgebung sichtbar sein soll oder nicht.
Möchte man verhindern, dass andere User in der Netzwerkumgebung
das DFS-root sehen können, setzt man
SAMBA_DFSROOT_x_BROWSE='no'
Nutzer, die wissen, dass die DFS-Freigabe existiert, können
trotzdem darauf zugreifen, indem sie z.B. unter Start/Ausführen
\\eisfair\dfsname
eingeben. Dabei ist "eisfair" durch den Namen des
eisfair-Rechners zu ersetzen - wenn er davon abweicht - und
"dfsname" mit dem Namen, den man in SAMBA_DFSROOT_x_NAME
eingetragen hat.
Standardeinstellung: SAMBA_DFSROOT_x_BROWSE='yes'
SAMBA_DFSROOT_x_DFSLNK_N
Erstellung einer bestimmten Anzahl von DFS-Links: z.B. '2'
Über SAMBA_DFSROOT_x_DFSLNK_N wird die Anzahl der im
entsprechenden DFS-root zu erstellenden bzw. zu benutzenden
DFS-Links eingestellt. Wird hier eine 2 eingegeben, müssen die
folgenden Variablen
SAMBA_DFSROOT_1_DFSLNK_1_ACTIVE
SAMBA_DFSROOT_1_DFSLNK_1_SUBPATH
SAMBA_DFSROOT_1_DFSLNK_1_NAME
SAMBA_DFSROOT_1_DFSLNK_1_UNC_N
und
SAMBA_DFSROOT_1_DFSLNK_2_ACTIVE
SAMBA_DFSROOT_1_DFSLNK_2_SUBPATH
SAMBA_DFSROOT_1_DFSLNK_2_NAME
SAMBA_DFSROOT_1_DFSLNK_2_UNC_N
vorhanden und mit sinnvollen Werten gefüllt sein.
SAMBA_DFSROOT_x_DFSLNK_y_ACTIVE
Soll der DFS-Link aktiv sein: 'yes' oder 'no'
Mit SAMBA_DFSROOT_x_DFSLNK_y_ACTIVE wird bestimmt, ob ein
DFS-Link aktiv ist oder nicht. Möchte man einen DFS-Link
vorübergehend deaktivieren, so setzt man die Variable auf 'no'.
Standardeinstellung: SAMBA_DFSROOT_x_DFSLNK_y_ACTIVE='yes'
SAMBA_DFSROOT_x_DFSLNK_y_SUBPATH
Unterverzeichnis für diesen DFS-Link
Mit dieser Variable kann ein Unterverzeichnis erstellt werden,
in dem der DFS-Link angelegt werden soll. Dieses
Unterverzeichnis befindet sich physisch in der zur Laufzeit nur
lesbar gemounteten Image-Datei und darf nicht den gleichen Namen
haben, wie ein auf dieser Ebene angebrachter DFS-Link. Aber es
ist bei mehreren DFS-Links möglich, die verschiedenen
Unterverzeichnisse ein Stück des Weges gemeinsam gehen zu
lassen.
Beispiel:
SAMBA_DFSROOT_1_DFSLNK_1_SUBPATH='sport'
SAMBA_DFSROOT_1_DFSLNK_2_SUBPATH='sport/fussball'
SAMBA_DFSROOT_1_DFSLNK_3_SUBPATH='sport/handball'
Das sieht nachher so aus:
\\eisfair\dfsname\sport
\\eisfair\dfsname\sport\fussball
\\eisfair\dfsname\sport\handball
Dabei ist "eisfair" durch den Namen des eisfair-Rechners zu
ersetzen - wenn er davon abweicht - und "dfsname" mit dem Namen,
den man in SAMBA_DFSROOT_x_NAME eingetragen hat.
SAMBA_DFSROOT_x_DFSLNK_y_NAME
Name für diesen DFS-Link
Mit dieser Variable wird der Name des DFS-Links bestimmt. Dieser
Name muss eindeutig sein, darf also nicht identisch mit einem
eventuell auf gleicher Ebene vorhandenen Unterverzeichnis oder
einem anderen Link sein.
Um beim obigen Beispiel zu bleiben:
SAMBA_DFSROOT_1_DFSLNK_1_SUBPATH='sport'
SAMBA_DFSROOT_1_DFSLNK_2_SUBPATH='sport/fussball'
SAMBA_DFSROOT_1_DFSLNK_3_SUBPATH='sport/handball'
Das so aussieht:
\\eisfair\dfsname\sport
\\eisfair\dfsname\sport\fussball
\\eisfair\dfsname\sport\handball
Hier darf SAMBA_DFSROOT_1_DFSLNK_1_NAME also nicht 'fussball'
oder 'handball' genannt werden - wohl aber 'tennis', 'abcdef'
etc.
SAMBA_DFSROOT_x_DFSLNK_y_UNC_N
Einbindung einer bestimmten Anzahl von DFS-Zielen
Über SAMBA_DFSROOT_x_DFSLNK_y_UNC_N wird die Anzahl der
DFS-Ziele eingestellt, auf die SAMBA_DFSROOT_x_DFSLNK_y zeigt.
Normalerweise wird hier eine 1 eingegeben. Bei 2 und mehr kann
ein Lastenausgleich (load balancing) erzielt werden, falls
Replikations-Server im Netz sind. Wird hier eine 1 eingegeben,
muss die folgende Variable SAMBA_DFSROOT_x_DFSLNK_y_UNC_z_PATH
vorhanden und sinnvoll gefüllt sein.
SAMBA_DFSROOT_x_DFSLNK_y_UNC_z_PATH
UNC-Pfad zu diesem DFS-Ziel
In dieser Variable wird der UNC-Pfad zu diesem DFS-Ziel
untergebracht.
Möglich ist die Angabe aller Freigaben, die über einen UNC-Pfad
erreichbar sind, also
//servername/freigabe
bzw.
//servername/pfad/freigabe
oder
//192.168.10.12/freigabe
bzw.
//192.168.10.12/pfad/freigabe
oder auch lokal
//eisfairname/freigabe
bzw.
//127.0.0.1/pfad/freigabe
Abschnitt "Samba Advanced Configuration/Samba Printers":
Der Abschnitt wird eingeleitet mit
#------------------------------------------------------------------------------
# Samba Advanced Configuration/Samba Printers
#
# ********************************* ATTENTION ******************************
# * *
# * The following Sections only have an Effect, *
# * if you set SAMBA_MANUAL_CONFIGURATION='yes' *
# * *
# ********************************* ATTENTION ******************************
#
# Definition of Samba Printers
#
# Set the number of Samba Printer to use in SAMBA_PRINTER_N.
#
# Values below are only an example and are not used if
# SAMBA_PRINTER_N is '0'
#------------------------------------------------------------------------------
ACHTUNG
Die Angaben in diesem Abschnitt haben nur eine Wirkung, wenn
SAMBA_MANUAL_CONFIGURATION='yes'
gesetzt wird!
SAMBA_PRINTER_N
Erstellung einer bestimmten Anzahl von Freigaben für Drucker:
z.B. '2'
Über SAMBA_PRINTER_N wird die Anzahl der zu benutzenden
Freigaben für Drucker eingestellt.
Hierzu muss das cups-, cups-client oder lprng-Paket installiert
und konfiguriert sein.
Die Einrichtung der von Samba freigegebenen Drucker auf
Windows-Clients wird in Abschnitt 5 beschrieben.
Bei einem zu nutzenden Drucker ist
SAMBA_PRINTER_N='1'
einzutragen. Bei 2 Druckern ist SAMBA_PRINTER_N zu
inkrementieren, also
SAMBA_PRINTER_N='2'
Weiterhin müssen dann auch die korrespondierenden Einstellungen
SAMBA_PRINTER_1_ACTIVE
SAMBA_PRINTER_1_NAME
SAMBA_PRINTER_1_TYPE
SAMBA_PRINTER_1_PDF_QUALITY
SAMBA_PRINTER_1_PDF_OWNERPASS
SAMBA_PRINTER_1_PDF_USERPASS
SAMBA_PRINTER_1_PDF_PERMS
SAMBA_PRINTER_1_PDF_MESSAGES
SAMBA_PRINTER_1_CAPNAME
SAMBA_PRINTER_1_COMMENT
SAMBA_PRINTER_1_CLIENTDRIVER
SAMBA_PRINTER_1_BROWSE
SAMBA_PRINTER_1_USER
SAMBA_PRINTER_1_PUBLIC
und
SAMBA_PRINTER_2_ACTIVE
SAMBA_PRINTER_2_NAME
SAMBA_PRINTER_2_TYPE
SAMBA_PRINTER_2_PDF_QUALITY
SAMBA_PRINTER_1_PDF_OWNERPASS
SAMBA_PRINTER_1_PDF_USERPASS
SAMBA_PRINTER_1_PDF_PERMS
SAMBA_PRINTER_1_PDF_MESSAGES
SAMBA_PRINTER_2_CAPNAME
SAMBA_PRINTER_2_COMMENT
SAMBA_PRINTER_2_CLIENTDRIVER
SAMBA_PRINTER_2_BROWSE
SAMBA_PRINTER_2_USER
SAMBA_PRINTER_2_PUBLIC
vorhanden und mit sinnvollen Werten gefüllt sein.
Standardeinstellung: SAMBA_PRINTER_N='0'
SAMBA_PRINTER_x_ACTIVE
Soll der Drucker aktiv sein: 'yes' oder 'no'
Mit SAMBA_PRINTER_x_ACTIVE wird bestimmt, ob ein Drucker aktiv
ist oder nicht. Möchte man einen Drucker vorübergehend
deaktivieren, so setzt man die Variable auf 'no'.
Standardeinstellung: SAMBA_PRINTER_1_ACTIVE='yes'
SAMBA_PRINTER_x_NAME
Der Name der x'ten Druckerfreigabe
Über diese Variable wird der Name der Druckerfreigabe
eingestellt. Der Drucker ist unter diesem Namen in der
Netzwerkumgebung zu sehen und ansprechbar.
Trotzdem eine Kombination aus 12 Buchstaben und Zahlen ohne
Umlaute sowie der Bindestrich für den Druckernamen hinterlegbar
ist, sollte man sich aus DOS-Kompatibilitätsgründen auf maximal
8 Zeichen beschränken, z.B.
SAMBA_PRINTER_1_NAME='Laserjet'
Das Programm eischk, welches die Konfiguration vor dem
Abspeichern überprüft, bemängelt längere Namen folgerichtig:
Checking configuration file ...
(/etc/config.d/samba:343) problematical value of variable
SAMBA_PRINTER_3_NAME: 'printerlong' (More than 8 characters will
break compatibility with DOS clients!)
An 'problematical' erkennt man, dass das lediglich eine Warnung
ist. Das Abspeichern der Konfiguration ist trotz dieser Warnung
möglich.
SAMBA_PRINTER_x_TYPE
Um welchen Druckertyp handelt es sich:
Durch diese Variable muss festgelegt werden, um welche Art von
Drucker es sich handelt. Das Samba-Paket unterscheidet 3 Arten
von Druckern: Drucker, die mittels Cups oder LPRng konfiguriert
werden, PDF-Drucker, die über /var/install/bin/samba-print-pdf
angesprochen werden und Fax-Drucker.
Einstellung Druckertyp
printcap Für Drucker, die mittels Cups/LPRng konfiguriert wurden
pdf Für Drucker, die PDF-Dateien erzeugen
fax Für Drucker, über die Hyla- oder eisfax angesprochen wird
SAMBA_PRINTER_x_PDF_QUALITY
Mit welcher Qualität sollen PDF-Dateien erzeugt werden:
Durch diese Variable wird festgelegt, mit welcher Qualität
PDF-Dateien erzeugt werden. Diese Variable wird nur ausgewertet,
wenn
SAMBA_PRINTER_x_TYPE='pdf'
gesetzt ist.
Dabei gilt: Qualitativ hochwertigere Dateien sind gleichzeitig
grösser.
Es werden wie beim Vorbild Acrobat Distiller verschiedene
Qualitätsstufen unterstützt:
Einstellung Auswirkung
'' Leer bei Verwendung von ghostpdf.ppd als Druckertreiber
default Bester Kompromiss zwischen Qualität und Grösse
screen Schlechteste Qualität aber dafür kleine Dateien
ebook Mittlere Qualität und mittlere Grösse der Dateien
printer Bessere Qualität, grössere Dateien
prepress Beste Qualität, dafür aber sehr grosse Dateien
Die Qualität ebook ist erst ab der Version 8 von Ghostscript
verfügbar.
SAMBA_PRINTER_x_PDF_OWNERPASS
Das Eigentümerpasswort für erzeugte PDF-Dateien:
Ghostscript ab Version 8 unterstützt die Vergabe von
Eigentümerpassworten für PDF-Dateien. Dieses Passwort ist für
das weitere Editieren der PDF-Dateien mit Software zur
Bearbeitung von PDF-Dateien notwendig, wenn es bei der
Erstellung vergeben wurde. Diese Variable wird nur ausgewertet,
wenn
SAMBA_PRINTER_x_TYPE='pdf'
gesetzt ist.
Möchte man
SAMBA_PRINTER_x_PDF_USERPASS
setzen, ist es notwendig, auch diese Variable hier zu füllen.
SAMBA_PRINTER_x_PDF_USERPASS
Das Passwort zum Öffnen erzeugter PDF-Dateien:
Ghostscript ab Version 8 unterstützt die Vergabe von
User-Passworten für PDF-Dateien. Dieses Passwort ist für das
Öffnen der PDF-Dateien mit dem Acrobar-Reader notwendig, wenn es
bei der Erstellung vergeben wurde. Diese Variable wird nur
ausgewertet, wenn
SAMBA_PRINTER_x_TYPE='pdf'
gesetzt ist.
Weitere Voraussetzung ist die Vergabe von
SAMBA_PRINTER_x_PDF_OWNERPASS
SAMBA_PRINTER_x_PDF_PERMS
Mit welchen Berechtigungen sollen die PDF-Dateien erzeugt
werden:
Ghostscript ab Version 8 unterstützt bei verschlüsselten
PDF-Dateien die Vergabe von Berechtigungen. Diese Berechtigungen
steuern Ausdruck, Änderungen des Inhaltes, Kopieren des Inhalts
und das Hinzufügen und Ändern von Kommentaren. Diese Variable
wird nur ausgewertet, wenn
SAMBA_PRINTER_x_TYPE='pdf'
und
SAMBA_PRINTER_x_PDF_OWNERPASS
gesetzt sind. Der Wert der Variablen SAMBA_PRINTER_x_PDF_PERMS
wird wie folgt berechnet:
Der Standard-Wert ist -4. Hierbei besteht keine Beschränkung des
Dokumentes. Um die gewünschte Kombination der Berechtigungen zu
erhalten, ist der entsprechende Wert (s.u.) vom Standard-Wert zu
subtrahieren.
1. -4 = Drucken
2. -8 = Aendern
3. -16 = Kopieren des Inhaltes
4. -32 = Hinzufuegen und Aendern von Kommentaren
Einstellung Auswirkung
'' wie -4, alle erlaubt
-4 wie '', alle erlaubt
-8 alle ausser 1 erlaubt
-12 alle ausser 2 erlaubt
-16 alle ausser 1,2 erlaubt
-20 alle ausser 3 erlaubt
-24 alle ausser 1,3 erlaubt
-28 alle ausser 2,3 erlaubt
-32 alle ausser 1,2,3 erlaubt
-36 alle ausser 4 erlaubt
-40 alle ausser 1,4 erlaubt
-44 alle ausser 2,4 erlaubt
-48 alle ausser 1,2,4 erlaubt
-52 alle ausser 3,4 erlaubt
-56 alle ausser 1,3,4 erlaubt
-60 alle ausser 2,3,4 erlaubt
-64 nichts erlaubt
Standardeinstellung: SAMBA_PRINTER_x_PDF_PERMS=
SAMBA_PRINTER_x_PDF_MESSAGES
Sollen bei der Erzeugung von PDF-Dateien NETBIOS-Nachrichten
versendet werden: 'yes' oder 'no'
Mit SAMBA_PRINTER_x_PDF_MESSAGES wird bestimmt, ob bei der
Erzeugung von PDF-Dateien NETBIOS-Nachrichten versendet werden
sollen oder nicht. Möchte man keine Nachrichten versenden, so
setzt man die Variable auf 'no'. Das kann zum Beispiel in
Terminal-Server-Umgebungen nützlich sein, da die Nachrichten
immer an die IP-Adresse bzw. den NETBIOS-Namen des Rechners
versendet werden, der den Druckjob abgeschickt hat. Da auf einem
Terminal-Server der Terminal-Server selbst der absendende
Rechner ist, erhalten hier alle Nutzer mit offener
Terminal-Sitzung die Benachrichtigungen, die eigentlich nur für
einen bestimmten Benutzer gedacht sind. Schaltet man die
Benachrichtigungen hier ab, erhält man allerdings auch keine
Fehlermeldungen mehr. NETBIOS-Nachrichten werden auf Clients mit
aktiviertem Nachrichtendienst ausgegeben. Der Nachrichtendienst
ist auf Windows-NT, Windows-2000 und Windows XP normalerweise
aktiviert und muss anderenfalls nachinstalliert/aktiviert
werden. Unter Windows-9x-Clients wie Windows 98 oder Windows ME
muss dazu das Programm WinPopUp laufen. Unter Windows
Vista/7/8/10 existiert kein Nachrichtendienst mehr!
Standardeinstellung: SAMBA_PRINTER_x_PDF_MESSAGES='yes'
SAMBA_PRINTER_x_CAPNAME
Die Warteschlange (Queue) des x'ten Druckers, wie sie in Cups oder
LPRng konfiguriert ist.
Hiermit muss der Name des x'ten Druckers angegeben werden,
damit die fertig gespoolte Datei auf dem richtigen Drucker
ausgegeben werden kann. Wer bei dieser Angabe einen Fehler macht,
wird keinen Ausdruck erhalten, obwohl die Windows-Clients der
Meinung sind, korrekt gedruckt zu haben. Diese Variable wird nur
ausgewertet, wenn
SAMBA_PRINTER_x_TYPE='printcap'
gesetzt ist. Für eisfax und die PDF-Drucker muss die Variable
leer bleiben! Beispiel:
SAMBA_PRINTER_1_CAPNAME='pr1'
SAMBA_PRINTER_x_COMMENT
Der Kommentar des x'ten Druckers in der Netzwerkumgebung
In dieser Variable kann der in der Netzwerkumgebung angezeigte
Kommentar konfiguriert werden. Die Variable "%h" wird von Samba
dabei durch den Hostnamen des eisfair-Rechners ersetzt.
Beispiel:
SAMBA_PRINTER_1_COMMENT='Laserjet on %h'
SAMBA_PRINTER_x_CLIENTDRIVER
Soll für den x'ten Drucker der Treiber auf dem Client genutzt
werden: 'yes' oder 'no'
Diese Variable muss immer dann auf 'yes' gesetzt werden, wenn
man auf den Clients lokal einen Druckertreiber für den Zugriff
auf den/die Drucker an eisfair installiert und den automatischen
Treiber-Download von Samba nicht benutzt. Das Hinterlegen von
Treibern auf dem Server funktioniert mit dieser Einstellung
nicht! Daraus ergibt sich, dass die Variable genau dann auf 'no'
gesetzt werden muss, wenn man den automatischen Treiber-Download
von Samba benutzt. Setzt man hier 'no' aber benutzt einen
lokalen Treiber auf den Clients, kommt es zu Schwierigkeiten mit
der Drucker-Status-Abfrage, wenn man auf Windows-NT/-2000/-XP
Mitglied der Gruppe der Administratoren ist und auf eisfair in
der /etc/user.map nicht auf den User 'root' umgesetzt wird.
Standardeinstellung: SAMBA_PRINTER_x_CLIENTDRIVER='yes'
SAMBA_PRINTER_x_BROWSE
Soll der x'te Drucker sichtbar sein: 'yes' oder 'no'
Mit SAMBA_PRINTER_x_BROWSE wird eingestellt, ob der x'te Drucker
sichtbar sein soll oder nicht. Möchte man verhindern, dass
andere User in der Netzwerkumgebung den Drucker sehen können,
setzt man
SAMBA_PRINTER_x_BROWSE='no'
Nutzer, die wissen, dass der Drucker existiert, können trotzdem
darauf zugreifen, indem sie z.B. bei der Konfiguration als
Netzwerkpfad
\\eisfair\printer
eingeben. Dabei ist "eisfair" durch den Namen des
eisfair-Rechners zu ersetzen - wenn er davon abweicht - und
"printer" mit dem Namen, den man in SAMBA_PRINTER_x_NAME
eingetragen hat.
Standardeinstellung: SAMBA_PRINTER_x_BROWSE='yes'
SAMBA_PRINTER_x_USER
Die User des x'ten Druckers
Mit dieser Variable wird definiert, welche User oder Gruppen auf
den x'ten Drucker zugreifen dürfen. Mehrere User werden
hintereinander geschrieben und durch ein Leerzeichen getrennt,
Gruppen werden mit einem + davor angegeben. Ein Beispiel:
SAMBA_PRINTER_1_USER='user1 user2 +samba'
Auf die Druckerfreigabe haben also der User "user1", der User
"user2" und die Gruppe "samba" Zugriff. Wird die Variable nicht
gefüllt, hat nur der User "root" Zugriff. Aber Achtung! Eine
Besonderheit gibt es. Wird die Variable
SAMBA_PRINTER_1_PUBLIC
auf 'yes' gesetzt, dominiert sie über den Eintrag in
SAMBA_PRINTER_1_USER
Es haben dann wieder alle Benutzer Zugriff! Bei der Erstellung
der Samba-Konfiguration wird überprüft, ob die hier angegebenen
User oder Gruppen tatsächlich existieren. Ist das nicht der
Fall, so wird diese Freigabe mit einer Warnung übersprungen und
ist damit nicht erreichbar. Wer eine solche Warnung erhält,
sollte peinlichst genau kontrollieren, ob er sich bei den User-
oder Gruppennamen nicht verschrieben hat.
SAMBA_PRINTER_x_PUBLIC
Sollen alle Samba-Benutzer Zugriff haben: 'yes' oder 'no'
Wird diese Variable auf 'yes' gesetzt, haben alle registrierten
Samba- User auf den Drucker Zugriff. Diese Variable dominiert
über
SAMBA_PRINTER_x_USER='yes'
Abschnitt "Samba Advanced Configuration/Samba Mounts":
Der Abschnitt wird eingeleitet mit
#------------------------------------------------------------------------------
# Samba Mounts
#
# Definition of Samba Mounts
#
# Set the number of Samba Mounts to use in SAMBA_MOUNT_N.
#
# Values below are only an example and are not used if
# SAMBA_MOUNT_N is '0'
#------------------------------------------------------------------------------
SAMBA_MOUNT_N
Definition einer bestimmten Anzahl von einzumountenden Freigaben
anderer Rechner: z.B. '2'
Über SAMBA_MOUNT_N wird die Anzahl der zu mountenden Freigaben
anderer SMB-Server eingestellt. Diese Freigaben werden bei
korrekter Definition beim Starten von Samba mit den weiter unten
stehenden Optionen gemountet und beim Beenden von Samba wieder
dismountet. Bei einer zu nutzenden Freigabe ist
SAMBA_MOUNT_N='1'
einzutragen. Bei 2 Freigaben ist SAMBA_MOUNT_N zu
inkrementieren, also
SAMBA_MOUNT_N='2'
Weiterhin müssen dann auch die korrespondierenden Einstellungen
SAMBA_MOUNT_1_ACTIVE
SAMBA_MOUNT_1_SERVER
SAMBA_MOUNT_1_SHARE
SAMBA_MOUNT_1_POINT
SAMBA_MOUNT_1_USER
SAMBA_MOUNT_1_PASS
SAMBA_MOUNT_1_RW
SAMBA_MOUNT_1_UID
SAMBA_MOUNT_1_GID
SAMBA_MOUNT_1_FMASK
SAMBA_MOUNT_1_DMASK
SAMBA_MOUNT_1_IOCHARSET
und
SAMBA_MOUNT_2_ACTIVE
SAMBA_MOUNT_2_SERVER
SAMBA_MOUNT_2_SHARE
SAMBA_MOUNT_2_POINT
SAMBA_MOUNT_2_USER
SAMBA_MOUNT_2_PASS
SAMBA_MOUNT_2_RW
SAMBA_MOUNT_2_UID
SAMBA_MOUNT_2_GID
SAMBA_MOUNT_2_FMASK
SAMBA_MOUNT_2_DMASK
SAMBA_MOUNT_2_IOCARSET
vorhanden und mit sinnvollen Werten gefüllt sein.
Standardeinstellung: SAMBA_MOUNT_N='0'
SAMBA_MOUNT_x_ACTIVE
Soll die Mount-Definition aktiv sein: 'yes' oder 'no'
Mit SAMBA_MOUNT_x_ACTIVE wird bestimmt, ob diese Definition zum
Einmounten von Freigaben anderer SMB-Server aktiv ist oder
nicht. Möchte man eine Mount-Definition vorübergehend
deaktivieren, so setzt man die Variable auf 'no'.
Standardeinstellung: SAMBA_MOUNT_1_ACTIVE='no'
SAMBA_MOUNT_x_AUTOMOUNT
Soll die Mount-Definition automatisch oder manuell aktiviert werden: 'yes' oder 'no'
Mit SAMBA_MOUNT_x_AUTOMOUNT wird bestimmt, ob diese Definition
einer Freigabe eines anderen SMB-Server automatisch oder manuell
erfolgen soll. Möchte man eine Mount-Definition nur manuell im
Samba-Menü (Mount predefined SMB Filesystems) ein- oder ausbinden,
so setzt man die Variable auf 'no'.
Standardeinstellung: SAMBA_MOUNT_1_AUTOMOUNT='no'
SAMBA_MOUNT_x_SERVER
Der NETBIOS-Name des x'ten Servers der einzumountenden Freigabe
Über diese Variable wird der NETBIOS-Name des Servers
eingestellt, der die Freigabe zur Verfügung stellt. Es versteht
sich sicherlich von selbst, dass ein Server im Netzwerk nicht
gefunden werden kann, dessen Name hier falsch angegeben wurde.
Wenn die Freigabe nicht gemountet werden kann, sollte man
zuallererst kontrollieren, ob die Angabe hier richtig ist. Die
Konfiguration von SAMBA_MOUNT_x_SERVER ist in jedem Fall
zwingend erforderlich.
SAMBA_MOUNT_x_SHARE
Mit SAMBA_MOUNT_x_SHARE wird der Name der x'ten einzumountenden
Freigabe eingestellt. Diesen Namen habt Ihr bei Erstellung der
Freigabe auf dem entfernten Rechner konfiguriert und er muss
hier genau so hinterlegt werden. Es versteht sich von selbst,
dass keine Verbindung zu einer Freigabe im Netzwerk hergestellt
werden kann, die namentlich nicht existiert. Wenn die Freigabe
nicht gemountet werden kann, sollte man also überprüfen, ob die
Angabe hier richtig ist. Die Konfiguration von
SAMBA_MOUNT_x_SHARE ist in jedem Fall zwingend erforderlich.
SAMBA_MOUNT_x_POINT
Der Punkt im Verzeichnisbaum, in den die Freigabe eingemountet
werden soll: z.B. '/mountpoint1'
Die entfernte Freigabe muss in den Verzeichnisbaum eingehangen
werden. In dieser Variable definiert man, an welcher Stelle das
geschehen soll. Dazu ist ein absoluter Pfad beginnend mit dem
'/' anzugeben. Möchte man die Freigabe also unter
/mountpoint1
in den Verzeichnisbaum einbinden, ist beim ersten Mount
SAMBA_MOUNT_1_POINT='/mountpoint1'
anzugeben. Wenn das Verzeichnis nicht existiert, wird es
automatisch angelegt und wenn es existiert, wird es einfach
benutzt. Es gibt im Moment keine Möglichkeit, einmal erstellte
Verzeichnisse über die Samba-Konfiguration zu löschen. Beachtet
ausserdem, dass nicht zwei verschiedene Freigaben unter dem
selben Mountpoint eingehangen werden können. Hat man also für
den Mountpoint der ersten entfernten Freigabe
SAMBA_MOUNT_1_POINT='/mountpoint1'
gesetzt, darf dieser Mountpoint für weitere Freigaben nicht mehr
benutzt werden. Die Konfiguration von SAMBA_MOUNT_x_POINT ist in
jedem Fall zwingend erforderlich.
SAMBA_MOUNT_x_USER
Die User für die Anmeldung an der x'ten Freigabe
Mit dieser Variable wird der Benutzername definiert, mit welchem
auf die entfernte Freigabe zugegriffen wird. Wenn der Zugriff
auf die entfernte Freigabe nur mittels Benutzername gestattet
ist, muss dieser Benutzername hier angegeben werden. Ein
Beispiel:
SAMBA_MOUNT_x_USER='user1'
Die Angabe ist optional, also nur unter der oben beschriebenen
Voraussetzung notwendig.
SAMBA_MOUNT_x_PASS
Das Passwort für die Anmeldung an der x'ten Freigabe
Wurde die entfernte Freigabe mit einem Passwort oder mit einer
Kombination von Benutzernamen und Passwort gesichert, so ist das
Passwort in dieser Variable wie folgt anzugeben:
SAMBA_MOUNT_x_PASS='geheim'
Die Angabe ist optional, also nur unter den oben beschriebenen
Voraussetzungen notwendig.
SAMBA_MOUNT_x_RW
Soll die eingemountete Freigabe beschreibbar sein: 'yes' oder
'no'
Über SAMBA_MOUNT_x_RW wird eingestellt, ob die x'te
eingemountete Freigabe beschreibbar sein soll.
Wird hier 'no' gewählt, können Dateien von dieser Freigabe
gelesen aber nicht dorthin gespeichert werden. Das ist vor allem
bei Dateien sinnvoll, die man anderen zur Verfügung stellen
möchte aber dabei unbedingt verhindern will, dass diese Dateien
verändert oder sogar gelöscht werden.
SAMBA_MOUNT_x_UID
Welchem User sollen die Dateien der eingemounteten Freigabe
gehören?
Über SAMBA_MOUNT_x_UID wird bestimmt, wer der Besitzer der
eingemounteten Dateien ist. Das bedarf einer näheren Erklärung:
Das cifs-Modul, welches nicht zu Samba gehört, sondern
Bestandteil des Kernels ist, hat leider ein paar
Einschränkungen. So ist es unter anderem nicht möglich,
Berechtigungen der entfernten Dateien im lokalen Dateisystem
abzubilden. Deshalb müssen ersatzweise andere Berechtigungen
definiert werden. Das macht man mittels der Variablen
SAMBA_MOUNT_x_UID
und
SAMBA_MOUNT_x_GID
Werden diese nicht gefüllt, so gehören die Dateien dem User und
der Gruppe 'root', mit dem die Freigabe gemountet wird. Wenn man
eingemountete Dateien als einfacher User nicht bearbeiten kann,
dann weiss man jetzt, warum das so ist. Die Variable kann wie
folgt gefüllt werden:
SAMBA_MOUNT_x_UID='user1'
oder
SAMBA_MOUNT_x_UID='2002'
Im ersten Beispiel wurde ein existierender Benutzername
angegeben, im zweiten Beispiel die numerische User-Id. Die
Angabe ist optional, also nur unter den oben beschriebenen
Voraussetzungen notwendig.
SAMBA_MOUNT_x_GID
Welcher Gruppe sollen die Dateien der eingemounteten Freigabe
gehören?
Über SAMBA_MOUNT_x_GID wird bestimmt, welche Gruppe der Besitzer
der eingemounteten Dateien ist. Siehe dazu die Erklärungen unter
SAMBA_MOUNT_x_UID
Die Variable kann wie folgt gefüllt werden:
SAMBA_MOUNT_x_GID='users'
oder
SAMBA_MOUNT_x_GID='100'
Im ersten Beispiel wurde ein existierender Gruppenname
angegeben, im zweiten Beispiel die numerische Gruppen-Id. Die
Angabe ist optional, also nur unter den oben beschriebenen
Voraussetzungen notwendig.
SAMBA_MOUNT_x_FMASK
Welche Rechte sollen neu erzeugte Dateien in der eingemounteten
Freigabe erhalten?
Über SAMBA_MOUNT_x_FMASK wird eingestellt, welche Rechte Dateien
erhalten, die in der eingemounteten Freigabe neu erstellt
werden. Wird die Variable nicht gefüllt, so werden die Rechte
basierend auf der aktuellen umask des mountenden Users gesetzt.
Die Variable kann wie folgt gefüllt werden:
SAMBA_MOUNT_x_FMASK='0755'
SAMBA_MOUNT_x_DMASK
Welche Rechte sollen neu erzeugte Verzeichnisse in der
eingemounteten Freigabe erhalten?
Siehe dazu die Erklärungen unter
SAMBA_MOUNT_x_FMASK
Die Variable kann wie folgt gefüllt werden:
SAMBA_MOUNT_x_DMASK='0755'
SAMBA_MOUNT_x_IOCHARSET
Angabe des Character-Sets
Mit SAMBA_MOUNT_x_IOCHARSET wird eingestellt, welches charset
auf eisfair-Seite für die Umsetzung von Codepages zu
Character-Sets für die x'te einzumountende Freigabe benutzt
werden soll. Die Variable kann mit folgenden Werten gefüllt
werden:
iso8859-1
iso8859-2
iso8859-3
iso8859-4
iso8859-5
iso8859-6
iso8859-7
iso8859-8
iso8859-9
iso8859-14
iso8859-15
koi8-r
koi8-ru
utf8
Bei einer Environment-Einstellung wie
LC_CTYPE='de_DE.UTF-8'
sollte korrespondierend
SAMBA_MOUNT_x_IOCHARSET='utf8'
gesetzt werden - anderenfalls
SAMBA_MOUNT_x_IOCHARSET='iso8859-15'
SAMBA_MOUNT_x_CIFSVER
Angabe der CIFS Version
Mit SAMBA_MOUNT_x_CIFSVER wird eingestellt, welche Version
des CIFS-Protokolls beim Mount verwendet werden soll.
Die Variable kann mit folgenden Werten gefüllt
werden:
, 1.0, 2.0, 2.1, 3.0 oder 3.02
Der nächste Eintrag im Menü
Samba Configuration Handling
heisst
Show all Samba Variables
und gibt ausführliche Informationen zur aktiven Konfiguration aus.
Dafür werden diese Informationen gesammelt und gemeinsam angezeigt. Zur
Zeit wird der Inhalt der Datei
/etc/user.map
ausgegeben, in welcher Windows-Benutzer auf eisfair-Benutzer umgesetzt
werden, sowie alle von Samba verwendeten Parameter der Datei
/etc/smb.conf
und auch alle Voreinstellungen von Samba, die dort nicht explizit
gesetzt wurden aber trotzdem wirksam sind.
Der nächste Eintrag im Menü
Samba Configuration Handling
heisst
Samba Advanced configuration file handling
und ist weitgehend selbsterklärend.
Samba-Service-Menü Punkt 3: Samba User Handling
Hier finden wir folgende Menü-Punkte:
1: List Samba User
2: Add Samba User
3: Remove Samba User
4: Activate Existing Samba User
5: Deactivate Existing Samba User
6: Change Samba Password of existing Samba User
0: Exit
Um sich einen Überblick über schon existierende Samba-User zu
verschaffen, wählt man
1: List Samba User
Zusätzlich zum Namen wird die UID des dem Samba-User zugeordneten
eisfair-Users (es können nur Samba-User angelegt werden, die schon als
eisfair-User existieren), der Status des Passwortes (gesetzt oder
nicht) und der augenblickliche Status des Samba-Accounts (aktiviert
oder nicht) ausgegeben.
Damit die Benutzer der Windows-Clients den Sambaserver nutzen können,
müssen sie beim Sambaserver bekannt sein. Als Samba-User können nur
bereits bekannte (angelegte) User des eisfair-Systems angelegt werden.
Möchte man also einen Samba-User anlegen, der noch nicht als
eisfair-User existiert, so wird das nicht gelingen! eisfair-User werden
nicht im Samba-Menü angelegt, sondern im eisfair-Setup-Menü unter
4: User administration
2: Add a new user
Wenn man sicher ist, dass der entsprechende eisfair-User existiert,
kann man unter
2: Add Samba User
die Samba-User anlegen.
Hier werden Benutzername und das Passwort des anzulegenden Users
abgefragt. Das sind die Daten, mit denen man sich am Windows-Client
anmeldet.
Ein paar Hinweise dazu: Es ist unbedingt der User "root" als Samba-User
anzulegen (als eisfair-User existiert "root" schon). Für jeden Benutzer
muss bei der Windows-Anmeldung zwingend ein Passwort hinterlegt sein
und der Samba-User muss das identische Passwort haben! Unter Windows XP
sollte unbedingt die schnelle Benutzerumschaltung deaktiviert werden.
Benutzernamen mit Leerzeichen kann man beim Anlegen der Samba-User
genauso wenig verwenden, wie bei den eisfair-Usern. Verwendet man solch
einen Namen auf seinem Windows-Client zur Anmeldung, muss man einen
Namen ohne Leerzeichen als eisfair-User und als Samba-User einrichten
und zu diesem Namen hier ein Passwort definieren. Siehe dazu:
SAMBA_USERMAP_N
Um User als Samba-User zu entfernen, wählt man den Eintrag
3: Remove Samba User
und gibt den Namen des zu entfernenden Samba-Users ein. Dabei wird nach
Angabe des Usernamens der entsprechende Samba-User gelöscht (das
bezieht sich nicht auf den Account auf der Ebene des eisfair-Systems,
sondern nur auf Samba).
Um einen schon angelegten aber vorübergehend deaktivierten Samba-User
zu aktivieren, wählt man
4: Activate Existing Samba User
Noch einmal: Man kann nur schon als System-User und Samba-User
angelegte User aktivieren! Das ist nur notwendig, wenn ein User
vorübergehend deaktiviert worden ist.
Um einen schon angelegten (und damit automatisch aktivierten)
Samba-User zu deaktivieren, wählt man
5: Deactivate Existing Samba User
Noch einmal: Man kann nur schon als System-User und Samba-User
angelegte User deaktivieren! Damit wird nur der Zugriff über Samba
ausgeschlossen. Das macht nur Sinn, wenn der User zeitweise keinen
Zugriff über die Netzwerkumgebung erhalten soll.
6: Change Samba Password of existing Samba User
Hiermit kann das Samba-Passwort existierender Samba-User geändert
werden.
Samba-Service-Menü Punkt 4: Samba Server Handling
Dieser Punkt des Samba-Service-Menüs öffnet ein Untermenü mit den
folgenden Möglichkeiten:
1: Show Status of Samba
2: Stop Samba
3: Stop Samba delayed
4: Start Samba
5: Restart Samba
6: Reload Samba
0: Exit
Die Punkte sind selbsterklärend. Der Unterschied zwischen 'Restart' und
'Reload' besteht darin, dass Samba bei 'Restart' komplett beendet und
neu gestartet wird, während 'Reload' nur die Konfiguration neu einliest
- bestehende Verbindungen werden dabei nicht gekappt. Eine Ausnahme
bilden die auf eisfair eingemounteten Freigaben anderer Rechner. Diese
werden sowohl bei 'Restart' als auch bei 'Reload' beendet und wieder
neu aufgebaut.
Samba-Service-Menü Punkt 5: Samba Domain Handling
Hier findet man folgende Menü-Punkte:
1: Samba PDC Workstation Configuration (NT, 2000, XP)
2: Add eisfair Samba Server into an Windows NT Domain
3: Save Samba SID to /root/MACHINE.SID
4: Restore Samba SID from /root/MACHINE.SID
0: Exit
Samba PDC Workstation Configuration (NT, 2000, XP)
1: List Samba Workstations
Mit dem ersten Punkt kann man sich die erzeugten Workstation-Accounts
anzeigen lassen.
2: Add Samba Workstation
Mit dem zweiten Punkt kann man manuell Workstation-Accounts anlegen,
die für den Zugriff von Windows-NT-, Windows-2000- oder
Windows-XP-Clients auf den als Primary Domain Controller (PDC)
konfigurierten eisfair-Samba-Server benötigt werden (Windows-9x-Clients
müssen nicht eingetragen werden!). Da das fehleranfällig ist (Gross-
und Kleinschreibung der NETBIOS-Namen ist zu beachten), sollte man das
aber lieber Samba selbst überlassen, welches bei korrekter
Konfiguration diese Accounts automatisch erzeugt.
3: Remove Samba Workstation
Der dritte Punkt erlaubt es, Workstation-Accounts zu löschen; damit ist
von diesen Clients aus kein Zugriff mehr auf den als PDC konfigurierten
eisfair-Samba-Server möglich. Das sollte man sich jedoch gut überlegen,
denn auch wenn manuell wieder ein Account mit dem selben NETBIOS-Namen
erzeugt wird, so ist es doch ein neuer Account und die Workstation kann
sich erst wieder an der Domäne anmelden, wenn sie ihr neu hinzugefügt
wurde!
Add eisfair Samba Server into an Windows NT Domain
Hier kann man den eisfair-Rechner in eine Windows-NT-4.0-Domäne
integrieren. Das ist nur sinnvoll, wenn man in seinem Netzwerk eine
solche Domäne hat und die auf den eisfair-Samba-Server zugreifenden
Benutzer in dieser Domäne authentifizieren möchte.
Bevor man diesen Punkt ausführen kann, muss man auf dem Primary Domain
Controller den eisfair-Rechner mit dem Server Manager unter dem
Menü-Punkt
Computer
Neuer Computer
als neuen Rechner hinzugefügen (Maschinenkonto). Bei einer
Windows-2000-Domäne muss ausserdem für dieses Maschinenkonto folgende
Eigenschaft aktiviert werden:
"Windows NT 3.5x/4.0-Computern die Verwendung dieses Kontos gestatten"
Dann wählt man den Eintrag
Add eisfair Samba Server into an Windows NT Domain
Hierbei ist zu beachten, dass zum erfolgreichen Hinzufügen zur Domäne
die Samba-Dienste gestoppt werden müssen! Beim Aufruf wird überprüft,
ob Samba läuft. Wenn das der Fall, wird das Skript mit einer
entsprechenden Warnung beendet. Man sollte mit der Ausführung also
warten, bis keine Clients mehr auf den eisfair-Samba-Server zugreifen.
Dann kann man Samba stoppen und diesen Menü-Punkt ausführen.
Zuallererst wird dann der Benutzernamen und das Passwort des
Administrator-Accounts auf dem Primary Domain Controller (NT 4.0)
abgefragt, da nur dieser Maschinen zur Domäne hinzufügen darf. Das
Passwort wird aus Sicherheitsgründen bei der Eingabe auf dem Bildschirm
nicht angezeigt - man muss es also blind eintippen! Dann muss der
NETBIOS-Name des Primary Domain Controllers (NT 4.0) angegeben werden
und zum Schluss der Name der Domäne.
Wenn alles geklappt hat, erhält man die erfreuliche Meldung
Joined domain YYY.
, wenn nicht
Error connecting to XXX
Unable to join domain YYY.
, wobei XXX für den Namen des Primary Domain Controllers steht und YYY
für den Namen der Domäne. Wenn man Erfolg hatte, muss nun noch die
Samba-Konfiguration editiert werden (Edit Samba Configuration):
Die Variable
SAMBA_PASSWORD_SERVER
muss mit dem NETBIOS-Namen des Primary Domain Controllers oder mit '*'
gefüllt werden, siehe auch die Erläuterungen unter
SAMBA_PASSWORD_SERVER.
Save Samba SID to /root/MACHINE.SID
Muss man irgendwann einmal den Hostnamen des eisfair-Rechners ändern
und läuft dieser als Primary Domain Controller, so hat das einen
unschönen Nebeneffekt:
Clients , welche schon zur Domäne hinzugefügt waren, können sich nicht
mehr an dieser anmelden.
Woran das liegt?
Beim Hinzufügen zur Domäne bekommt der Client vom PDC eine
Sicherheits-ID mitgeteilt und speichert diese ab. Diese Sicherheits-ID
wird aber von Samba nach einer Änderung des Hostnamens neu generiert.
Da nun die SID des PDC und der Clients nicht mehr übereinstimmen, kann
sich von den Clients niemand mehr an der Domäne anmelden.
Normalerweise muss man nun alle Clients wieder mühsam neu in der Domäne
anmelden: Jede einzelne Workstation muss temporär in eine Arbeitsgruppe
mit anderem Namen als dem Domänen-Namen aufgenommen und hinterher
wieder neu in die Domäne integriert werden. Das erfordert ein
zweimaliges Booten der Clients und kann bei vielen Maschinen sehr
zeitaufwendig werden...
Eleganter ist daher folgende Methode: Vor einer Änderung des Hostnamens
von eisfair speichert man die SID und stellt diese hinterher wieder
her. Mit diesem Menü-Punkt wird die vor den Blicken anderer zu
schützende SID im Home-Verzeichnis von root in der Datei
/root/MACHINE.SID
abgespeichert.
Restore Samba SID from /root/MACHINE.SID
Hiermit wird die SID aus der Datei
/root/MACHINE.SID
in die Samba-Datenbank zurückgesichert.
Samba-Service-Menü Punkt 6: SMB Filesystem Handling
Hier findet man:
1: List Mounted SMB Filesystems
2: Mount SMB Filesystems
3: Mount predefined SMB Filesystems
4: Dismount SMB Filesystems
0: Exit
Diese Punkte sind dazu gedacht, Freigaben von SMB-Servern (das können
Rechner fast beliebiger Betriebssysteme sein, die das SMB-Protokoll
unterstützen) in das Dateisystem von eisfair einzumounten und wieder zu
dismounten.
1: List Mounted SMB Filesystems
Hier werden, wenn vorhanden, die eingemounteten Freigaben angezeigt.
Den Mountpoint (das Verzeichnis, in welches gemountet wurde) findet man
unter dem gleichnamigen Eintrag.
2: Mount SMB Filesystems
Um diesen Punkt benutzen zu können, muss Samba gestartet sein. Ist das
nicht der Fall, erhält man eine entsprechende Warnung und das Skript
wird beendet. Läuft Samba, wird zuerst der NETBIOS-Name des Rechners
angegeben, dessen Freigabe man einbinden will. Diese Eingabe ist nicht
case-sensitiv, was bedeutet, dass nicht auf die Gross- und
Kleinschreibung geachtet werden muss. Wird der SMB-Server nicht
gefunden, erhält man sofort eine entsprechende Fehlermeldung. Als
nächstes ist der Name der Freigabe einzugeben. Auch diese Eingabe ist
nicht case-sensitiv. Hier kann leider nicht geprüft werden, ob die
Freigabe existiert, da je nach Einstellung ein Benutzername und ein
Passwort für die Abfrage der Shares notwendig ist. Nun ist das
Verzeichnis anzugeben, in welches man die Freigabe einmounten möchte.
Hier ist ein absoluter Pfad im Dateisystem anzugeben. Solch ein Pfad
muss immer mit einem '/', z.B.:
/mountpoint
beginnen! Das Verzeichnis wird automatisch erstellt, wenn es nicht
vorhanden ist. Wenn es schon vorhanden ist, kann es nur benutzt werden,
wenn sich keinerlei Dateien oder Verzeichnisse darin befinden. Ist das
Verzeichnis nicht leer, erhält man eine Fehlermeldung. Ist das
Verzeichnis nicht leer, weil man hier schon eine Freigabe eingemountet
hat, erhält man die Möglichkeit, die schon gemountete Freigabe zu
trennen, um die neue Freigabe statt dessen einmounten zu können. Das
sollte man nur tun, wenn man sicher ist, dass niemand mehr auf diese
Dateien zugreift! Übergeht man die Frage mit Enter, so wird als
Mountpoint die Vorgabe
/mountpoint
verwendet. Nun müssen für den Zugriff Benutzername und Passwort
angegeben werden, wenn diese für die Freigabe definiert wurden. Diese
Angaben sind case-sensitiv! Das Passwort wird aus Sicherheitsgründen
bei der Eingabe auf dem Bildschirm nicht angezeigt - man muss es also
blind eintippen!
In nächsten Schritt wird abgefragt, ob die Freigabe nur lesbar (ro)
oder auch schreibbar eingemountet werden soll (rw). Betätigen von Enter
verwendet die Voreinstellung 'rw'.
Als nächstes wird gefragt, unter welcher User-Id die Freigabe gemountet
werden soll. Betätigen von Enter verwendet die Voreinstellung 'root'.
Danach wird die Group-Id abgefragt. Auch hier übernimmt ein einfaches
Enter die Voreinstellung 'root'. In den nächsten Schritten folgen file
mask, directory mask und iocharset.
Wenn alle Angaben korrekt waren, kann man nun in dem Verzeichnis
(Mountpoint) mit den Dateien arbeiten, als ob sie lokal auf dem Rechner
liegen würden.
Achtung: Wurden die Dateien ohne Schreibschutz freigegeben, kann man
sie natürlich auf dem entfernten Rechner löschen, indem man sie im
Dateisystem auf eisfair löscht. Löscht man z.B. das Verzeichnis, in
welches die Freigabe eingemountet wurde, werden ohne Schreibschutz
sämtliche Dateien dieser Freigabe auf dem entfernten Rechner gelöscht!
3: Mount predefined SMB Filesystems
Hiermit kann man in der Samba-Konfiguration vordefinierte Mounts
einmountet, unabhängig davon, ob sie aktiv sind oder nicht.
4: Dismount SMB Filesystems
Hierüber kann man die eingemounteten Freigaben wieder dismounten. Man
hat die Wahl zwischen zwei Optionen:
1. Option
Alle Freigaben trennen. Dazu gibt man
all
ein.
2. Option
Einzelne Freigaben trennen. Dazu gibt man die exakten Namen der
Verzeichnisse an, in die sie gemountet wurden, getrennt durch ein
Leerzeichen. Dazu ist es notwendig, auch das führende '/' mit
anzugeben. Die Eingabe ist case-sensitiv - Gross- und Kleinschreibung
muss also beachtet werden, also z.B.:
/mountpoint1 /MOUNTPOINT2
Samba-Service-Menü Punkt 7: Send Message to SMB Hosts
Unter
6: Send Message to SMB Hosts
kann man interaktiv Nachrichten an SMB-Hosts versenden. Bei Auswahl
dieses Eintrags erscheint folgende Ausgabe:
Send Message to SMB Hosts
To which SMB Hosts the message should be send?
Choice 1
--------
All SMB Hosts on configured Subnets on eisfair - type 'all'.
Choice 2
--------
eisfair Samba Clients with active connections - type 'active'.
Choice 3
--------
One ore more active SMB Hosts, type NETBIOS Names
separated with a blank, for instance 'client1 client2':
Wie man hier sieht, gibt es im ersten Schritt 3 Auswahlmöglickeiten:
1. Das Versenden von Nachrichten an alle SMB-Rechner an den
konfigurierten Netzen des eisfair-Rechners. Da Samba bei Erstellung
seiner Konfiguration auf die Datei
/etc/config.d/base
zugreift, werden alle Netzwerkkarten, die hier konfiguriert sind,
auch in die Samba-Konfiguration eingetragen. Hieraus wird nun die
Information gewonnen, in welchen Netzen nach SMB-Rechnern gesucht
werden muss und an alle diese Rechner (bis auf den eisfair-Rechner
selbst) die noch zu definierende Nachricht verschickt. Dabei werden
die ermittelten Broadcast-Adressen und die NETBIOS-Namen der
Rechner ausgegeben, an die die Nachricht verschickt wurde. Um diese
Option zu wählen, ist
all
einzugeben.
2. Das Versenden von Nachrichten an alle eisfair-Samba-Clients mit
aktiven Verbindungen zu eisfair - damit sind nicht alle Clients
gemeint, die sich am Server angemeldet haben, sondern nur die, die
wirklich noch Verbindungen zum Server offen halten. Hierzu ist
active
einzugeben.
3. Das Versenden von Nachrichten an einen oder mehrere aktive
SMB-Hosts. Die Rechner sind mit ihren NETBIOS-Namen anzugeben.
Mehrere Rechner müssen durch ein Leerzeichen getrennt angegeben
werden. Wurden die erforderlichen Angaben gemacht, kommen wir zum
2. Schritt:
Send Message to SMB Hosts
Which Message should be send?
For instance 'eisfair-Samba-Server is going down in 3 Minutes ...':
Hier gibt man nun die Nachricht ein, die gesendet werden soll.
Diese Nachricht wird nur auf Clients mit aktiviertem
Nachrichtendienst ausgegeben. Der Nachrichtendienst ist auf
Windows-NT, Windows-2000 und Windows XP normalerweise aktiviert und
muss anderenfalls nachinstalliert/aktiviert werden. Unter
Windows-9x-Clients wie Windows 98 oder Windows ME muss dazu das
Programm WinPopUp laufen. Unter Windows Vista/7/8/10 existiert kein
Nachrichtendienst mehr! Das Skript, welches hier verwendet wird,
kann man auch per Kommandozeile mittels
/var/install/bin/samba-netsend
aufrufen.
Samba-Service-Menü Punkt 7: Read Samba Documentation
Mit diesem Menü-Punkt wird die hier vorliegende Dokumentation zum Lesen
mittels more oder einem anderen konfigurierten Pager geöffnet. more ist
ein Programm, welches es erlaubt, auch längere Textdateien, wie diese
Dokumentation, komfortabel zu lesen. Mittels Leertaste blättert man
ganze Seiten weiter und mittels Entertaste einzelne Zeilen. Zum
Verlassen der Dokumentation drückt man die Taste 'q'.
Client-Konfiguration
Konfiguration der Windows-Clients
Auf den Windows-Rechnern muss das Netzwerkprotokoll TCP/IP installiert
und konfiguriert sein. Als Standardeinstellung ist unter Windows 9x/Me
"NETBIOS over TCP/IP" aktiviert, das Protokoll, welches Samba benutzt.
Unter Windows NT/2000/XP/7/8/10 muss diese Einstellung explizit
vorgenommen werden!
4.1.1 WIN 9x/ME
Das Protokoll TCP/IP muss installiert und konfiguriert werden. Als
Standardeinstellung ist unter Windows 9x/Me "NETBIOS over TCP/IP"
aktiviert, das Protokoll, welches Samba benutzt. Alle nicht genutzten
Netzwerkprotokolle sollten entfernt werden, z.B. NETBUI, IPX/SPX,
Fritz-Web, T-Online-Speedmanager usw. ... Die Datei- und
Druckerfreigabe sollte installiert werden - damit kann man
kontrollieren, ob der eigene Rechner im Netzwerk auftaucht. Der "Client
für Microsoftnetzwerke" sollte installiert und konfiguriert werden. Die
verschiedenen Clients müssen unterschiedliche NETBIOS-Namen erhalten:
Unter /Start /Einstellungen /Systemsteuerung /Netzwerk /Lasche
Identifikation /Rechnername muss ein im Netzwerk einmaliger
NETBIOS-Name vergeben werden. Unter /Start /Einstellungen
/Systemsteuerung /Lasche Identifikation /Arbeitsgruppe muss der
Arbeitsgruppename identisch zu der Einstellung von Samba gewählt werden
(SAMBA_WORKGROUP). Personal Firewalls sollten deaktiviert bzw.
richtig konfiguriert sein: Die Ports 137-139 müssen freigeschaltet
sein!
Um Samba mit WIN9x zu nutzen, ist es sinnvoll, in der Systemsteuerung
ein Benutzerprofil anzulegen. Das bringt neben der Vorbereitung auf
Samba im Domänen-Modus und damit verbundenen "Roaming Profiles" den
Vorteil, dass bei mehreren Benutzern am Client-Rechner jeder seine
eigenen Einstellungen für Desktop, Startmenü usw. einrichten kann.
Ausserdem kann man hierbei nachholen, ein Passwort für seine Anmeldung
zu vergeben.
Läuft Samba als PDC, so ist in den Eigenschaften des "Client für
Microsoftnetzwerke" unter "Anmeldebestätigung" ein Haken für "An
Windows NT-Domäne anmelden" zu setzen, unter "Windows NT-Domäne" ist
der Namen der Samba-Domäne anzugeben. Um die Benutzerkonten der Domäne
für eigene Freigaben nutzen zu können, muss unter "Netzwerk
/Zugriffssteuerung" von "Zugriffssteuerung auf Freigabeebene" auf
"Zugriffssteuerung auf Benutzerebene" umgeschaltet werden. Die
Benutzerkonten werden von Samba als PDC bezogen. Um die Benutzerliste
beziehen zu können, muss man bereits als Domänen-Benutzer angemeldet
sein!
WIN-NT
please fill in
Windows 2000
Das Protokoll TCP/IP muss installiert und konfiguriert werden. Folgende
Dienste sind auf dem Rechner für Samba notwendig/sinnvoll:
* Arbeitsstationsdienst
* Computerbrowser
* Nachrichtendienst
* Server
Alle nicht genutzten Netzwerkdienste sollten beendet und nicht
automatisch gestartet werden, z.B. NETBUI, NWLink IPX/SPX, Fritz-Web,
T-Online-Speedmanager. Der "Client für Microsoft-Netzwerke" sollte
installiert und konfiguriert werden. Die verschiedenen Clients müssen
unterschiedliche NETBIOS-Namen erhalten: Unter /Start /Einstellungen
/Systemsteuerung /System /Eigenschaften /Computername muss ein im
Netzwerk einmaliger NETBIOS-Name vergeben werden. Unter /Start
/Einstellungen /Systemsteuerung /System /Eigenschaften /Arbeitsgruppe
muss der Arbeitsgruppename identisch zu der Einstellung von Samba
gewählt werden (SAMBA_WORKGROUP). Personal Firewalls sollten
deaktiviert bzw. richtig konfiguriert sein: Die Ports 137-139 müssen
freigeschaltet sein!
Windows XP
Das Protokoll TCP/IP muss installiert und konfiguriert werden. Folgende
Dienste sind auf dem Rechner für Samba notwendig/sinnvoll:
* Arbeitsstationsdienst
* Computerbrowser
* Nachrichtendienst
* Server
Alle nicht genutzten Netzwerkdienste sollten beendet und nicht
automatisch gestartet werden, z.B. NETBUI, NWLink IPX/SPX, Fritz-Web,
T-Online-Speedmanager usw. ... Der "Client für Microsoft-Netzwerke"
sollte installiert und konfiguriert werden. Die verschiedenen Clients
müssen unterschiedliche NETBIOS-Namen erhalten: Unter /Start
/Einstellungen /Systemsteuerung /System /Eigenschaften /Computername
muss ein im Netzwerk einmaliger NETBIOS-Name vergeben werden. Unter
/Start /Einstellungen /Systemsteuerung /System /Eigenschaften
/Arbeitsgruppe muss der Arbeitsgruppename identisch zu der Einstellung
von Samba gewählt werden (SAMBA_WORKGROUP). Personal Firewalls
sollten deaktiviert bzw. richtig konfiguriert sein: Die Ports 137-139
müssen freigeschaltet sein!
Einrichtung der Windows-Clients für den Druck über Samba
Um über Samba auf an eisfair angeschlossene lokale Drucker oder auf
Remote-Drucker oder auf die speziellen Freigaben von eisfax oder von
PDF-Druckern drucken zu können, müssen die Client-Rechner dafür
konfiguriert werden. Dafür sind folgende Schritte notwendig:
Ausdruck auf physikalisch vorhandene Drucker
1. Für den Ausdruck auf physikalisch vorhandene Drucker wurde
mindestens ein funktionstüchtiger Drucker an eine funktionstüchtige
parallele oder USB- Schnittstelle des eisfair-Rechners
angeschlossen oder es wurde der entsprechende Remotedrucker korrekt
im Netzwerk verfügbar gemacht und konfiguriert (bitte konsultiert
dazu die entsprechende Handbücher oder Webseiten, denn ich kenne
Eure Drucker nicht!).
2. Es wurde das Paket cups, cups-client oder lprng installiert.
3. Das Paket cups, cups-client oder lprng wurde korrekt konfiguriert.
4. Die weitere Konfiguration ist unter "Weitere Konfiguration"
beschrieben.
Ausdruck auf die speziellen Druckerfreigaben von eisfax und von
PDF-Druckern zur Erstellung von PDF-Dateien
1. Für den Ausdruck auf die Freigabe von eisfax muss das Paket eisfax
installiert und korrekt konfiguriert worden sein.
2. Ausserdem ist ein installiertes Ghostscript ab Version 1.0.2
notwendig.
3. Für den Ausdruck auf die Freigaben von PDF-Druckern muss das Paket
Ghostscript ab Version 1.0.2 installiert sein.
4. Die weitere Konfiguration ist unter "Weitere Konfiguration"
beschrieben.
Weitere Konfiguration
1. Es wurde hinterher eine neue Sambakonfiguration über das
Samba-Service-Menü erstellt (Hinweise dazu finden sich unter Punkt
3.2.2)
2. Dabei wurde entweder
SAMBA_MANUAL_CONFIGURATION='yes'
oder
SAMBA_MANUAL_CONFIGURATION='no'
gewählt. Bei SAMBA_MANUAL_CONFIGURATION='no' sind die lokalen
Druckernamen für Parallel-Drucker beginnend mit pr1, die lokalen
USB-Drucker beginnend mit usbpr1 und die entfernten Druckernamen
beginnend mit repr1 durchnummeriert, bei
SAMBA_MANUAL_CONFIGURATION='yes' habt Ihr die Druckernamen mittels
SAMBA_PRINTER_x_NAME
selbst bestimmt.
Nun lokalisiert man über die Netzwerkumgebung den eisfair-Server und
wechselt per Doppelklick auf seinen Namen dort hin. Wenn alles korrekt
konfiguriert wurde, sind neben den normalen Freigaben auch die
eisfair-Drucker hier zu sehen, deren Namen davon abhängen, ob man bei
SAMBA_MANUAL_CONFIGURATION 'yes' oder 'no' gewählt hat - siehe oben. Um
einen Treiber für einen freigegebenen Samba-Drucker auf dem Client zu
installieren, führt man einen Doppelklick auf den entsprechenden
Samba-Drucker aus. Hat man vorher Drucker-Treiber für die automatische
Installation auf eisfair hochgeladen (siehe weiter unten), wird
automatisch der passende Drucker-Treiber installiert. Anderenfalls wird
folgende Fehlermeldung angezeigt:
"Es wurde kein Treiber gefunden. Im Netzwerk wurde kein Treiber
gefunden. Klicken Sie auf OK um manuell nach Treibern zu suchen.
Klicken Sie andernfalls auf Abbrechen, und setzen Sie sich mit dem
Netzwerkadministrator in Verbindung, oder sehen Sie auf der Webseite
des Druckerhersteller nach."
Hier ist "OK" auszuwählen!
Damit öffnet sich der Assistent für die Drucker-Treiber-Installation.
Die weiteren Einstellungen sind vom Betriebssystem abhängig:
Windows 9x/Me:
Hier wählt man auf der linken Seite den Druckerhersteller und auf der
rechten Seite den Druckertyp aus und bestätigt mit "Weiter". Für
eisfax- und PDF-Drucker muss hier zwingend ein
Postscript-Druckertreiber ausgewählt werden. Ich arbeite erfolgreich
mit dem Apple Color LW 12/660 PS (Farbe) oder dem Apple LaserWriter
16/600 PS (Schwarz/Weiss). Für PDF-Drucker ist es aber wahrscheinlich
einfacher, als Treiber den im Verzeichnis
/public/ghostscript_pdf_drivers
liegenden Treiber anhand seiner inf-Datei auszuwählen. Auf dem nächsten
Konfigurationsbildschirm aktiviert man, wenn gewünscht, dass dieser
Drucker der Standard-Drucker unter Windows werden soll. Nach dem
unvermeidlichen Klick auf "Weiter" verneint man die Frage, ob eine
Testseite gedruckt werden soll. Nach Betätigen von "Fertigstellen" und
dem Kopieren der Treiberdateien erscheint ein neues Icon für diesen
Drucker im Druckerordner. Auf der Lasche "Details" sind ausserdem die
"Spool-Einstellungen" zu bearbeiten, man setzt dort "Druckaufträge in
Warteschlange stellen (Druckvorgang schneller)" und "Druck nach letzter
Seite beginnen". Unter Datenformat wählt man "RAW" und setzt ausserdem
"Bidirektionale Unterstützung deaktivieren".
Im Druckertreiber für eisfax setzt man unter
Druckeinstellungen/Erweitert/Postscriptoptionen die
TrueType-Downloadoption auf "Bitmap".
Im Druckertreiber für die PDF-Drucker setzt man unter
Druckeinstellungen/Erweitert/Grafik/TrueType-Schriftart "Als Softfont
in den Drucker laden". In Optionen für Dokument/PostScript-Optionen
setzt man die TrueType-Downloadoption auf "Umriss", die
PostScript-Ausgabeoption auf "Portabilität optimieren".
Jetzt übernimmt man alle bisher gemachten Einstellungen mit der
Schaltfläche "Übernehmen" und verlässt das komplette
Konfigurationsfenster über "OK", da Windows 9x/Me die Einstellungen
sonst nicht korrekt abspeichert.
Windows NT 4.0/2000/XP:
Hier wählt man auf der linken Seite den Druckerhersteller und auf der
rechten Seite den Druckertyp aus und bestätigt mit "Weiter". Für
eisfax- und PDF-Drucker muss hier zwingend ein
Postscript-Druckertreiber ausgewählt werden. Ich arbeite unter Windows
2000 erfolgreich mit dem Apple Color LW 12/660 PS (Farbe) oder dem
Apple LaserWriter 16/600 PS (Schwarz/Weiss). Unter Windows-NT-4.0 ist
der HP Laserjet 9000 anscheinend besser geeignet. Für PDF-Drucker ist
es aber wahrscheinlich einfacher, als Treiber den im Verzeichnis
/public/ghostscript_pdf_drivers
liegenden Treiber anhand seiner inf-Datei auszuwählen. Auf dem nächsten
Konfigurationsbildschirm aktiviert man, wenn gewünscht, dass dieser
Drucker der Standard-Drucker unter Windows werden soll. Nach dem
unvermeidlichen Klick auf "Weiter" verneint man die Frage, ob eine
Testseite gedruckt werden soll. Nach Betätigen von "Fertigstellen" und
dem Kopieren der Treiberdateien erscheint ein neues Icon für diesen
Drucker im Druckerordner. Auf der Lasche "Anschlüsse" deaktiviert man
"Bidirektionale Unterstützung aktivieren". Auf der Lasche "Erweitert"
betätigt man die Schaltfläche "Druckprozessor" und stellt unter
"Druckprozessor" "WinPrint", unter "Standarddatentyp" "RAW" ein und
verlässt diese Dialogbox mit "OK" (bei Windows NT 4.0 ist hier noch ein
Häkchen bei "Raw-Datentyp immer spoolen" zu setzen). Wieder auf der
Lasche "Erweitert" aktiviert man "über Spooler drucken, um
Druckvorgänge schneller abzuschliessen" und "Drucken beginnen, nachdem
letzte Seite gespoolt wurde". Bei "Erweiterte Druckfunktionen
aktivieren" entfernt man den Haken, damit diese Funktionen nicht
genutzt werden.
Im Druckertreiber für eisfax setzt man unter
Druckeinstellungen/Erweitert/Postscriptoptionen die
TrueType-Downloadoption auf "Bitmap".
Im Druckertreiber für die PDF-Drucker setzt man unter
Druckeinstellungen/Erweitert/Grafik/TrueType-Schriftart "Als Softfont
in den Drucker laden". In Optionen für Dokument/PostScript-Optionen
setzt man die TrueType-Downloadoption auf "Umriss", die
PostScript-Ausgabeoption auf "Portabilität optimieren".
Jetzt übernimmt man alle bisher gemachten Einstellungen mit der
Schaltfläche "Übernehmen" und verlässt das komplette
Konfigurationsfenster über "OK", da Windows NT 4.0/2000/XP die
Einstellungen sonst nicht korrekt abspeichert.
Windows Vista/7:
Hier wählt man auf der linken Seite den Druckerhersteller und auf der
rechten Seite den Druckertyp aus und bestätigt mit "Weiter". Für
eisfax- und PDF-Drucker muss hier zwingend ein
Postscript-Druckertreiber ausgewählt werden. Einige User arbeiten unter
Windows 7 erfolgreich mit dem Xerox Phaser 6120 PS. Für PDF-Drucker ist
es aber wahrscheinlich einfacher, als Treiber den im Verzeichnis
/public/ghostscript_pdf_drivers
liegenden Treiber anhand seiner inf-Datei über "Datenträger"
auszuwählen. Auf dem nächsten Konfigurationsbildschirm aktiviert man,
wenn gewünscht, dass dieser Drucker der Standard-Drucker unter Windows
werden soll. Nach dem unvermeidlichen Klick auf "Weiter" verneint man
die Frage, ob eine Testseite gedruckt werden soll. Nach Betätigen von
"Fertigstellen" und dem Kopieren der Treiberdateien erscheint ein neues
Icon für diesen Drucker im Druckerordner. Auf der Lasche "Anschlüsse"
deaktiviert man "Bidirektionale Unterstützung aktivieren". Auf der
Lasche "Erweitert" betätigt man die Schaltfläche "Druckprozessor" und
stellt unter "Druckprozessor" "WinPrint", unter "Standarddatentyp"
"RAW" ein und verlässt diese Dialogbox mit "OK". Wieder auf der Lasche
"Erweitert" aktiviert man "über Spooler drucken, um Druckvorgänge
schneller abzuschliessen" und "Drucken beginnen, nachdem letzte Seite
gespoolt wurde". Bei "Erweiterte Druckfunktionen aktivieren" entfernt
man den Haken, damit diese Funktionen nicht genutzt werden.
Im Druckertreiber für eisfax setzt man unter
Druckeinstellungen/Erweitert/Postscriptoptionen die
TrueType-Downloadoption auf "Bitmap".
Im Druckertreiber für die PDF-Drucker setzt man unter
Druckeinstellungen/Erweitert/Grafik/TrueType-Schriftart "Als Softfont
in den Drucker laden". In Optionen für Dokument/PostScript-Optionen
setzt man die TrueType-Downloadoption auf "Umriss", die
PostScript-Ausgabeoption auf "Portabilität optimieren".
Jetzt übernimmt man alle bisher gemachten Einstellungen mit der
Schaltfläche "Übernehmen" und verlässt das komplette
Konfigurationsfenster über "OK".
Windows 8/8.1/10:
Hier wählt man auf der linken Seite den Druckerhersteller und auf der
rechten Seite den Druckertyp aus und bestätigt mit "Weiter". Für
eisfax- und PDF-Drucker muss hier zwingend ein
Postscript-Druckertreiber ausgewählt werden. Bisher ist mir nicht
bekannt, welcher Treiber für Windows 8/8.1/10 geeignet ist. Testet
deswegen die Beschreibung für PDF-Drucker auch mit eisfax und gebt
Feedback. Für PDF-Drucker sollte man als Treiber den im Verzeichnis
/public/ghostscript_pdf_drivers
liegenden Treiber anhand seiner inf-Datei über "Datenträger" auswählen.
Auf dem nächsten Konfigurationsbildschirm aktiviert man, wenn
gewünscht, dass dieser Drucker der Standard-Drucker unter Windows
werden soll. Nach dem unvermeidlichen Klick auf "Weiter" verneint man
die Frage, ob eine Testseite gedruckt werden soll. Nach Betätigen von
"Fertigstellen" und dem Kopieren der Treiberdateien erscheint ein neues
Icon für diesen Drucker im Druckerordner. Auf der Lasche "Anschlüsse"
deaktiviert man "Bidirektionale Unterstützung aktivieren". Auf der
Lasche "Erweitert" betätigt man die Schaltfläche "Druckprozessor" und
stellt unter "Druckprozessor" "WinPrint", unter "Standarddatentyp"
"RAW" ein und verlässt diese Dialogbox mit "OK". Wieder auf der Lasche
"Erweitert" aktiviert man "über Spooler drucken, um Druckvorgänge
schneller abzuschliessen" und "Drucken beginnen, nachdem letzte Seite
gespoolt wurde". Bei "Erweiterte Druckfunktionen aktivieren" entfernt
man den Haken, damit diese Funktionen nicht genutzt werden.
Im Druckertreiber für eisfax setzt man unter
Druckeinstellungen/Erweitert/Postscriptoptionen die
TrueType-Downloadoption auf "Bitmap".
Im Druckertreiber für die PDF-Drucker setzt man unter
Druckeinstellungen/Erweitert/Grafik/TrueType-Schriftart "Als Softfont
in den Drucker laden". In Optionen für Dokument/PostScript-Optionen
setzt man die TrueType-Downloadoption auf "Umriss", die
PostScript-Ausgabeoption auf "Portabilität optimieren".
Jetzt übernimmt man alle bisher gemachten Einstellungen mit der
Schaltfläche "Übernehmen" und verlässt das komplette
Konfigurationsfenster über "OK".
Noch ein Hinweis dazu:
Auf dem Windows-Rechner muss das Netzwerkprotokoll TCP/IP installiert
und konfiguriert sein. Als Standardeinstellung muss dabei unter Windows
"NETBIOS over TCP/IP" aktiviert sein, das Protokoll, welches Samba
benutzt.
Hinweise für fortgeschrittene User
Hochladen von Druckertreibern für die automatische Installation
Um bei grösseren Netzwerken die Installation der Druckertreiber zu
vereinfachen und dem Netzverwalter zu ersparen, per
Turnschuh-Administration bei z.B. 400 Clients die Druckertreiber an
jedem Arbeitsplatz von Hand zu installieren, ist es möglich, mittels
Samba eine automatische Treiberinstallation auf den Clients zu
realisieren. Die Vorgehensweise ist dabei leider etwas kompliziert. Wer
das hier nicht sehr genau liest, wird es nicht schaffen und ist selbst
daran schuld. Mehr, als ich hier beschreibe, weiss ich auch nicht und
kann deswegen in einem solchen Fall auch nicht helfen... Die
vorliegende Beschreibung wurde mit Windows 2000 Workstation, Windows XP
Professional und Windows 7 Ultimate erstellt, es kann also sein, dass
etwaige Abweichungen bei Euch darauf zurückzuführen sind, dass Ihr
andere Versionen einsetzt. Ihr müsst in diesem Fall also notgedrungen
etwas improvisieren.
Zu den Voraussetzungen:
Der Upload der Treiber kann nur über NT-basierende Betriebssysteme
vorgenommen werden. Dazu gehören Windows NT 4.0, Windows 2000, Windows
XP, Windows 7, Windows 8 und Windows 10. Der Benutzer, welcher die
Treiber hochladen will, muss über Samba zwingend mit der User-ID (UID)
0 bei eisfair angemeldet sein. Die UID 0 hat neben dem User "eis" vor
allem der User "root". Lässt man seinen Windows Benutzernamen per
/etc/user.map auf den User "root" mappen und ist der User "root" als
Samba-Benutzer angelegt worden, hat man diese Voraussetzung also schon
einmal erfüllt. Die /etc/user.map setzt in der Standardeinstellung den
Windows-User "Administrator" auf den eisfair-User "root" um:
root = "Administrator"
Auf dem NT-basierenden Client, von welchem aus die Druckertreiber
hochgeladen werden sollen, müssen die entsprechenden Treiber schon
einmal installiert worden sein, da man sich hiermit erspart, die
relevanten Treiberdateien mühsam zu extrahieren und selbst
zusammenzustellen. Wurde der Druckertreiber dabei für den Zugriff auf
den Netzwerkdrucker an eisfair eingerichtet, muss der Drucker selbst
aber aus dem Druckerordner gelöscht werden (ohne die Treiberdateien
löschen zu lassen), da ein Upload nur funktioniert, wenn die Zuordnung
des lokalen Treibers zum Netzwerkdrucker an eisfair auf dem Client
nicht mehr existiert! In den Drucker-Freigaben muss die Variable
SAMBA_PRINTER_x_CLIENTDRIVER
auf 'no' gesetzt sein, da eben nicht der lokale Treiber auf dem Client
verwendet werden soll. Daraus ergibt sich, dass die automatische
Samba-Konfiguration per
SAMBA_MANUAL_CONFIGURATION='no'
nicht genutzt werden kann! Ich erwähne es ungern - aber da es
wahrscheinlich doch wieder Leute gibt, denen das nicht klar ist: Um
erfolgreich Treiber hochladen zu können, muss Samba gestartet sein ;o)
Nach diesen Vorbereitungen kann der Upload beginnen.
Windows 2000:
Man lokalisiert über die Netzwerkumgebung den eisfair-Server und
wechselt per Doppelklick auf seinen Namen dort hin. Jetzt navigiert man
zum Verzeichnis "Drucker", in dem man alle durch Samba angebotenen
Drucker sieht. Nun markiert man den Drucker, für welchen man einen
Treiber hochladen will und wählt im Kontextmenü (rechte Maustaste) den
Punkt "Eigenschaften" aus. Daraufhin wird folgende Fehlermeldung
angezeigt:
"Die Geräteeinstellungen können nicht angezeigt werden. Der Treiber für
den angegebenen Drucker ist nicht installiert. Es werden nur
Spoolereigenschaften angezeigt. Möchten Sie den Treiber jetzt
installieren?"
Hier ist "Nein" auszuwählen!
Bei Manipulationen in dem folgenden Eigenschafts-Dialog bitte nicht in
Panik geraten, wenn der Zugriff sehr lange dauert (die Lasche
"Anschlüsse" ist z.B. so ein Kandidat, auch das Schliessen des
kompletten Dialoges mittels "OK"). Der Rechner ist nicht abgestürzt, es
dauert nur etwas ...
Auf der Lasche "Erweitert" kann nun mit "Neuer Treiber" der korrekte
Treiber für den Drucker auswählt und hochgeladen werden. Dazu bestätigt
man die erste Seite des Assistenten mit "Weiter", wählt auf der linken
Seite den Druckerhersteller und auf der rechten Seite den Druckertyp
aus, navigiert nach dem Klick auf "Weiter", "Fertigstellen" und "OK"
mittels "Durchsuchen" zum Windows-Verzeichnis (%WINDIR%) und dort zum
Verzeichnis INF, also z.B. nach
C:\WINNT\INF
und lädt per Klick auf "Öffnen" und "OK" den Treiber hoch. Eventuell
muss dabei noch die Installation eines unsignierten Treibers zugelassen
werden. Dann schliesst man den kompletten Eigenschaften-Dialog mit
"OK", was sehr lange dauern kann.
Windows XP:
Man lokalisiert über die Netzwerkumgebung den eisfair-Server und
wechselt per Doppelklick auf seinen Namen dort hin. Jetzt navigiert man
zum Verzeichnis "Drucker und Faxgeräte", in dem man alle durch Samba
angebotenen Drucker sieht. Nun markiert man den Drucker, für welchen
man einen Treiber hochladen will, und wählt im Kontextmenü (rechte
Maustaste) den Punkt "Eigenschaften" aus. Daraufhin wird folgende
Fehlermeldung angezeigt:
"Der Druckertreiber '' ist nicht installiert. Auf manche
Druckereigenschaften kann ohne die Installation des Druckertreibers
nicht zugegriffen werden. Möchten Sie den Treiber jetzt installieren?"
Hier ist "Nein" auszuwählen!
Bei Manipulationen in dem folgenden Eigenschafts-Dialog bitte nicht in
Panik geraten, wenn der Zugriff sehr lange dauert (die Lasche
"Anschlüsse" ist z.B. so ein Kandidat, auch das Schliessen des
kompletten Dialoges mittels "OK"). Der Rechner ist nicht abgestürzt, es
dauert nur etwas ...
Auf der Lasche "Erweitert" kann nun mit "Neuer Treiber" der korrekte
Treiber für den Drucker auswählt und hochgeladen werden. Dazu bestätigt
man die erste Seite des Assistenten mit "Weiter", wählt auf der linken
Seite den Druckerhersteller und auf der rechten Seite den Druckertyp
aus, und wählt dann "Weiter", "Fertigstellen", um den Kopiervorgang zu
starten. Eventuell muss dabei noch die Installation eines unsignierten
Treibers zugelassen werden. Dann schliesst man den kompletten
Eigenschaften-Dialog mit "OK", was sehr lange dauern kann.
Treiber für Betriebssysteme, die nicht NT-basiert sind, wie Windows
9x/Me, müssen über die Lasche "Freigabe" und dort über "Zusätzliche
Treiber" hochgeladen werden. Das ist sehr viel komplizierter, da man
dabei Zugriff auf eine Partition dieses Betriebssystems mit dem dort
installierten Treiber haben muss.
Den Weg mit einem installierten Treiber und dem Inf-Verzeichnis kann
man sich sparen, wenn man alle benötigten Treiberdateien und die
inf-Datei des Druckertreibers in ein Verzeichnis kopiert. Mir ist
leider kein einfaches Verfahren bekannt, die relevanten Dateien für
seinen Treiber zu extrahieren.
Windows 7:
Man lokalisiert über die Netzwerkumgebung den eisfair-Server und
wechselt per Doppelklick auf seinen Namen dort hin. Wenn in den
Ordner-Optionen "Immer Menüs anzeigen" aktiviert ist, sieht man im Menü
einen Eintrag "Remotedrucker anzeigen". Wenn nicht, ist das Menü mit
der Alt-Taste einzublenden. Dann wählt man "Remotedrucker anzeigen" aus
und sieht darin alle durch Samba angebotenen Drucker. Nun markiert man
den Drucker, für welchen man einen Treiber hochladen will, und wählt im
Kontextmenü (rechte Maustaste) den Punkt "Eigenschaften" aus. Daraufhin
wird folgende Fehlermeldung angezeigt:
"Der Druckertreiber '' ist nicht installiert. Auf manche
Druckereigenschaften kann ohne die Installation des Druckertreibers
nicht zugegriffen werden. Möchten Sie den Treiber jetzt installieren?"
Hier ist "Nein" auszuwählen!
Bei Manipulationen in dem folgenden Eigenschafts-Dialog bitte nicht in
Panik geraten, wenn der Zugriff sehr lange dauert (die Lasche
"Anschlüsse" ist z.B. so ein Kandidat, auch das Schliessen des
kompletten Dialoges mittels "OK"). Der Rechner ist nicht abgestürzt, es
dauert nur etwas ...
Auf der Lasche "Erweitert" kann nun mit "Neuer Treiber" der korrekte
Treiber für den Drucker auswählt und hochgeladen werden. Dazu bestätigt
man die erste Seite des Assistenten mit "Weiter", wählt auf der linken
Seite den Druckerhersteller und auf der rechten Seite den Druckertyp
aus, und wählt dann "Weiter", "Fertigstellen", um den Kopiervorgang zu
starten. Eventuell muss dabei noch die Installation eines unsignierten
Treibers zugelassen werden. Dann schliesst man den kompletten
Eigenschaften-Dialog mit "OK", was sehr lange dauern kann.
Treiber für Betriebssysteme, die nicht NT-basiert sind, wie Windows
9x/Me, müssen über die Lasche "Freigabe" und dort über "Zusätzliche
Treiber" hochgeladen werden. Das ist sehr viel komplizierter, da man
dabei Zugriff auf eine Partition dieses Betriebssystems mit dem dort
installierten Treiber haben muss.
Den Weg mit einem installierten Treiber und dem Inf-Verzeichnis kann
man sich sparen, wenn man alle benötigten Treiberdateien und die
inf-Datei des Druckertreibers in ein Verzeichnis kopiert. Mir ist
leider kein einfaches Verfahren bekannt, die relevanten Dateien für
seinen Treiber zu extrahieren.
Hinweise zur Fehlersuche
Bei Fehlern bitte überprüfen:
* Client für Microsoftnetzwerke installiert und konfiguriert?
* Protokoll TCP/IP installiert und konfiguriert?
* alle unnötigen Netzwerkprotokolle entfernt (NETBUI, IPX/SPX,
Fritz-Web, T-Online-Speedmanager)?
* den verschiedenen Rechnern verschiedene (NetBIOS!-)Namen gegeben?
* Datei -und Druckerfreigabe installiert?
* Personal Firewalls und Windows-eigene Firewall richtig konfiguriert
oder deaktiviert (Ports 137-139 müssen freigeschaltet sein!)?
* NetBIOS über TCP/IP konfiguriert (nur ab Win2k notwendig)?
* identischen Arbeitsgruppennamen auf allen Rechnern konfiguriert?
Thomas Bork 2021-05-20
Marcus Röckrath 2024-03-25