Scroll to navigation

saned(8) SANE Scanner Access Now Easy saned(8)

BEZEICHNUNG

saned - SANE-Netzwerkdaemon

ÜBERSICHT

saned [ -a [ Benutzername ] ] [ -u Benutzername ] [ -b Adresse ] [ -l ] [ -D ] [ -o ] [ -d n ] [ -e ] [ -h ]

BESCHREIBUNG

saned ist der SANE- (Scanner Access Now Easy) Daemon, der fernen Clients den Zugriff auf die auf dem lokalen Rechner verfügbaren bildgebenden Geräte ermöglicht.

OPTIONEN

Der Schalter -l fordert, dass saned im Einzelbetrieb-Daemon-Modus läuft. In diesem Modus wird saned auf eingehende Verbindungen warten; inetd ist für saned-Aktionen in diesem Modus nicht notwendig. Der Schalter -b weist saned an, sich an die angegebene Adresse zu binden. Der Schalter -u fordert, dass saned die Root-Privilegien abgibt und nach dem Anbinden als der normaler Benutzer (und dessen Gruppe) läuft, die Benutzername zugeordnet ist. Der Schalter -D fordert, dass saned von der Konsole abkoppelt und im Hintergrund läuft. Der Schalter -a ist äquivalent zu der Kombination der Optionen -l -B -u Benutzername.

Der Schalter -d setzt die Debug-Ausgabe-Stufe von saned. Erfolgte die Kompilierung mit aktiviertem Debugging, dann kann diesem Schalter eine Zahl folgen, die mehr oder weniger Debug-Informationen anfordert. Je größer die Zahl, desto ausführlicher die Debug-Ausgabe. Z.B. wird -d128 sämtliche Debug-Informationen erbitten. Die Stufe 0 erzeugt überhaupt keine Ausgabe. Der Vorgabewert ist 2.

Der Schalter -e leitet die Debug-Ausgabe von saned in die Standardfehlerausgabe, statt in die Vorgabe Syslog.

Der Schalter -o fordert, dass saned sich beendet, nachdem der erste Client sich beendet. Dies ist für das Debugging hilfreich.

Der Schalter -h zeigt eine kurze Hilfemeldung.

Falls saned von anderen Programmen wie Inetd, Xinetd und Systemd ausgeführt wird, dann lesen Sie bitte die Dokumentation der jeweiligen Programme, wie Befehlszeilenoptionen übergeben werden.

KONFIGURATION

Als aller erstes: saned ist nicht dazu gedacht, ans Internet oder andere, nicht vertrauenswürdige Netzwerke angebunden zu werden. Stellen Sie sicher, dass der Zugriff durch tcpwrappers und/oder eine installierte Firewall begrenzt ist. Verlassen Sie sich nicht auf die Authentifizierung von saned selbst. Führen Sie saned nicht als root aus, außer es ist unbedingt notwendig. Und installieren Sie saned nicht setuid root.

Die Konfigurationsdatei saned.conf enthält sowohl Optionen für den Daemon als auch die Zugriffsliste.

gibt den für die Daten-Verbindung zu verwendenden Port-Bereich an. Wählen Sie einen Port-Bereich zwischen 1024 und 65535. Wählen Sie keinen zu großen Port-Bereich, da das zu Performance-Problemen führen kann. Verwenden Sie diese Option, falls Ihr saned-Server hinter einer Firewall steht. Falls diese Firewall eine Linux-Maschine ist, empfehlen wir nachdrücklich stattdessen das Netfilter-Modul nf_conntrack_sane.
gibt die Zeit in Millisekunden an, die Saned auf eine Datenverbindung warten wird. Ohne diese Option wird der Scanner über das Ende hinaus scannen und könnte, abhängig vom Backend, den Scanner beschädigen, falls die Datenverbindung noch nicht aufgebaut ist, bevor der Scanner das Ende des Scans erreicht hat. Geben Sie Null an, um das alte Verhalten zu erreichen. Die Vorgabe ist 4000ms.

