Printserver mit Samba 4

Selbstverständlich haben wir auch ein Bedarf in Firmen Netz Dokumente zu drucken. Wir können auf den Endgeräten die Drucker und Treiber installieren oder wir stellen den Mitarbeiter einen Printserver zur Verfügung. 
Gibt es einen Printserver auf Samba Basis im Netz, können sich die Mitarbeiter den entsprechenden Drucker auswählen und ihn selbständig installieren. Die Treiber werden von dem Server geholt.

Die Arbeiten können wir in 3 Bereiche unterteilen

  • Druckereinrichtung mit CUPS
  • Samba Konfiguration für den Printserver
  • Treiber Installation auf dem DC1 mit Druckerverwaltung unter Windows

Widmen wir uns zuerst zu der Druckerinstallation unter Linux auf dem DC1.
Das Paket cups muss installiert sein, wenn nicht dann installieren wir es einfach.

 
# apt install cups


Bei der Linux Grundinstallation haben wir keine grafische Oberfläche ausgewählt. Es stellt sich die Frage, wie kann ich bequem die Drucker Konfigurieren? Für diesen Zweck können wir CUPS-Webinterface nutzen. Normalerweise ist die schon für ein lokalen Zugriff konfiguriert, aber lokal haben wir keine grafische Oberfläche, deshalb müssen wir CUPS so konfigurieren, dass wir von einem anderem Gerät per Browser zugreifen dürften.
Wir brauchen auf Server kein Apache oder Nginx. 

Anpassung der Datei /etc/cups/cupsd.conf für den Remotezugriff

Wir öffnen die Datei /etc/cups/cupsd.conf mit beliebigem Editor und passen wir die an. Die Zeilen ändern bzw. anpassen.
Die IP Definitionen gehören selbstverständlich zu unserem Netz.

# Listen localhost:631
Listen 0.0.0.0:631

# Disable printer sharing.
# Browsing On
Browsing Off
...

# Restrict access to the server...
<Location />
  Order allow,deny
  Allow from 192.168.15.*
</Location>

# Restrict access to the admin pages...
<Location /admin>
  AuthType Default
  Order allow,deny
  Allow from 192.168.15.*
</Location>

 

Starten wir jetzt den cups Dienst neu

# systemctl restart cups


Ab jetzt können wir, in unserem Fall aus dem Netz 192.168.15.0/24 auf cups-Verwaltung auf dem Domänen Controller zugreifen.
Wir starten auf beliebigem Gerät ein Browser und unter der Adresse schreiben wir, in unserem Fall http://192.168.15.10:631
 
Wenn man auf den Reiter Verwaltung klickt, dann kommt noch Benutzer/Passwort abfrage. Hier sollte man den Benutzer root und dazugehöriges Passwort eintragen. Hier kann man die Drucker verwalten, wie z.B. neuen Drucker hinzufügen. Drucker auflisten bzw. ändern kann man unter dem Reiter Drucker.

Drucker mit einer Netzwerkkarte und damit auch mit  einer IP-Adresse verbinden wir meisten per ldp bzw. socket.
Sollte der Drucker nur für Windows genutzt werden, dann wählen wir beim "Drucker Hinzufügen" den Hersteller Raw, Model Raw Queue. Windows Treiber werden später auf andere Weise auf dem Server zur Verfügung gestellt.

Für den PDF-Druck müssen wir noch ein Paket installieren. Danach können wir auch einen virtuellen PDF Drucker installieren.

# apt install printer-driver-cups-pdf



Die meisten Drucker sind wahrscheinlich mit einer Netzwerkkarte ausgestattet und schon mit einer IP-Adresse eingerichtet. Die entsprechende Protokolle im Drucker müssen auch eingeschaltet sein. Es steht also nichts dagegen die Drucker einzuschalten und in CUPS-Verwaltung die Drucker einzurichten.
Wir sollen uns bestimmte Regel, wenn es um die Benennung der Drucker geht, setzen. Die Namen sollten keine Sonderzeichen beinhalten, außer vielleicht "-" und "_" und außerdem wäre sehr hilfreich, wenn der Druckername die Raumnummer beinhalten würde.

