Using SambaRobert Eckstein, David Collier-Brown, Peter Kelly1st Edition November 1999 1-56592-449-5, Order Number: 4495 416 pages, $34.95 |
8.2 Magic Scripts
Die folgenden Optionen handeln von magic scripts auf dem Sambaserver. Magic Scripts sind eine Methode, Programme unter Unix auszuführen und die Ausgabe zurück zum SMB-Client zu senden. Sie sind im Wesentlichen ein experimenteller Hack. Nun, einige User und ihre Programme verlassen sich noch auf diese zwei Optionen, damit ihre Programme korrekt funktionieren. Magic Scripts sind nicht sehr vertrauenswürdig, und ihre Verwendung hat das Sambateam sehr entmutigt. Siehe Tabelle 8.2 für mehr Information.
Tabelle 8.2: Netzwerk-Konfigurationsoptionen Option
Parameter
Funktion
Vorgabe
Bereich
magic script
string (voller Dateiname)
Setzt den Namen einer Datei, die von Samba in Vertretung des eingeloggten Users ausgeführt wird, wenn die Skriptdatei geschlossen wird.
Keine
Share
magic output
string (voller Dateiname)
Setzt eine Datei zur Protokollierung der Ausgabe des Magic-Skripts.
scriptname.out
Share
8.2.1 magic script
Wenn die Option
magic
script
auf einen Dateinamen gesetzt ist und der Client erzeugt eine Datei mit diesem Namen in dieser Share, führt Samba die Datei aus, sobald der User sie geöffnet und geschlossen hat. Nehmen wir z.B. an, dass die folgende Option in der Share[accounting]
erzeugt wurde:[accounting] magic script = tally.shSamba überwacht kontinuierlich die Dateien in dieser Share. Wenn eine mit dem Namen tally.sh von einem User geschlossen wird (nachdem sie geöffnet wurde), führt Samba den Inhalt dieser Datei lokal aus. Die Datei wird zur Ausführung zur Shell durchgelassen; sie muss daher ein legales Unix Shell-Skript sein. Das bedeutet, dass sie Newline-Zeichen am Zeilenende haben muss anstatt der Windows CR/LFs. Außerdem hilft es, wenn du die
#!
-Direktive am Anfang der Datei verwendest, um hinzuweisen, unter welcher Shell das Skript laufen sollte.8.2.2 magic output
Diese Option bezeichnet eine Ausgabe-Datei, zu der das von der Option
magic
script
genannte Skript seine Ausgabe sendet. Du musst einen Dateinamen in einem beschreibbaren Verzeichnis festlegen:[accounting] magic script = tally.sh magic output = /var/log/magicoutputWenn diese Option unterlassen wird, ist die voreingestellte Ausgabe-Datei der Name des Skripts (wie in der Option
magic
script
angegeben) mit der hinten angehängten Erweiterung .out.
© 1999, O'Reilly & Associates, Inc.