Linux als Printserver mit Samba 3

Treiber-Download aktivieren

Sind alle Daten im Treiberverzeichnis von CUPS abgelegt, stellt sich die Frage, wie die Clients nun an die Treiber kommen. Die Antwort lautet: über eine spezielle Ressource des Samba-Servers. Allerdings reicht es dazu nicht, einfach in der Samba-Konfiguration eine weitere Dateifreigabe auf das Verzeichnis mit den Treibern zu definieren - so einfach macht es uns Microsoft nicht. Eine zusätzliche Sektion in /etc/samba/smb.conf ist trotzdem nötig:

[print$]
path = /etc/samba/drivers
browsable = yes
guest ok = no
read only = yes
write list = root, @ntadmin

Da das Verzeichnis /etc/samba/drivers noch nicht existiert, müssen Sie es noch anlegen und mit den richtigen Rechten versehen:

mkdir /etc/samba/drivers
chmod 755 /etc/samba/drivers

Unterhalb dieses Verzeichnisses erwarten die Microsoft-Betriebssysteme eine spezielle Struktur, in der jede Windows-Variante die für sie bestimmten Treiber vorfindet. Anstatt diese nun per Hand zu erzeugen und die Dateien an die richtige Stelle zu kopieren, bedienen Sie sich lieber des Hilfsprogramms cupsaddsmb:

cupsaddsmb -a

Sie werden nach dem Passwort für den Samba-User root gefragt. Sollte dies mehr als einmal passieren, dann ist der Superuser noch nicht in der Benutzerdatenbank von Samba enthalten. Das ist kein Beinbruch, der Befehl smbpasswd -a root behebt das Problem.

Wenn Sie jetzt in das Verzeichnis /etc/samba/drivers wechseln und dort per ls ein Directory-Listing abrufen, sehen Sie, dass cupsaddsmb dort zwei neue Verzeichnisse angelegt hat: WIN40 und W32X86. Das erste Directory enthält die Treiber für Windows 9x/Me, im zweiten finden sich die CUPS-Treiber für die 32-Bit-Versionen von Windows. Zusätzlich sind Dateien vorhanden, die den Namen der unter CUPS definierten Drucker und die Namenserweiterung .ppd tragen.

Im Hintergrund hat das Utility cupsaddsmb also ganze Arbeit geleistet. Nicht nur, dass es die korrekte Verzeichnisstruktur erzeugt hat. Zusätzlich wurden auch die Einstellungen für die gesamten Drucker richtig gesetzt und die notwendigen Treiberdateien an die von den Clients erwartete Stelle kopiert. Starten Sie nun den Samba-Dämon per /etc/init.d/smb restart neu. Sobald Sie jetzt auf einen von diesem Server bereitgestellten Drucker zugreifen, wird - nach dem obligatorischen Warnhinweis - der Druckertreiber automatisch auf dem Client installiert.