Kapitel 20. Stapelbare VFS-Module

Jelmer R. Vernooij

Samba Team

John H. Terpstra

Samba Team

Tim Potter

Samba Team

Simo Sorce

original vfs_skel README

Alexander Bokovoy

original vfs_netatalk docs

Stefan Metzmacher

Update for multiple modules

Felix Erlacher

Deutsche Übersetzung
German Samba-3-Docs-Translation Team

Inhaltsverzeichnis

Eigenschaften und Vorzüge
Beschreibung
Enthaltene Module
audit
extd_audit
fake_perms
recycle
netatalk
Anderweitig verfügbare VFS-Module
DatabaseFS
vscan

Eigenschaften und Vorzüge

Seit Samba-3 gibt es eine Unterstützung für stapelbare VFS-(Virtual File System-)Module. Samba gibt jede Anfrage an das UNIX-Filesystem durch das geladene VFS-Modul weiter. Dieses Kapitel deckt alle Module aus den Samba-Quellen ab und nennt einige Referenzen auf externe Module.

Beschreibung

Sind die verteilten Bibliotheken nicht bereits im binären Paket Ihrer Plattform enthalten, könnte es Probleme beim Kompilieren geben, da diese auf verschiedenen Plattformen verschieden kompiliert und verlinkt werden. Momentan wurden diese auf GNU/LINUX und IRIX getestet.

Um die VFS-Module benutzen zu können, erstellen Sie eine Freigabe ähnlich der unten gezeigten. Der essenzielle Parameter ist der vfs objects-Parameter, bei dem man einen oder mehrere VFS-Module als Namen angeben kann. ??? zeigt, wie Sie Beispiel, um alle Zugriffe auf Dateien loggen und gelöschte Dateien in einen Papierkorb werfen können.

Beispiel 20.1. smb.conf mit VFS-Modulen

[audit]
comment = Überwachter /Daten-Ordner
path = /data
vfs objects = audit recycle
writeable = yes
browseable = yes

Die Module werden in der Reihenfolge benutzt, in der sie angegeben sind. Nehmen wir an, Sie möchten ein Virus-Scanner-Modul und ein Papierkorb-Modul haben. Es wäre schlauer, das Viren-Scanner-Modul als erstes Modul festzulegen, sodass es eventuelle Viren sofort entdeckt, bevor die Datei von jemand anderem benutzt wird. Die Einstellung ist dann: vfs objects = vscan-clamav recycle.

Samba wird versuchen, Module vom /lib-Ordner des Stammverzeichnisses der Samba-Installation zu laden (normalerweise /usr/lib/samba/vfs oder /usr/local/samba/lib/vfs).

Manche Module können auch zweimal für die gleiche Freigabe verwendet werden. Dazu verwenden Sie eine Konfiguration ähnlich der aus ???.

Beispiel 20.2. smb.conf mit mehreren VFS-Modulen

[test]
comment = VFS TEST
path = /data
writeable = yes
browseable = yes
vfs objects = Beispiel:Beispiel1 Beispiel Beispiel:test
Beispiel1: parameter = 1
Beispiel: parameter = 5
test: parameter = 7

Enthaltene Module

audit

Ein einfaches Modul, um Dateioperationen im syslog aufzuzeichnen. Folgende Operationen werden aufgezeichnet:

  • Freigabe verbinden/trennen
  • Ordner öffnen/erstellen/löschen
  • Datei öffnen/schließen/umbenennen/unlink/chmod

extd_audit

Dieses Modul ist identisch mit dem audit-Modul, außer dass es sowohl ins syslog als auch in die smbd-Log-Dateien schreibt. Der Log-Level für dieses Modul wird in der smb.conf-Datei gesetzt.

Gültige Einstellungen und Informationen darüber, was alles aufgezeichnet wird, sind in ??? zu finden.

Tabelle 20.1. Ausführliche Beschreibung der Log-Informationen

Log LevelLog Details - Ordner- und Dateioperationen
0Erstellen / Löschen
1Erstellen / Löschen / Umbenennen / Berechtigungen ändern
2Erstellen / Löschen / Umbenennen / Berechtigungen ändern / Öffnen / Schließen

fake_perms

Dieses Modul wurde erstellt, um Roaming-Profil-Dateien und -Ordner (auf dem Samba-Server unter UNIX) als nur lesbar zu setzen. Dieses Modul - sollte es unter der Profiles-Freigabe installiert sein - gibt dem Client an, dass er Profil-Ordner und Dateien beschreiben darf. Das genügt dem Client, auch wenn die Dateien nicht überschrieben werden, falls er sich abmeldet oder herunterfährt.

