Linux als Printserver mit Samba 3

Den Zugang beschränken

Mit der bislang beschriebenen Konfiguration erhält jeder Anwender Zugriff auf alle Drucker - egal ob es sich um einen User im lokalen Netz handelt oder um einen Benutzer, der von einer völlig anderen IP-Adresse aus seine Aufträge schickt. Nun macht es zwar wenig Sinn, vom Internet aus Dokumente auf fremden Druckern auszugeben. Aber über passend modifizierte Printjobs kann man Drucker auch lahm legen und so den Arbeitsablauf eines Unternehmens empfindlich stören. Die einfachste Maßnahme gegen einen derartigen Angriff ist die Beschränkung des Zugriffs auf einen festgelegten Bereich von IP-Adressen. Dazu ist lediglich die Sektion [printers] der Samba-Konfiguration um eine Befehlszeile zu erweitern:

hosts allow = 192.168.0.0/24

Mit diesem Befehl schränken Sie den Zugriff auf Rechner ein, die eine IP-Adresse aus dem Subnetz 192.168.0.x besitzen. Wenn Sie wollen, dass sich die Anwender vor der Nutzung des Druckers auch am Server anmelden müssen, ist die Zeile mit der Anweisung guest ok zu ändern:

guest ok = no

Etwas aufwendiger wird es, wenn nicht alle am Server definierten Drucker für alle Anwender sichtbar sein sollen. Bisher hat die spezielle Samba-Ressource [printers] dafür gesorgt, dass alle unter CUPS bekannten Drucker automatisch im Netz bereitgestellt werden. Um dieses Verhalten zu ändern, muss die globale Ressource [printers] gelöscht und jeder Drucker als eigene Ressource definiert werden. Entsprechende Einträge für die Drucker dj940c und x4510 wären also:

[dj940c]
path = /var/spool/samba
browsable = no
guest ok = no
writeable = no
printable = yes
valid users = @grafik
printer admin = root, @ntadmin
[x4510]
path = /var/spool/samba
browsable = no
guest ok = no
writeable = no
printable = yes
printer admin = root, @ntadmin

Durch das Setzen der Option valid users = @grafik erhalten nur die Anwender Zugriff auf den Farbdrucker, die Mitglieder in der Linux-Benutzergruppe grafik sind, während der normale Laserdrucker allen Usern zur Verfügung steht. Wie anhand des Beispiels zu sehen ist, können die Spool-Verzeichnisse für die einzelnen Drucker auf dasselbe lokale Directory zeigen. Es lassen sich aber auch separate Verzeichnisse für jeden Drucker angeben.