kopia lustrzana https://gitlab.com/sane-project/website
351 wiersze
16 KiB
HTML
351 wiersze
16 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>saned.8</TITLE>
|
|
</HEAD>
|
|
<BODY BGCOLOR=#FFFFFF TEXT=#000000><H1 ALIGN=CENTER><IMG SRC="/images/sane.png" HEIGHT=117 WIDTH=346></H1>
|
|
<H1>saned.8</H1>
|
|
<HR>
|
|
<PRE>
|
|
<!-- Manpage converted by man2html 3.0.1 -->
|
|
<B><A HREF="saned.8.html">saned(8)</A></B> SANE Scanner Access Now Easy <B><A HREF="saned.8.html">saned(8)</A></B>
|
|
|
|
|
|
</PRE>
|
|
<H2>NAME</H2><PRE>
|
|
saned - SANE network daemon
|
|
|
|
|
|
</PRE>
|
|
<H2>SYNOPSIS</H2><PRE>
|
|
<B>saned</B> <B>[</B> <B>-a</B> <I>[</I> <I>username</I> <I>]</I> <B>]</B> <B>[</B> <B>-u</B> <I>username</I> <B>]</B> <B>[</B> <B>-b</B> <I>address</I> <B>]</B> <B>[</B> <B>-p</B> <I>port</I> <B>]</B> <B>[</B>
|
|
<B>-l</B> <B>]</B> <B>[</B> <B>-D</B> <B>]</B> <B>[</B> <B>-o</B> <B>]</B> <B>[</B> <B>-d</B> <I>n</I> <B>]</B> <B>[</B> <B>-e</B> <B>]</B> <B>[</B> <B>-h</B> <B>]</B>
|
|
|
|
|
|
</PRE>
|
|
<H2>DESCRIPTION</H2><PRE>
|
|
<B>saned</B> is the SANE (Scanner Access Now Easy) daemon that allows remote
|
|
clients to access image acquisition devices available on the local
|
|
host.
|
|
|
|
|
|
</PRE>
|
|
<H2>OPTIONS</H2><PRE>
|
|
The <B>-l</B> flag requests that <B>saned</B> run in standalone daemon mode. In this
|
|
mode, <B>saned</B> will listen for incoming client connections; <B><A HREF="inetd.8.html">inetd(8)</A></B> is
|
|
not required for <B>saned</B> operations in this mode. The <B>-b</B> flag tells <B>saned</B>
|
|
to bind to the <I>address</I> given. The <B>-p</B> flags tells <B>saned</B> to listen on
|
|
the port given. A value of 0 tells <B>saned</B> to pick an unused port. The
|
|
default is the <B>sane-port</B> <B>(6566).</B> The <B>-u</B> flag requests that <B>saned</B> drop
|
|
root privileges and run as the user (and group) associated with <I>user-</I>
|
|
<I>name</I> after binding. The <B>-D</B> flag will request <B>saned</B> to detach from the
|
|
console and run in the background. The flag <B>-a</B> is equivalent to the
|
|
combination of <B>-l</B> <B>-B</B> <B>-u</B> <I>username</I> options.
|
|
|
|
The <B>-d</B> flag sets the level of <B>saned</B> debug output. When compiled with
|
|
debugging enabled, this flag may be followed by a number to request
|
|
more or less debug info. The larger the number, the more verbose the
|
|
debug output. E.g., <B>-d128</B> will request output of all debug info. A
|
|
level of 0 produces no output at all. The default value is 2.
|
|
|
|
The <B>-e</B> flag will divert <B>saned</B> debug output to stderr instead of the
|
|
syslog default.
|
|
|
|
The <B>-o</B> flag requests that <B>saned</B> exits after the first client discon-
|
|
nects. This is useful for debugging.
|
|
|
|
The <B>-h</B> flag displays a short help message.
|
|
|
|
If <B>saned</B> is run from other programs such as <B><A HREF="inetd.8.html">inetd(8)</A></B>, <B><A HREF="xinetd.8.html">xinetd(8)</A></B> and
|
|
<B><A HREF="systemd.1.html">systemd(1)</A></B>, check that program's documentation on how to pass command-
|
|
line options.
|
|
|
|
|
|
</PRE>
|
|
<H2>CONFIGURATION</H2><PRE>
|
|
First and foremost: <B>saned</B> is not intended to be exposed to the internet
|
|
or other non-trusted networks. Make sure that access is limited by tcp-
|
|
wrappers and/or a firewall setup. Don't depend only on <B>saned</B>'s own au-
|
|
thentication. Don't run <B>saned</B> as root if it's not necessary. And do <B>not</B>
|
|
install <B>saned</B> as setuid root.
|
|
|
|
The <I>saned.conf</I> configuration file contains both options for the daemon
|
|
and the access list.
|
|
|
|
<B>data_portrange</B> = <I>min</I><B>_</B><I>port</I> - <I>max</I><B>_</B><I>port</I>
|
|
Specify the port range to use for the data connection. Pick a
|
|
port range between 1024 and 65535; don't pick a too large port
|
|
range, as it may have performance issues. Use this option if
|
|
your <B>saned</B> server is sitting behind a firewall. If that firewall
|
|
is a Linux machine, we strongly recommend using the Netfilter
|
|
<I>nf</I><B>_</B><I>conntrack</I><B>_</B><I>sane</I> module instead.
|
|
|
|
<B>data_connect_timeout</B> = <I>timeout</I>
|
|
Specify the time in milliseconds that <B>saned</B> will wait for a data
|
|
connection. Without this option, if the data connection is not
|
|
done before the scanner reaches the end of scan, the scanner
|
|
will continue to scan past the end and may damage it depending
|
|
on the backend. Specify zero to have the old behavior. The de-
|
|
fault is 4000ms.
|
|
|
|
The access list is a list of host names, IP addresses or IP subnets
|
|
(CIDR notation) that are permitted to use local SANE devices. IPv6 ad-
|
|
dresses must be enclosed in brackets, and should always be specified in
|
|
their compressed form. Connections from localhost are always permitted.
|
|
Empty lines and lines starting with a hash mark (#) are ignored. A line
|
|
containing the single character ``+'' is interpreted to match any host-
|
|
name. This allows any remote machine to use your scanner and may
|
|
present a security risk, so this shouldn't be used unless you know what
|
|
you're doing.
|
|
|
|
A sample configuration file is shown below:
|
|
|
|
# Daemon options
|
|
data_portrange = 10000 - 10100
|
|
# Access list
|
|
scan-client.somedomain.firm
|
|
# this is a comment
|
|
192.168.0.1
|
|
192.168.2.12/29
|
|
[::1]
|
|
[2001:db8:185e::42:12]/64
|
|
|
|
The case of the host names does not matter, so AHost.COM is considered
|
|
identical to ahost.com.
|
|
|
|
|
|
</PRE>
|
|
<H2>SERVER DAEMON CONFIGURATION</H2><PRE>
|
|
For <B>saned</B> to work properly in its default mode of operation, it is also
|
|
necessary to add the appropriate configuration for <B><A HREF="xinetd.8.html">xinetd(8)</A></B>, <B><A HREF="inetd.8.html">inetd(8)</A></B>
|
|
or <B><A HREF="systemd.1.html">systemd(1)</A></B> (see below). Note that your <B><A HREF="inetd.8.html">inetd(8)</A></B> must support IPv6
|
|
if you want to connect to <B>saned</B> over IPv6; <B><A HREF="xinetd.8.html">xinetd(8)</A></B>, <B><A HREF="openbsd-inetd.8.html">openbsd-inetd(8)</A></B>
|
|
and <B><A HREF="systemd.1.html">systemd(1)</A></B> are known to support IPv6, check the documentation for
|
|
your <B><A HREF="inetd.8.html">inetd(8)</A></B> daemon.
|
|
|
|
In the sections below the configuration for <B><A HREF="inetd.8.html">inetd(8)</A></B>, <B><A HREF="xinetd.8.html">xinetd(8)</A></B> and
|
|
<B><A HREF="systemd.1.html">systemd(1)</A></B> are described in more detail.
|
|
|
|
For the configurations below it is necessary to add a line of the fol-
|
|
lowing form to <I>/etc/services</I>:
|
|
|
|
sane-port 6566/tcp # SANE network scanner daemon
|
|
|
|
The official IANA short name for port 6566 is "sane-port". The older
|
|
name "sane" is now deprecated.
|
|
|
|
|
|
</PRE>
|
|
<H2>INETD CONFIGURATION</H2><PRE>
|
|
It is required to add a single line to the <B><A HREF="inetd.8.html">inetd(8)</A></B> configuration file
|
|
<I>(/etc/inetd.conf)</I>
|
|
|
|
The configuration line normally looks like this:
|
|
|
|
sane-port stream tcp nowait saned.saned /usr/local/sbin/saned
|
|
saned
|
|
|
|
However, if your system uses <B><A HREF="tcpd.8.html">tcpd(8)</A></B> for additional security screening,
|
|
you may want to disable <B>saned</B> access control by putting ``+'' in
|
|
<I>saned.conf</I> and use a line of the following form in <I>/etc/inetd.conf</I> in-
|
|
stead:
|
|
|
|
sane-port stream tcp nowait saned.saned /usr/sbin/tcpd /usr/lo-
|
|
cal/sbin/saned
|
|
|
|
Note that both examples assume that there is a <B>saned</B> group and a <B>saned</B>
|
|
user. If you follow this example, please make sure that the access
|
|
permissions on the special device are set such that <B>saned</B> can access
|
|
the scanner (the program generally needs read and write access to scan-
|
|
ner devices).
|
|
|
|
|
|
</PRE>
|
|
<H2>XINETD CONFIGURATION</H2><PRE>
|
|
If <B><A HREF="xinetd.8.html">xinetd(8)</A></B> is installed on your system instead of <B><A HREF="inetd.8.html">inetd(8)</A></B> the fol-
|
|
lowing example for <I>/etc/xinetd.conf</I> may be helpful:
|
|
|
|
# default: off
|
|
# description: The sane server accepts requests
|
|
# for network access to a local scanner via the
|
|
# network.
|
|
service sane-port
|
|
{
|
|
port = 6566
|
|
socket_type = stream
|
|
wait = no
|
|
user = saned
|
|
group = saned
|
|
server = /usr/local/sbin/saned
|
|
}
|
|
|
|
|
|
</PRE>
|
|
<H2>SYSTEMD CONFIGURATION</H2><PRE>
|
|
<B>saned</B> can be compiled with explicit <B><A HREF="systemd.1.html">systemd(1)</A></B><B>support.</B>This will allow
|
|
logging debugging information to be forwarded to the <B><A HREF="systemd.1.html">systemd(1)</A></B> jour-
|
|
nal. The <B><A HREF="systemd.1.html">systemd(1)</A></B> support requires compilation with the systemd-devel
|
|
package installed on the system. this is the preferred option.
|
|
|
|
<B>saned</B> can be used with <B><A HREF="systemd.1.html">systemd(1)</A></B> without the <B><A HREF="systemd.1.html">systemd(1)</A></B> integration
|
|
compiled in, but then logging of debug information is not supported.
|
|
|
|
The <B><A HREF="systemd.1.html">systemd(1)</A></B> configuration is different for the 2 options, so both
|
|
are described below.
|
|
|
|
|
|
</PRE>
|
|
<H2>Systemd configuration for saned with systemd support compiled in</H2><PRE>
|
|
For <B><A HREF="systemd.1.html">systemd(1)</A></B> configuration we need to add 2 configuration files in
|
|
<I>/etc/systemd/system.</I>
|
|
|
|
The first file we need to add here is called <I>saned.socket.</I> It shall
|
|
have the following contents:
|
|
|
|
[Unit]
|
|
Description=saned incoming socket
|
|
|
|
[Socket]
|
|
ListenStream=6566
|
|
Accept=yes
|
|
MaxConnections=1
|
|
|
|
[Install]
|
|
WantedBy=sockets.target
|
|
|
|
The second file to be added is <I>saned@.service</I> with the following con-
|
|
tents:
|
|
|
|
[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=/usr/local/etc/sane.d
|
|
# If you need to debug your configuration uncomment the next line and
|
|
# change it as appropriate to set the desired debug options
|
|
# Environment=SANE_DEBUG_DLL=255 SANE_DEBUG_BJNP=5
|
|
|
|
[Install]
|
|
Also=saned.socket
|
|
|
|
You need to set an environment variable for <B>SANE_CONFIG_DIR</B> pointing to
|
|
the directory where <B>saned</B> can find its configuration files. you will
|
|
have to remove the # on the last line and set the variables for the de-
|
|
sired debugging information if required. Multiple variables can be set
|
|
by separating the assignments by spaces as shown in the example above.
|
|
|
|
Unlike <B><A HREF="xinetd.8.html">xinetd(8)</A></B> and <B><A HREF="inetd.8.html">inetd(8)</A></B>, <B><A HREF="systemd.1.html">systemd(1)</A></B> allows debugging output from
|
|
backends set using <B>SANE_DEBUG_XXX</B> to be captured. See the man-page for
|
|
your backend to see what options are supported. With the service unit
|
|
as described above, the debugging output is forwarded to the system
|
|
log.
|
|
|
|
|
|
</PRE>
|
|
<H2>Systemd configuration when saned is compiled without systemd support</H2><PRE>
|
|
This configuration will also work when <B>saned</B> is compiled WITH <B>sys-</B>
|
|
<B><A HREF="temd.1.html">temd(1)</A></B><B>integration</B>support,<B>but</B>it<B>does</B>not<B>allow</B>debugging information to be
|
|
logged.
|
|
|
|
For <B><A HREF="systemd.1.html">systemd(1)</A></B> configuration for <B>saned</B>, we need to add 2 configuration
|
|
files in <I>/etc/systemd/system.</I>
|
|
|
|
The first file we need to add here is called <I>saned.socket.</I> It is iden-
|
|
tical to the version for <B><A HREF="systemd.1.html">systemd(1)</A></B> with the support compiled in. It
|
|
shall have the following contents:
|
|
|
|
[Unit]
|
|
Description=saned incoming socket
|
|
|
|
[Socket]
|
|
ListenStream=6566
|
|
Accept=yes
|
|
MaxConnections=1
|
|
|
|
[Install]
|
|
WantedBy=sockets.target
|
|
|
|
The second file to be added is <I>saned@.service</I> This one differs from the
|
|
version with <B><A HREF="systemd.1.html">systemd(1)</A></B> integration compiled in:
|
|
|
|
[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
|
|
|
|
|
|
</PRE>
|
|
<H2>FILES</H2><PRE>
|
|
<I>/etc/hosts.equiv</I>
|
|
The hosts listed in this file are permitted to access all local
|
|
SANE devices. Caveat: this file imposes serious security risks
|
|
and its use is not recommended.
|
|
|
|
<I>/usr/local/etc/sane.d/saned.conf</I>
|
|
Contains a list of hosts permitted to access local SANE devices
|
|
(see also description of <B>SANE_CONFIG_DIR</B> below).
|
|
|
|
<I>/usr/local/etc/sane.d/saned.users</I>
|
|
If this file contains lines of the form
|
|
|
|
user:password:backend
|
|
|
|
access to the listed backends is restricted. A backend may be
|
|
listed multiple times for different user/password combinations.
|
|
The server uses MD5 hashing if supported by the client.
|
|
|
|
|
|
</PRE>
|
|
<H2>ENVIRONMENT</H2><PRE>
|
|
<B>SANE_CONFIG_DIR</B>
|
|
This environment variable specifies the list of directories that
|
|
may contain the configuration file. Under UNIX, the directories
|
|
are separated by a colon (`:'), under OS/2, they are separated
|
|
by a semi-colon (`;'). If this variable is not set, the config-
|
|
uration file is searched in two default directories: first, the
|
|
current working directory (".") and then in <I>/usr/lo-</I>
|
|
<I>cal/etc/sane.d</I>. If the value of the environment variable ends
|
|
with the directory separator character, then the default direc-
|
|
tories are searched after the explicitly specified directories.
|
|
For example, setting <B>SANE_CONFIG_DIR</B> to "/tmp/config:" would re-
|
|
sult in directories <I>tmp/config</I>, <I>.</I>, and <I>/usr/local/etc/sane.d</I> be-
|
|
ing searched (in this order).
|
|
|
|
|
|
</PRE>
|
|
<H2>SEE ALSO</H2><PRE>
|
|
<B><A HREF="sane.7.html">sane(7)</A></B>, <B><A HREF="scanimage.1.html">scanimage(1)</A></B>, <B><A HREF="xscanimage.1.html">xscanimage(1)</A></B>, <B><A HREF="xcam.1.html">xcam(1)</A></B>, <B><A HREF="sane-dll.5.html">sane-dll(5)</A></B>,
|
|
<B><A HREF="sane-net.5.html">sane-net(5)</A></B>, <B>sane-"backendname"</B>(5), <B><A HREF="inetd.8.html">inetd(8)</A></B>, <B><A HREF="xinetd.8.html">xinetd(8)</A></B>, <B><A HREF="systemd.1.html">systemd(1)</A></B>,
|
|
<I>http://www.penguin-breeder.org/?page=sane-net</I>
|
|
|
|
|
|
</PRE>
|
|
<H2>AUTHOR</H2><PRE>
|
|
David Mosberger
|
|
|
|
29 Sep 2017 <B><A HREF="saned.8.html">saned(8)</A></B>
|
|
</PRE>
|
|
<HR>
|
|
<ADDRESS>
|
|
Man(1) output converted with
|
|
<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
|
|
</ADDRESS>
|
|
</BODY>
|
|
</HTML>
|