recycle

Ein dem Papierkorb ähnliches Modul. Wird es benutzt, werden Lösch-(UNLINK-)Befehle abgefangen, und die Datei wird in den recycle-Ordner verschoben, anstatt gelöscht zu werden. Das ist im Prinzip dieselbe Funktion, die der Ordner Papierkorb auf Windows-Computern erfüllt.

Der Papierkorb wird weder in Windows Explorer-Ansichten der Freigabe noch in den Netzwerkverbindungen erscheinen. Es wird automatisch ein .recycle-Ordner erstellt, sobald eine Datei gelöscht wird. Benutzer können Dateien vom .recycle-Ordner wiederherstellen. Falls der recycle:keeptree-Parameter gesetzt wurde, können gelöschte Dateien unter dem gleichen Pfad gefunden werden, in dem sie vor dem Löschen waren.

Folgende Optionen werden für das recycle-Modul unterstützt:

recycle:repository

Relativer Pfad des Ordners, in dem gelöschte Dateien abgelegt werden sollen.

recycle:keeptree

Legt fest, ob die Ordnerstruktur beibehalten werden soll oder ob die Dateien des gelöschten Ordners getrennt im Papierkorb aufbewart werden sollen.

recycle:versions

Ist diese Option gesetzt, werden zwei Dateien mit dem gleichen Namen im Papierkorb aufbewahrt. Die neuere Version der Datei wird in „Copy #x of Dateiname“ umbenannt.

recycle:touch

Legt fest, ob das Datum des letzten Zugriffs verändert werden soll, wenn die Datei in den Papierkorb kommt.

recycle:maxsize

Dateien, die größer sind als die in diesem Parameter festgelegte Größe in Bytes, werden nicht in den Papierkorb verschoben.

recycle:exclude

Auflistung der Dateien, die nicht in den Papierkorb verschoben, sondern normal gelöscht werden sollen.

recycle:exclude_dir

Enthält eine Liste von Ordnern. Falls Dateien aus diesen Ordnern gelöscht werden, werden sie nicht in den Papierkorb verschoben, sondern normal gelöscht.

recycle:noversions

Das Gegenteil des recycle:versions-Parameters. Falls beide Optionen gesetzt sind, wird recycle:noversions verwendet.

netatalk

Das netatalk-Modul erleichtert die Koexistenz von Samba und netatalk-Dateifreigabe-Diensten.

Es hat folgende Vorteile gegenüber dem alten netatalk-Modul:

  • Es schert sich nicht um das Erstellen von „.AppleDouble“-Forks, sondern hält sie nur synchron.

  • Falls eine Freigabe in der smb.conf kein „.AppleDouble“-Objekt in der „hite“- oder „veto“-Liste enthält, wird es automatisch hinzugefügt.

Anderweitig verfügbare VFS-Module

Dieser Abschnitt enthält eine Auflistung verschiedener anderer VFS-Module, die es gibt, die aber aus verschiedenen Gründen nicht im CVS- Baum von Samba enthalten sind (z.B. da es für die Entwickler leichter ist, einen eigenen CVS-Baum zu pflegen.)

Die Auflistung der Module hier soll keine Bewertung der Stabilität oder Funktionalität sein.

DatabaseFS

URL: http://www.css.tayloru.edu/~elorimer/databasefs/index.php

Von Eric Lorimer.

Ich habe ein VFS-Modul entworfen, das einem Read-only-Dateisystem gleichkommt. Es gibt die Informationen einer Datenbank in einer modularen und generischen Weise als ein Dateisystem aus, um die Benutzung verschiedener Datenbanken zu ermöglichen. (es wurde ursprünglich dazu entworfen, MP3s in Ordnern wie „Künstler“, „Lied-Stichwörter“ usw. zu organisieren. Ich habe es aber auch schon für ein Studenten-Register benutzt). Die Ordnerstruktur wird in der Datenbank gespeichert, und das Modul schert sich nicht um die Datenbankstruktur außerhalb der Tabelle, die es braucht.

Ich wäre dankbar für Rückmeldungen jeder Art: Kommentare, Vorschläge, Patches usw. Ich hoffe, dass es sich als brauchbar für jemanden erweist, der ein virtuelles Dateisystem erstellen möchte.

vscan

URL: http://www.openantivirus.org/

samba-vscan ist ein „Proof-of-concept“-Modul für Samba, das die VFS-Funktion (Virtual File System) von Samba 2.2.x/3.0 alphaX nutzt. Natürlich muss Samba mit VFS-Unterstützung kompiliert werden. samba-vscan unterstützt viele Virenscanner und wird von Rainer Link gepflegt.