Partnerlinks:
Google

www.linux-club.de/ sehr aktives und kompetentes Board m. Fragen u. Antworten rund um Linux  |  www.linux-board.de/ privates Board m. Fragen u. Antworten rund um Linux  |  meybohm bei viando.de gute Tools - u.a. "Phase 5 / HTML Editor" mein Lieblings-HTML-Editor und "Proton" - guter Texteditor www.meybohm.de  |  Wunsch-Domain schon belegt? Hier finden Sie sie trotzdem!   |  Webhosting beim Testsieger 2007. www.greatnet.de  | 
Host Europe - World Class Internet Hosting
 

  Ein Pinguin-Logo    
news About Me linux referenz tips links downloads kontakt
 
News
About
Linux
Referenz
Tips
  Linux
  Sicherheit
  Perl
  Allround Server
  Fileserver Samba
  HTTP-Server
  Zope-Server
  SQL-Server
  Mail-Server
  Proxy_Server
  FAX-Server
  Netzwerk-Tools
  SMS-Tools
  Postscript
  MS Office
Links
Downloads
Kontakt

Besucher
seit 21.10.2002
 
Mein Gästebuch
 

SAMBA - DER Datei- und Drucker-Server für die Windowswelt (4)

4. Samba 2.2.5 auf SuSE 8.1 - Unterschiede

4.1 Verzeichnisstruktur

SuSE 8.1 setzt die neuere Version des SMB-Servers Samba 2.2.5 ein. Dadurch und durch die Bemühungen den FHS (FileSystem-Hirarchie-Standard) und die LSB (Linux-Standard-Base) -Vorgaben genauer zu entsprechen, wurden einige Pfade geändert:

  • unterhalb von /etc/samba liegen jetzt die Samba-Konfigurationsdateien wie z.Bsp. die smb.conf, smbpasswd, smbfstab (neu), smbusers (neu) und die secrets.tdb (neu, für User-Verwaltung mittels LDAP-Verwaltung)
  • Die PID und Status-Informationen des Servers werden im Verzeichnis /var/run/samba verwaltet.

4.2 Neue Funktionen

