Samba4 + Cups + Windows 8

Veröffentlicht am: 
18.04.2013

Da ich letzte Woche beschrieben habe, wie ich einen Samba4-Server als Active Directory Domain Coltroller aufgesetzt habe, möchte ich euch heute zeigen, wie ich auf einem Samba4-Server mit Cups eine Druckerfreigabe eingerichtet habe und diese Drucker mittels GPO an Windows 8 Clients verteilt habe.

Als erstes kompilieren und installieren wir einen Samba4-Server, wie in dem oben verlinkten Artikel beschrieben.
Zusätzlich muss noch das Paket Cups nachinstalliert werden.

Wir erstellen ein Verzeichnis, in dem die zu druckenden Dokumente von Cups zwischengespeichert werden und setzen die entsprechenden Berechtigungen.

  1. mkdir /usr/local/samba/var/spool
  2. chmod 1777 /usr/local/samba/var/spool

Falls ihr später im Windows-Client einen Zugriff verweigert-Fehler bekommt, dann prüft nochmals die Berechtigung des spool-Verzeichnisses!
Nach jedem Start von Cups, müsst ihr die Berechtigung neu setzen. Schreibt euch also am besten ein kleines Script für den Start, bzw. Neustart von Cups...

Jetzt erstellen wir noch die Verzeichnisse für die zu verteilenden Druckertreiber.

  1. # Mit diesem Befehl werden gleich mehrere Verzeichnisse angelegt.
  2. mkdir -p /usr/local/samba/var/print/{COLOR,IA64,W32ALPHA,W32MIPS,W32PPC,W32X86,WIN40,x64}

Weiter geht es mit unserer Samba-Konfigurationsdatei (/usr/local/samba/etc/smb.conf).
Öffnet die Datei im vi und passt sie wie folgt an:

  1. [printers]
  2. comment = All Printers
  3. path = /usr/local/samba/var/spool
  4. browseable = Yes
  5. read only = No
  6. printable = Yes
  7.  
  8. [print$]
  9. comment = Point and Print Printer Drivers
  10. path = /usr/local/samba/var/print
  11. read only = No

Anschließend den Samba-Server neustarten.

Cups konfigurieren

Die Einstellungen am Samba-Server sind soweit gemacht, also kümmern wir uns jetzt um die Cups-Einstellungen.
Hierfür öffnet die Datei /etc/cups/cups.conf im vi.

Ein Beispiel ist zum Download angefügt.

ACHTUNG! Hier zeige ich nur eine beispielhafte Konfiguration. Wenn ihr die Limit-Container nicht anpasst, kann jeder aus euerm Netz die Drucker administrieren!
Allow from 192.168.xxx.0/24 durch euer IP-Netz ersetzen.
Jetzt müsst ihr noch Cups neustarten (/etc/init.d/cups restart).
Habt ihr bis hierher alles richtig gemacht, ist die grundsätzliche Einrichtung abgeschlossen.
Nun kümmern wir uns darum einen Drucker zu Cups hizuzufügen.

Drucker zu Cups hinzufügen

Besorgt euch, falls möglich, von euerm Druckerhersteller eine ppd-Treiberdatei.

Öffnet die Weboberfläche von Cups im Browser eurer Wahl (http://192.168.xxx.xxx:631).
Wenn ihr hier eine Forbidden-Meldung bekommt, dann habt ihr in der cups.conf im Location-Container die Berechtigungen falsch gesetzt!
Hier klickt ihr auf Drucker und Klassen hinzufügen -> Drucker hinzufügen.Idealer Weise sollten eure Drucker unter Entdeckte Netzwerkdrucker erscheinen.
Wählt euern Drucker aus und klickt auf Weiter.

Gebt einen Namen, eine Beschreibung und den Standort des Druckers ein.
Unter dem Punkt Verbindung seht ihr die IP des Druckers.Jetzt noch das Häkchen bei Freigabe setzen und Weiter klicken.
Wählt eure ppd-Datei aus und klickt auf Drucker hinzufügen.
Habt ihr keine entsprechende Treiber-Datei, dann wählt den Druckerhersteller aus und klickt auf Weiter.

Fertig!
Ihr solltet jetzt, wenn ihr per UNC-Pfad von Windows aus, auf euern Samba-Server schaut, den Drucker sehen.
Seht ihr den Drucker nicht, dann startet Cups einfach nochmal durch...

Windowstreiber hinzufügen und Drucker per GPO verteilen

Meldet euch an einem Rechner als Administrator an, auf dem Microsofts Remote Server Administration Tools installiert sind.
Startet den Server-Manager, klickt auf Tools und anschließend auf Druckerverwaltung.
Macht einen Rechtsklick auf Druckerserver und fügt euern Cups-Server hinzu.
Nun habt ihr eine Auflistung der Drucker, die ihr auf euerm Cups-Server freigegeben habt.

Druckerverwaltung von Microsofts RSAT

Wie man sieht, fehlen noch die Treiber für Windows.
Entweder, wir fügen die Treiber unter dem entsprechenden Punkt hinzu, oder wir machen einen Doppelklick auf den entsprechenden Drucker und erhalten eine Fehlermeldung, dass kein Druckertreiber installiert ist und bestätigen diese mit Ja.

Fehlermeldung Druckertreiber nicht vorhanden

Wenn der Treiber installiert ist und die Druckereigenschaften geöffnet sind, wechseln wir zu dem Reiter Erweitert und wählen den zugehörigen Treiber aus.

Druckertreiber auswählen

Jetzt bestätigen wir noch mit OK und ignorieren die folgende Fehlermeldung.
Nun aktualisieren wir noch die Ansicht der Drucker und siehe da, dem Drucker wurde der Treiber hinzugefügt. (trotz Fehlermeldung)

Druckerverwaltung in Microsofts RSAT aktualisiert

Haben alle Drucker einen Treiber zugewiesen bekommen, schließen wir die Druckerverwaltung und öffnen die Gruppenrichtlinienverwaltung.
Legt eine neue Gruppenrichtlinie an, oder bearbeitet eine bereits bestehende.
Hier folgenden Pfad öffnen: Benutzerkonfiguration -> Einstellungen -> Systemsteuerungseinstellungen -> Drucker.

Drucker über Gruppenrichtlinien verteilen

Hier fügen wir einen FREIGEGEBENEN DRUCKER hinzu.
Gebt den UNC-Pfad zu dem Drucker an (\\SERVERNAME\FREIGABENAME_DRUCKER).

freigegebenen Drucker angeben

Ggf. noch sagen, dass dieser Drucker der Standarddrucker sein soll und mit OK bestätigen.
Nachdem alle Drucker den Gruppenrichtlinien hinzugefügt wurden, schließen wir die Gruppenrichtlinienverwaltung und den Server-Manager.
Zur Sicherheit noch kurz Windowstaste + R und gpupdate /force ausführen.

Meldet euch ab und loggt euch mit einem Benutzer ein, für den die Drucker-Richtlinien gelten.
Wenn ihr alles richtig gemacht habt, ist nun der Drucker für den Benutzer verfügbar.

verbundene Netzwerkdrucker

Download: 

Kommentare

2

Gibt es auch eine Möglichkeit die Drucker Computer-basiert und nicht Benutzer-basiert auszurollen?
Ich hatte es mit der "Drucker Bereitstellen" Funktion der Druckerverwaltung versucht. Leider jedoch ohne Erfolg.

Hallo Julian,
 
Grundsätzlich sollte es funktionieren.Leider habe ich das nicht getestet und ich habe auch im Moment kein System zur Hand, mit dem ich das mal versuchen könnte...

Neuen Kommentar schreiben