~ubuntu-branches/ubuntu/maverick/clamav/maverick-backports

« back to all changes in this revision

Viewing changes to docs/html/node28.html

  • Committer: Bazaar Package Importer
  • Author(s): Stephen Gran, Stephen Gran, Michael Tautschnig
  • Date: 2010-04-26 21:41:18 UTC
  • mfrom: (2.1.6 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100426214118-i6lo606wnh7ywfj6
Tags: 0.96+dfsg-4
[ Stephen Gran ]
* Fixed typo in clamav-milter's postinst

[ Michael Tautschnig ]
* Fixed typo in clamav-freshclam's postinst (closes: #579271)
* Debconf translation updates
  - Portuguese (closes: #579068)

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
8
8
<HTML>
9
9
<HEAD>
10
 
<TITLE>Clamuko</TITLE>
11
 
<META NAME="description" CONTENT="Clamuko">
 
10
<TITLE>Clam daemon</TITLE>
 
11
<META NAME="description" CONTENT="Clam daemon">
12
12
<META NAME="keywords" CONTENT="clamdoc">
13
13
<META NAME="resource-type" CONTENT="document">
14
14
<META NAME="distribution" CONTENT="global">
20
20
 
21
21
<LINK REL="next" HREF="node29.html">
22
22
<LINK REL="previous" HREF="node27.html">
23
 
<LINK REL="up" HREF="node25.html">
 
23
<LINK REL="up" HREF="node27.html">
24
24
<LINK REL="next" HREF="node29.html">
25
25
</HEAD>
26
26
 
27
27
<BODY >
28
28
 
29
29
<DIV CLASS="navigation"><!--Navigation Panel-->
30
 
<A NAME="tex2html561"
 
30
<A NAME="tex2html565"
31
31
  HREF="node29.html">
32
32
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
33
 
<A NAME="tex2html557"
34
 
  HREF="node25.html">
 
33
<A NAME="tex2html561"
 
34
  HREF="node27.html">
35
35
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
36
 
<A NAME="tex2html551"
 
36
<A NAME="tex2html555"
37
37
  HREF="node27.html">
38
38
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
39
 
<A NAME="tex2html559"
 
39
<A NAME="tex2html563"
40
40
  HREF="node1.html">
41
41
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>  
42
42
<BR>
43
 
<B> Next:</B> <A NAME="tex2html562"
44
 
  HREF="node29.html">Output format</A>
45
 
<B> Up:</B> <A NAME="tex2html558"
46
 
  HREF="node25.html">Usage</A>
47
 
<B> Previous:</B> <A NAME="tex2html552"
48
 
  HREF="node27.html">Clamdscan</A>
49
 
 &nbsp; <B>  <A NAME="tex2html560"
 
43
<B> Next:</B> <A NAME="tex2html566"
 
44
  HREF="node29.html">Clamdscan</A>
 
45
<B> Up:</B> <A NAME="tex2html562"
 
46
  HREF="node27.html">Usage</A>
 
47
<B> Previous:</B> <A NAME="tex2html556"
 
48
  HREF="node27.html">Usage</A>
 
49
 &nbsp; <B>  <A NAME="tex2html564"
50
50
  HREF="node1.html">Contents</A></B> 
51
51
<BR>
52
52
<BR></DIV>
53
53
<!--End of Navigation Panel-->
54
54
 
55
 
<H2><A NAME="SECTION00063000000000000000"></A><A NAME="clamuko"></A>
 
55
<H2><A NAME="SECTION00061000000000000000"></A><A NAME="clamd"></A>
56
56
<BR>
57
 
Clamuko
 
57
Clam daemon
58
58
</H2>
59
 
    Clamuko is a special thread in <code>clamd</code> that performs on-access
60
 
    scanning under Linux and FreeBSD and shares internal virus database
61
 
    with the daemon. <SPAN  CLASS="textbf">You must follow some important rules when
62
 
    using it:</SPAN>
63
 
    
64
 
<UL>
65
 
<LI>Always stop the daemon cleanly - using the SHUTDOWN command or
66
 
              the
67
 
<BR>
68
 
SIGTERM signal. In other case you can lose access
69
 
              to protected files until the system is restarted.
70
 
</LI>
71
 
<LI>Never protect the directory your mail-scanner software
72
 
              uses for attachment unpacking. Access to all infected
73
 
              files will be automatically blocked and the scanner (including
74
 
              <code>clamd</code>!) will not be able to detect any viruses. In the
75
 
              result <SPAN  CLASS="textbf">all infected mails may be delivered.</SPAN>
76
 
    
77
 
</LI>
78
 
</UL>
79
 
    For example, to protect the whole system add the following lines to
80
 
    <code>clamd.conf</code>:
81
 
    <PRE>
82
 
        ClamukoScanOnAccess
83
 
        ClamukoIncludePath /
84
 
        ClamukoExcludePath /proc
85
 
        ClamukoExcludePath /temporary/dir/of/your/mail/scanning/software
86
 
</PRE>
87
 
    You can also use clamuko to protect files on Samba/Netatalk but a far
88
 
    more better and safe idea is to use the <SPAN  CLASS="textbf">samba-vscan</SPAN> module.
89
 
    NFS is not supported because Dazuko doesn't intercept NFS access calls.
 
59
    <code>clamd</code> is a multi-threaded daemon that uses <SPAN  CLASS="textit">libclamav</SPAN>
 
60
    to scan files for viruses. It may work in one or both modes listening on:
 
61
    
 
62
<UL>
 
63
<LI>Unix (local) socket
 
64
</LI>
 
65
<LI>TCP socket
 
66
    
 
67
</LI>
 
68
</UL>
 
69
    The daemon is fully configurable via the <code>clamd.conf</code> file
 
70
    <A NAME="tex2html22"
 
71
  HREF="footnode.html#foot239"><SUP><SPAN CLASS="arabic">9</SPAN></SUP></A>. <code>clamd</code> recognizes the following commands:
 
72
    
 
73
<UL>
 
74
<LI><SPAN  CLASS="textbf">PING</SPAN>
 
75
<BR>
 
76
Check the daemon's state (should reply with "PONG").
 
77
</LI>
 
78
<LI><SPAN  CLASS="textbf">VERSION</SPAN>
 
79
<BR>
 
80
Print program and database versions.
 
81
</LI>
 
82
<LI><SPAN  CLASS="textbf">RELOAD</SPAN>
 
83
<BR>
 
84
Reload the databases.
 
85
</LI>
 
86
<LI><SPAN  CLASS="textbf">SHUTDOWN</SPAN>
 
87
<BR>
 
88
Perform a clean exit.
 
89
</LI>
 
90
<LI><SPAN  CLASS="textbf">SCAN file/directory</SPAN>
 
91
<BR>
 
92
Scan file or directory (recursively) with archive support
 
93
            enabled (a full path is required).
 
94
</LI>
 
95
<LI><SPAN  CLASS="textbf">RAWSCAN file/directory</SPAN>
 
96
<BR>
 
97
Scan file or directory (recursively) with archive and special file
 
98
            support disabled (a full path is required).
 
99
</LI>
 
100
<LI><SPAN  CLASS="textbf">CONTSCAN file/directory</SPAN>
 
101
<BR>
 
102
Scan file or directory (recursively) with archive support
 
103
            enabled and don't stop the scanning when a virus is found.
 
104
</LI>
 
105
<LI><SPAN  CLASS="textbf">MULTISCAN file/directory</SPAN>
 
106
<BR>
 
107
Scan file in a standard way or scan directory (recursively) using
 
108
            multiple threads (to make the scanning faster on SMP machines).
 
109
</LI>
 
110
<LI><SPAN  CLASS="textbf">INSTREAM</SPAN>
 
111
<BR>        <SPAN  CLASS="textit">It is mandatory to prefix this command with <SPAN  CLASS="textbf">n</SPAN> or
 
112
            <SPAN  CLASS="textbf">z</SPAN>.</SPAN>
 
113
<BR>
 
114
Scan a stream of data. The stream is sent to clamd in chunks,
 
115
            after INSTREAM, on the same socket on which the command
 
116
            was sent. This avoids the overhead of establishing new TCP
 
117
            connections and problems with NAT. The format of the chunk is:
 
118
            <code>&lt;length&gt;&lt;data&gt;</code> where <code>&lt;length&gt;</code> is the size of the
 
119
            following data in bytes expressed as a 4 byte unsigned integer in
 
120
            network byte order and <code>&lt;data&gt;</code> is the actual chunk. Streaming
 
121
            is terminated by sending a zero-length chunk. Note: do not exceed
 
122
            StreamMaxLength as defined in clamd.conf, otherwise clamd will
 
123
            reply with <SPAN  CLASS="textit">INSTREAM size limit exceeded</SPAN> and close the
 
124
            connection.
 
125
</LI>
 
126
<LI><SPAN  CLASS="textbf">FILDES</SPAN>
 
127
<BR>        <SPAN  CLASS="textit">It is mandatory to newline terminate this command, or prefix
 
128
            with <SPAN  CLASS="textbf">n</SPAN> or <SPAN  CLASS="textbf">z</SPAN>. This command only works on UNIX
 
129
            domain sockets.</SPAN>
 
130
<BR>
 
131
Scan a file descriptor. After issuing a FILDES command a subsequent
 
132
            rfc2292/bsd4.4 style packet (with at least one dummy character) is
 
133
            sent to clamd carrying the file descriptor to be scanned inside the
 
134
            ancillary data. Alternatively the file descriptor may be sent in
 
135
            the same packet, including the extra character.
 
136
</LI>
 
137
<LI><SPAN  CLASS="textbf">STATS</SPAN>
 
138
<BR>        <SPAN  CLASS="textit">It is mandatory to newline terminate this command, or prefix
 
139
            with <SPAN  CLASS="textbf">n</SPAN> or <SPAN  CLASS="textbf">z</SPAN>, it is recommended to only use the
 
140
            <SPAN  CLASS="textbf">z</SPAN> prefix.</SPAN>
 
141
<BR>
 
142
On this command clamd provides statistics about the scan queue,
 
143
            contents of scan queue, and memory usage. The exact reply format is
 
144
            subject to changes in future releases.
 
145
</LI>
 
146
<LI><SPAN  CLASS="textbf">IDSESSION, END</SPAN>
 
147
<BR>        <SPAN  CLASS="textit">It is mandatory to prefix this command with <SPAN  CLASS="textbf">n</SPAN> or
 
148
            <SPAN  CLASS="textbf">z</SPAN>, also all commands inside <SPAN  CLASS="textbf">IDSESSION</SPAN> must be
 
149
            prefixed.</SPAN>
 
150
<BR>
 
151
Start/end a clamd session. Within a session multiple
 
152
            SCAN, INSTREAM, FILDES, VERSION, STATS commands can be sent on the
 
153
            same socket without opening new connections. Replies from clamd
 
154
            will be in the form <code>&lt;id&gt;: &lt;response&gt;</code> where <code>&lt;id&gt;</code> is
 
155
            the request number (in ASCII, starting from 1) and <code>&lt;response&gt;</code>
 
156
            is the usual clamd reply. The reply lines have the same delimiter
 
157
            as the corresponding command had. Clamd will process the commands
 
158
            asynchronously, and reply as soon as it has finished processing.
 
159
            Clamd requires clients to read all the replies it sent, before
 
160
            sending more commands to prevent send() deadlocks. The recommended
 
161
            way to implement a client that uses IDSESSION is with non-blocking
 
162
            sockets, and a select()/poll() loop: whenever send would block,
 
163
            sleep in select/poll until either you can write more data, or read
 
164
            more replies. <SPAN  CLASS="textit">Note that using non-blocking sockets without
 
165
            the select/poll loop and alternating recv()/send() doesn't comply
 
166
            with clamd's requirements.</SPAN> If clamd detects that a client has
 
167
            deadlocked, it will close the connection. Note that clamd may
 
168
            close an IDSESSION connection too if the client doesn't follow the
 
169
            protocol's requirements.
 
170
</LI>
 
171
<LI><SPAN  CLASS="textbf">STREAM</SPAN> (deprecated, use <SPAN  CLASS="textbf">INSTREAM</SPAN> instead)
 
172
<BR>
 
173
Scan stream: clamd will return a new port number you should
 
174
            connect to and send data to scan.
 
175
    
 
176
</LI>
 
177
</UL>
 
178
    It's recommended to prefix clamd commands with the letter <SPAN  CLASS="textbf">z</SPAN>
 
179
    (eg. zSCAN) to indicate that the command will be delimited by a NULL
 
180
    character and that clamd should continue reading command data until a NULL
 
181
    character is read. The null delimiter assures that the complete command
 
182
    and its entire argument will be processed as a single command. Alternatively
 
183
    commands may be prefixed with the letter <SPAN  CLASS="textbf">n</SPAN> (e.g. nSCAN) to use
 
184
    a newline character as the delimiter. Clamd replies will honour the
 
185
    requested terminator in turn. If clamd doesn't recognize the command, or
 
186
    the command doesn't follow the requirements specified below, it will reply
 
187
    with an error message, and close the connection.
 
188
    
 
189
    Clamd can handle the following signals:
 
190
    
 
191
<UL>
 
192
<LI><SPAN  CLASS="textbf">SIGTERM</SPAN> - perform a clean exit
 
193
</LI>
 
194
<LI><SPAN  CLASS="textbf">SIGHUP</SPAN> - reopen the log file
 
195
</LI>
 
196
<LI><SPAN  CLASS="textbf">SIGUSR2</SPAN> - reload the database
 
197
    
 
198
</LI>
 
199
</UL>
 
200
    Clamd should not be started in the background using the shell operator
 
201
    <code>&amp;</code> or external tools. Instead, you should run and wait for clamd
 
202
    to load the database and daemonize itself. After that, clamd is instantly
 
203
    ready to accept connections and perform file scanning.
90
204
 
91
205
<P>
92
 
<BR><HR>
 
206
 
 
207
<DIV CLASS="navigation"><HR>
 
208
<!--Navigation Panel-->
 
209
<A NAME="tex2html565"
 
210
  HREF="node29.html">
 
211
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
 
212
<A NAME="tex2html561"
 
213
  HREF="node27.html">
 
214
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
 
215
<A NAME="tex2html555"
 
216
  HREF="node27.html">
 
217
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
 
218
<A NAME="tex2html563"
 
219
  HREF="node1.html">
 
220
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>  
 
221
<BR>
 
222
<B> Next:</B> <A NAME="tex2html566"
 
223
  HREF="node29.html">Clamdscan</A>
 
224
<B> Up:</B> <A NAME="tex2html562"
 
225
  HREF="node27.html">Usage</A>
 
226
<B> Previous:</B> <A NAME="tex2html556"
 
227
  HREF="node27.html">Usage</A>
 
228
 &nbsp; <B>  <A NAME="tex2html564"
 
229
  HREF="node1.html">Contents</A></B> </DIV>
 
230
<!--End of Navigation Panel-->
93
231
<ADDRESS>
94
232
Tomasz Kojm
95
 
2009-10-28
 
233
2010-03-10
96
234
</ADDRESS>
97
235
</BODY>
98
236
</HTML>