Inhaltsverzeichnis
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.
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 |
Ein einfaches Modul, um Dateioperationen im syslog aufzuzeichnen. Folgende Operationen werden aufgezeichnet:
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.
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.
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:
Relativer Pfad des Ordners, in dem gelöschte Dateien abgelegt werden sollen.
Legt fest, ob die Ordnerstruktur beibehalten werden soll oder ob die Dateien des gelöschten Ordners getrennt im Papierkorb aufbewart werden sollen.
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.
Legt fest, ob das Datum des letzten Zugriffs verändert werden soll, wenn die Datei in den Papierkorb kommt.
Dateien, die größer sind als die in diesem Parameter festgelegte Größe in Bytes, werden nicht in den Papierkorb verschoben.
Auflistung der Dateien, die nicht in den Papierkorb verschoben, sondern normal gelöscht werden sollen.
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.
Das Gegenteil des recycle:versions-Parameters. Falls beide Optionen gesetzt sind, wird recycle:noversions verwendet.
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.
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.
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.
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.