Samba Konfiguration für den Printserver

Im Grunde genommen um Samba auch als Printserver zu konfigurieren müssen wir 

  • zwei zusätzliche Freigaben definieren und 
  • die Drucker definieren

Wir öffnen die /etc/samba/smb.conf Datei auf dem DC1 mit beliebigem Editor und ergänzen den Bereich [global] mit bestimmte Optionen und machen noch zusätzlich Drucker-Freigaben. Hier in der Farbe braun dargestellt.
 

[global]
   dns forwarder = 8.8.8.8
   netbios name = DC1
   realm = FIRMA.LAN
   server role = active directory domain controller
   workgroup = FIRMA
   idmap_ldb:use rfc2307 = yes
   ntlm auth = yes
   printing = CUPS
   load printers = yes
   rpc_server:spoolss = external
   rpc_daemon:spoolssd = fork
   spoolss: architecture = Windows x64

# ...

[printers]
   comment = Drucker
   browseable = no
   path = /tmp
   printable = yes
   public = no
   writable = no
   create mode = 0700

[print$]
   comment = Printer Drivers
   path = /var/lib/samba/drivers
   browseable = yes
   guest ok = no
   read only = no
   write list = root, Administrator, @Printer-Admins


# ...

 


Auf jeden Fall sollten wir noch für die Gruppe "Domain Admins" Druckprivilegien setzen.

# net rpc rights grant "firma\domain admins" SePrintOperatorPrivilege -U "firma\Administrator"

 
Die Privilegien können wir wie folgt auflisten

# net rpc rights list privileges SePrintOperatorPrivilege -U "firma\Administrator"

 

Der Samba Dienst wird neu gestartet.

# systemctl restart samba-ad-dc.service

 

Wir werden jetzt die Treiber für die Drucker auf dem Server, in unserem Falls auf dem DC1, installieren. Die Installation der Treiber können wir von einem Windows Rechner durchführen, der muss sich aber in der Domäne befinden.
Wir melden uns als Administrator oder mit einem Benutzer mit Domänen Administrator-Rechten an einem Windows Rechner ein. 
Wir startet die App "Systemsteuerung"
Dann auf "System und Sicherheit" -> "Verwaltung" und auf "Druckerverwaltung".
Zuerst wird es der Name des Printservers eingefügt. Den Namen des lokalen PC können wir entfernen.

Jetzt können wir den bzw. die Druckertreiber installieren. Wir klicken einfach auf "Treiber" und mit der rechte Maustaste auf "Treiber hinzufügen ..."

Das was noch geblieben ist, ist die Zuweisung des Treibers zu dem entsprechenden Drucker. Der Drucker wird markiert und dann auf "Eigenschaften".
Den Reiter "Erweitert" bitte auswählen und den richtigen Treiber zuweisen. In meinem Fall wäre das der Brother Druckertreiber.

In der Windows-Netzwerkumgebung unter \\DC1 sehen wir alle Freigaben und auch die Drucker. Klickt man auf einen Drucker wird dieser lokal installiert. Die Druckertreiber werden vom Server geholt. 

Damit auch die Benutzer ohne Adminrechte die Treiber auf dem Windows Gerät installieren könnten, müssen wir eine Gruppenrichtlinie anpassen.
Wir starten Gruppenrichtlinienverwaltung und erstellen neue Richtlinie z.B. "Printer-Add-Users". Danach mit der rechte Maustaste auf die Richtlinien und auf "Bearbeiten ..."
-> Computerkonfiguration -> Administrative Verlagen -> Point-and-Point-Einschränkungen
und aktivieren wir diese Richtlinie. Die Optionen wie unten angezeigt. 

  • Point-and-Point ist nur mit Computern der eigene Gesamtstruktur möglich
  • Sicherheitshinweise nicht anzeigen bei
    • Beim Installieren von Treiber für eine neue Verbindung:
    • Beim Aktualisieren von Treibern für eine vorhandene Verbindung

 

Nach der Aktivierung der Richtlinie können Benutzer ohne Adminrechte die entsprechende Treiber von Server installieren.