Samba 2.2.5 unterstützt natürlich auch neue Funktionen wie z.Bsp.:

  • User-Verwaltung mittels LDAP (habe ich leider noch nicht probiert, da meine Linux-User noch nicht in LDAP verwaltet werden und ich mit LDAP noch nicht so richtig warm geworden bin.
  • Mounten von SMB-Shares beim Booten mittels /etc/samba/smbfstab
  • Mappen von Windows-Benutzer-Namen zu Linux-Benutzer-Namen mittels /etc/samba/smbusers
  • Vollwertiger Einsatz als Windows PDC (PrimaryDomainController) und BDC (BackupDomainController). Dies konnte ich schon selbst mit Windows 98, NT und 2000 Maschinen testen.

4.3 Weitere Änderungen

Leider haben sich die Funktionen einiger in meiner smb.conf benutzten Variablen zur Makro-Ersetzung (User-Namen, ...) etwas geändert, so dass hier in der Konfigurationsdatei Änderungen vorgenommen werden müssen:

  • Die Log-Datei ließ ich vorher mit Hilfe des Makros %m am Ende des Dateinamens nach den verschiedenen Maschinen unterscheiden. Dieses wollte so nicht mehr funktionieren. Deshalb werden die Log-Dateien jetzt nach den Usern unterscheiden (Makro %U).
  • Die Optionen printer driver location, printer driver file und printer driver werden nicht mehr unterstützt, so dass ich diese erst mal deaktiviert habe, bis ich die Zeit finde mich mit Imprints (netzwerkweite, automatische Verteilung der Druckertreiber) zu beschäftigen.
  • Es lassen sich in dieser Linuxversion keine Gruppen mehr mit Unterstrich im Gruppennamen erzeugen. Diese benutzte ich vorher, um für jeden User eine Default-Lese-Gruppe einzurichten (Username_les). So musste ich alle diese Gruppen (und die irgendwo eingebauten Verbindungen dazu) umbennenen |:-(/
  • Als erfreulich ist der Umstand zu bewerten, dass in dieser Samba-Version auch einige Sachen besser funktionieren. So war es mir erst bei dieser Version möglich ein Script mit Kommando-Substitution (der in "Backticks" eingeschlossene Befehl wird durch die Rückgabe des Aufrufes ersetzt) einzubauen. So wird jetzt in die Dateinamen der per Netzwerk erzeugten PDF-Dateien zusätzlich zum Username das Datum mit Uhrzeit eingefügt.

4.3.1 Druckertreiberinstallation

Wie schon im "Sambatip 3" angedeutet hat sich die Einbindung von Windowsdruckertreibern zur automatischen Installation etwas verändert.

Das Share in das die (aufbereiteten) Druckertreiber gelegt werden, muss nun [print$] heißen. Darin müssen die folgenden Unterverzeichnisse für die verschiedenen von Windows unterstützten "Architekturen" angelegt werden:

  • - W32X86 ("Windows NT x86")
  • - WIN40 ("Windows 95/98")
  • - W32ALPHA ("Windows NT Alpha_AXP")
  • - W32MIPS ("Windows NT R4000")
  • - W32PPC ("Windows NT PowerPC")

Um die notwendigen Treiberdateien für die automatische Druckerinstallation in die entsprechenden verzeichnisse zu bekommen gibt es verschiedene Wege:

... mit dem NT4.0/W2k/XP-Printer-Add-Dialog

Man browst von einem Client-PC (NT4.0/W2k/XP) in der Netzwerkumgebung zu dem von Samba Drucker angebotenen Drucker, rechte Maustaste - "installieren". Daraufhin läuft ein normaler Windows-Installationsvorgang ab (mit Anforderung des Installationsmediums). Dabei werden die benötigten Dateien "Windows-like" in die verschiedenen Verzeichnisse kopiert. Dazu muss man als ein User angemeldet sein, dem in Linux die User-ID 0 zugeordnet ist und der Mitlgied in der "printer admin"-Liste ist.

Um den Treiber auch für andere Plattformen als nur WinNT x86 zu installieren benutzt man den "Sharing"-Tab des Treiber-Eigenschaften-Fensters.

Der nächste Client benötigt dann keine Installationsmedien mehr. Die Installation verläuft beim ersten Kontakt fast automatisch.

... mit dem "rpcclient setdriver"-Befehl

Sobald man mehrere Drucker mit dem gleichen Druckertreiber hat, wird es lästig immer von neuem die gleichen Installationsschritte mittels des WinNT-APW tun zu müssen. Deshalb wurde bei der Entwicklung von Samba 2.2.2 der Befehl "setdriver" mitentwickelt.

Sobald mehr als ein Drucker den gleichen Treiber benötigt, kann man den Befehl rpcclient setdriver ... benutzen, um dem Drucker einen schon installierten Treiber zuzuweisen. Dazu das folgende Beispiel (aus der mit Samba mitgelieferten Doku):

$ rpcclient pogo -U root%secret -c "enumdrivers"
Domain=[NARNIA] OS=[Unix] Server=[Samba 2.2.0-alpha3]

[Windows NT x86]
Printer Driver Info 1:
     Driver Name: [HP LaserJet 4000 Series PS]

Printer Driver Info 1:
     Driver Name: [HP LaserJet 2100 Series PS]

Printer Driver Info 1:
     Driver Name: [HP LaserJet 4Si/4SiMX PS]

$ rpcclient pogo -U root%secret -c "enumprinters"
Domain=[NARNIA] OS=[Unix] Server=[Samba 2.2.0-alpha3]
     flags:[0x800000]
     name:[\\POGO\hp-print]
     description:[POGO\\POGO\hp-print,NO DRIVER \
AVAILABLE FOR THIS PRINTER,]
     comment:[]

$ rpcclient pogo -U root%secret \
>  -c "setdriver hp-print \"HP LaserJet 4000 Series PS\""
Domain=[NARNIA] OS=[Unix] Server=[Samba 2.2.0-alpha3]
Successfully set hp-print to driver HP LaserJet 4000 Series PS.
Der letzte Absatz zeigt den eigentlichen Befehl zum Setzen des Druckers hp-print auf den (schon einmal installierten) Druckertreiber "HP LaserJet 4000 Series PS".

... mit dem "Imprints"-Toolset

Das "Imprints"-Toolset ist eine Sammlung von Perl-skripten zum Installieren und netzwerkweiten Vorhalten/Anbieten von Windows-Druckertreibern. So muss man nur einen Linux-Server im Netzwerk mit den Dateien für alle benötigten Drucker versehen und kann eine Vielzahl von Druckern und Clients sehr bequem Verwalten.

Der Imprints-Server ist eigentlich ein Datenbankserver der mittels Standard HTTP-Mechanismen abgefragt werden kann. Jedes Treiber-Paket ist mit einer Gnupg-Signaturen versehen. So kann geprüft werden, dass das heruntergeladene Paket auch dem entspricht, welches auf dem Imprints-Server liegt.

Die näheren Infos dazu sind in der Samba-Doku "printer_driver2.html" und im Internet unter http://imprints.sourceforge.net/ zu finden.

Leider kam dieses Projekt 2002 zum Stillstand. Ich weiß nicht wie der Stand der Dinge ist.

4.4 Script zum Einfügen des Datums

Durch Anregung und Beispiel eines anderen Linux- und Samba-Users kam ich, wie weiter oben beschrieben, auf die Idee, die Dateinamen der per Netzwerk erzeugten PDF-Dateien zusätzlich zum Username mit dem Erzeugungsdatum und -zeit zu versehen, um so eine bessere und sichere Zuordnung treffen zu können.

4.4.1 Script datetime

Man muss unter /usr/local/bin (oder wo ihr lieber wollt), ein Hilfsscript anlegen, welches die eigentliche Arbeit macht und auch von anderen Applikationen zur aktuellen Datumsabfrage benutzt werden kann. Wir nennen es mal datetime. Dies ist erforderlich, da Samba die %-Zeichen für die Formatierung des Ausgabeformates nicht verarbeiten kann. Hier muss man aber beachten, dass Windows keine Dateinamen mit Doppelpunkten darstellen kann. Deshalb habe ich in das Skript "datetime" Optionen eingebunden, mit denen das Ausgabeformat gewählt werden kann. Diese könnt Ihr in der Datei selbst oder durch Aufruf mit dem Parameter --help herausfinden.

Im Druckbefehl für den Drucker "pdfwrite" muss dieses Script aufgerufen werden und die Rückgabe wird in den Dateinamen nach dem Username eingefügt. Dazu wird der Aufruf mit den "Backticks" (Shift+`) oder mit $(programmaufruf) eingebunden. Hier könnt ihr die smb.conf für SusE 8.1 herunterladen.


   
SAMBA (1)
Intro
Allgemeines
Installation
Konfiguration
SAMBA (2)
Domain Controller
Startskript
Winpopup
SAMBA (3)
=> Drucker
Allgemeines
Grundkonfiguration
Druckershares
WinPOPUP-Nachricht
PDF-Ausdrucke
Drucker automatisch installieren
SAMBA (4)
=> SuSE 8.1
Unterschiede
Funktionen
Änderungen
Druckertreiber
Datums-Skript
SAMBA (5)
=> Hilfsprogramme
Winpopup
smb-wall.pl
smb-user-wall.pl
Probleme
Lösung
SAMBA (6)
=> Novell-like
Unterschiede
Novell Samba
Lösung
Verzeichnisstruktur
Fehlerquellen
 
©  09.09.2009  Heiko Teichmeier - Glauchau/Sa.