Die Zugriffsliste besteht aus Rechnernamen, IP-Adressen oder IP-Subnetzen (CIDR-Notation), denen erlaubt wird, lokale SANE-Geräte zu verwenden. IPv6-Adressen müssen in Klammern eingeschlossen und sollten immer in ihrer komprimierten Form angegeben werden. Verbindungen von localhost sind immer erlaubt. Leere Zeilen und Zeilen, die mit einer Raute (»#«) beginnen, werden ignoriert. Eine Zeile, die als einziges Zeichen ein »+« enthält, wird so interpretiert, dass sie auf jeden Rechnernamen passt. Dies erlaubt es jeder fernen Maschine, Ihren Scanner zu benutzen und kann ein Sicherheitsrisiko darstellen. Daher sollten Sie das nicht verwenden, außer Sie wissen, was Sie tun.

Nachfolgend sehen Sie ein Beispiel für eine Konfigurationsdatei:

# Daemon-Optionen
data_portrange = 10000 - 10100
# Zugriffsliste
scan-client.somedomain.firm
# Dies ist ein Kommentar
192.168.0.1
192.168.2.12/29
[::1]
[2001:db8:185e::42:12]/64

Die Groß- oder Kleinschreibung spielt bei Rechnernamen keine Rolle, daher ist EinRechner.com identisch zu einrechner.com.

KONFIGURATION DES SERVER-DAEMONS

Damit saned in seinem Standardbetriebsmodus korrekt funktioniert, ist es auch notwendig, die geeignete Konfiguration zu (x)inetd oder systemd hinzuzufügen (siehe unten). Beachten Sie, dass Ihr Inetd IPv6 unterstützen muss, falls Sie Saned über IPv6 anbinden wollen. Xinetd, Openbsd-inetd und Systemd unterstützen bekanntermaßen IPv6, prüfen Sie die Dokumentation Ihres Inetd-Daemons.

In den nachfolgenden Abschnitten wird die Konfiguration für inetd, xinetd und systemd detaillierter beschrieben.

Für die nachfolgenden Konfigurationen ist es nötig, eine Zeile der folgenden Form zu /etc/services hinzuzufügen:

sane-port 6566/tcp # SANE-Netzwerkscanner-Daemon

Der offizielle IANA-Kurzname für Port 6566 ist »sane-port«. Der ältere Name »sane« gilt als veraltet.

INETD-KONFIGURATION

Es ist notwendig, eine einzige Zeile zu der Konfigurationsdatei des Inetd (/etc/inetd.conf) hinzuzufügen.

Die Konfigurationszeile sieht normalerweise folgendermaßen aus:

sane-port stream tcp nowait saned.saned /usr/sbin/saned saned

Falls Ihr System allerdings tcpd(8) für zusätzliche Sicherheitsüberwachung verwendet, können Sie die Zugriffssteuerung von Saned deaktivieren, indem Sie ein »+« in saned.conf packen und stattdessen eine Zeile der folgenden Form in /etc/inetd.conf verwenden:

sane-port stream tcp nowait saned.saned /usr/sbin/tcpd /usr/sbin/saned

Beachten Sie, dass beide Beispiele davon ausgehen, dass es sowohl eine Gruppe als auch einen Benutzer namens saned gibt. Wenn Sie diesem Beispiel folgen, stellen Sie bitte sicher, dass die Zugriffsrechte auf das Spezialgerät so gesetzt sind, dass saned auf den Scanner zugreifen kann (das Programm benötigt generell lesenden und schreibenden Zugriff auf Scanner-Geräte).

XINETD-KONFIGURATION

Falls Xined statt Inetd auf Ihrem System installiert ist, könnte das folgende Beispiel für /etc/xinetd.conf hilfreich sein:

# default: off
# description: Der Sane-Server akzeptiert Anfragen
# auf Netzwerkzugriff auf einen lokalen Scanner mittels des
# Netzwerks.
service sane-port
{

port = 6566
socket_type = stream
wait = no
user = saned
group = saned
server = /usr/sbin/saned }

SYSTEMD-KONFIGURATION

saned kann mit expliziter Unterstützung für systemd(1) kompiliert werden. Dies ermöglicht die Protokollierung von Debugging-Informationen und deren Speicherung im Journal von Systemd. Die Systemd-Unterstützung erfordert die Kompilierung mit dem systemd-devel-Paket, das auf dem System installiert ist. Dies ist die bevorzugte Option.

Saned kann mit Systemd verwendet werden, ohne dass die Systemd-Unterstützung einkompiliert ist, allerdings wird dann die Protokollierung von Debug-Informationen nicht unterstützt.

Die Systemd-Konfiguration ist für die beiden Optionen verschieden, daher werden beide nachfolgend beschrieben.

Systemd-Konfiguration für saned mit einkompiliertem Systemd

Für die Systemd-Konfiguration müssen zwei Konfigurationsdateien in /etc/systemd/system hinzugefügt werden.

Die erste Datei, die wir hier hinzufügen müssen, heißt saned.socket. Sie muss den folgenden Inhalt haben:

[Unit]
Description=Saned eingehendes Socket
[Socket]
ListenStream=6566
Accept=yes
MaxConnections=1
[Install]
WantedBy=sockets.target

Die zweite Datei, die hier hinzugefügt werden muss, ist saned@.service mit den folgenden Inhalten:

[Unit]
Description=Scanner Service
Requires=saned.socket
[Service]
ExecStart=/usr/sbin/saned
User=saned
Group=saned
StandardInput=null
StandardOutput=syslog
StandardError=syslog
Environment=SANE_CONFIG_DIR=/etc/sane.d
# Falls Sie in Ihrer Konfiguration nach Fehlern suchen müssen, entfernen
# Sie das Kommentarzeichen vor der nächsten Zeile und passen Sie sie mit
# den gewünschten Debug-Optionen an
# Environment=SANE_DEBUG_DLL=255 SANE_DEBUG_BJNP=5
[Install]
Also=saned.socket

Sie müssen eine Umgebungsvariable für SANE_CONFIG_DIR setzen, die auf das Verzeichnis zeigt, in dem Saned seine Konfigurationsdateien finden kann. Sie werden das »#« auf der letzten Zeile entfernen müssen und die Variablen für die gewünschten Debugging-Informationen setzen müssen, falls benötigt. Sie können mehrere Variablen setzen, indem Sie die Zuweisungen durch Leerzeichen trennen, wie das im obigen Beispiel gezeigt ist.

Anders als bei (x)inetd erlaubt Systemd das Mitschneiden der Fehlersuchausgabe von Backends, die mittels SANE_DEBUG_XXX gesetzt wurde. Lesen Sie die Handbuchseite für Ihr Backend, um zu sehen, welche Optionen unterstützt werden. Mit der oben dargestellten Dienste-Unit wird die Debugging-Ausgabe an das Systemprotokoll weitergeleitet.

Systemd-Konfiguration, wenn saned ohne Unterstützung für Systemd kompiliert wurde

Diese Konfigurationsdatei funktioniert auch, wenn Saned MIT Systemd-Integrationsunterstützung kompiliert wurde, aber sie erlaubt nicht das Protokollieren der Debugging-Informationen.

Für die Systemd-Konfiguration für Saned müssen zwei Konfigurationsdateien in /etc/systemd/system hinzugefügt werden.

Die erste Datei, die hier hinzugefügt werden muss, heißt saned.socket. Sie ist identisch zu der Version für Systemd mit einkompilierter Unterstützung. Sie muss den folgenden Inhalt haben:

[Unit]
Description=Saned eingehendes Socket
[Socket]
ListenStream=6566
Accept=yes
MaxConnections=1
[Install]
WantedBy=sockets.target

Die zweite Datei, die hinzugefügt werden muss, ist saned@.service. Diese unterscheidet sich von der Version mit einkompilierter Systemd-Unterstützung.

[Unit]
Description=Scanner Service
Requires=saned.socket
[Service]
ExecStart=/usr/sbin/saned
User=saned
Group=saned
StandardInput=socket
Environment=SANE_CONFIG_DIR=/etc/sane.d
[Install]
Also=saned.socket

DATEIEN

/etc/hosts.equiv
Den in dieser Datei aufgeführten Rechnern wird der Zugriff auf alle lokalen SANE-Geräte erlaubt. Warnung: Diese Datei führt zu erheblichen Sicherheitsrisiken und ihr Einsatz wird nicht empfohlen.
/etc/sane.d/saned.conf
Enthält eine Liste von Rechnern, denen der Zugriff auf lokale SANE-Geräte erlaubt wird (siehe auch die obige Beschreibung von SANE_CONFIG_DIR).
/etc/sane.d/saned.users
Falls diese Datei Zeilen der Form

Benutzer:Passwort:Backend

enthält, ist der Zugriff auf die aufgelisteten Backends eingeschränkt. Ein Backend kann mit verschiedenen Benutzer/Passwort-Kombinationen mehrfach aufgelistet werden. Der Server verwendet MD5-Hashes, sofern dies vom Client unterstützt wird.

UMGEBUNGSVARIABLEN

Diese Umgebungsvariable gibt eine Liste von Verzeichnissen an, die die Konfigurationsdatei enthalten können. Unter UNIX sind die Verzeichnisse durch Doppelpunkte (:) getrennt, unter OS/2 durch Semikola (;). Falls diese Variable nicht gesetzt ist, wird in zwei Standardverzeichnissen nach der Konfigurationsdatei gesucht: zuerst im aktuellen Arbeitsverzeichnis (.) und dann in /etc/sane.d. Falls der Wert der Umgebungsvariable mit dem Verzeichnis-Trennzeichen endet, dann werden die Standardverzeichnisse nach den explizit angegebenen Verzeichnissen durchsucht. Wenn Sie beispielsweise SANE_CONFIG_DIR auf »/tmp/config:« setzen, wird in den Verzeichnissen »tmp/config«, ».« und »/etc/sane.d« gesucht (in dieser Reihenfolge).

SIEHE AUCH

sane(7), scanimage(1), xscanimage(1), xcam(1), sane-dll(5), sane-net(5), sane-backendname(5)
http://www.penguin-breeder.org/?page=sane-net

AUTOR

David Mosberger

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> und Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

29. September 2017