source: vendor/current/docs-xml/using_samba/appd.xml

Last change on this file was 988, checked in by Silvan Scherrer, 9 years ago

Samba Server: update vendor to version 4.4.3

File size: 66.3 KB
Line 
1<appendix label="D" id="SAMBA-AP-D">
2<title>Summary of Samba Daemons and Commands</title>
3
4
5
6
7<para>This appendix is a reference listing of command-line options and other information to help you use the executables that come with Samba distribution.</para>
8
9
10
11
12
13
14
15
16
17
18
19<sect1 role="" label="D.1" id="appd-SECT-1">
20<title>Samba Distribution Programs</title>
21
22
23<para>The following sections provide information about the command-line parameters for Samba programs.</para>
24
25
26<sect2 role="" label="D.1.1" id="appd-SECT-1.1">
27<title>smbd</title>
28
29
30<para>
31<indexterm id="appd-idx-993627-0" class="startofrange"><primary>smbd daemon</primary></indexterm>
32<indexterm id="appd-idx-993627-1" class="startofrange"><primary>daemons</primary></indexterm>The <emphasis>smbd</emphasis> program provides Samba's file and printer services, using one TCP/IP stream and one daemon per client. It is controlled from the default configuration file, <replaceable>samba_dir</replaceable><emphasis>/lib/smb.conf</emphasis>, and can be overridden by command-line options.</para>
33
34
35<para>The configuration file is automatically re-evaluated every minute. If it has changed, most new options are immediately effective. You can force Samba to immediately reload the configuration file if you send a SIGHUP to <emphasis>smbd</emphasis>. Reloading the configuration file, however, will not affect any clients that are already connected. To escape this "grandfather" configuration, a client would need to disconnect and reconnect, or the server itself would have to be restarted, forcing all clients to reconnect.</para>
36
37
38<sect3 role="" label="D.1.1.1" id="appd-SECT-1.1.1">
39<title>Other signals</title>
40
41
42<para>To shut down a <emphasis>smbd</emphasis> process, send it the termination signal SIGTERM (-15) which allows it to die gracefully instead of a SIGKILL (-9). To increment the debug logging level of <emphasis>smbd</emphasis> at runtime, send the program a SIGUSR1 signal. To decrement it at runtime, send the program a SIGUSR2 signal.</para>
43</sect3>
44
45
46
47<sect3 role="" label="D.1.1.2" id="appd-SECT-1.1.2">
48<title>Command-line options</title>
49
50
51<variablelist>
52<varlistentry><term><literal>-D</literal></term>
53<listitem><para>The <emphasis>smbd</emphasis> program is run as a daemon. This is the recommended way to use <emphasis>smbd</emphasis> (it is also the default action). In addition, <emphasis>smbd</emphasis> can also be run from <emphasis>inetd</emphasis>.</para></listitem>
54</varlistentry>
55
56
57<varlistentry><term><literal>-d</literal> <replaceable>debuglevel</replaceable></term>
58<listitem><para>Sets the debug (sometimes called logging) level. The level can range from 0 all the way to 10. Specifying the value on the command line overrides the value specified in the <filename>smb.conf</filename> file. Debug level 0 logs only the most important messages; level 1 is normal; levels 3 and above are primarily for debugging and slow <emphasis>smbd</emphasis> considerably.</para></listitem>
59</varlistentry>
60
61
62<varlistentry><term><literal>-h</literal> </term>
63<listitem><para>Prints command-line usage information for the <filename>smbd</filename> program.</para></listitem>
64</varlistentry>
65</variablelist>
66</sect3>
67
68
69
70<sect3 role="" label="D.1.1.3" id="appd-SECT-1.1.3">
71<title>Testing/debugging options</title>
72
73
74<variablelist>
75<varlistentry><term><literal>-a</literal></term>
76<listitem><para>If this is specified, each new connection to the Samba server will append all logging messages to the log file. This option is the opposite of <literal>-o</literal>, and is the default.</para></listitem>
77</varlistentry>
78
79
80<varlistentry><term><literal>-i</literal> <replaceable>scope</replaceable></term>
81<listitem><para>This sets a NetBIOS scope identifier. Only machines with the same identifier will communicate with the server. The scope identifier was a predecessor to workgroups, and this option is included only for backwards compatibility.</para></listitem>
82</varlistentry>
83
84
85<varlistentry><term><literal>-l</literal> <replaceable>log_file</replaceable></term>
86<listitem><para>Send the log messages to somewhere other than the location compiled in or specified in the <filename>smb.conf</filename> file. The default is often <filename>/usr/local/samba/var/log.smb</filename>, <filename>/usr/samba/var/log.smb,</filename> or <filename>/var/log/log.smb</filename>. The first two are strongly discouraged on Linux, where <filename>/usr</filename> may be a read-only filesystem.</para></listitem>
87</varlistentry>
88
89
90<varlistentry><term><literal>-O</literal> <replaceable>socket_options</replaceable></term>
91<listitem><para>This sets the TCP/IP socket options, using the same parameters as the <literal>socket</literal> <literal>options</literal> configuration option. It is often used for performance tuning and testing.</para></listitem>
92</varlistentry>
93
94
95<varlistentry><term><literal>-o</literal></term>
96<listitem><para>This option is the opposite of <literal>-a</literal>. It causes log files to be overwritten when opened. Using this option saves hunting for the right log entries if you are performing a series of tests and inspecting the log file each time.</para></listitem>
97</varlistentry>
98
99
100<varlistentry><term><literal>-P</literal></term>
101<listitem><para>This option forces <filename>smbd</filename> not to send any network data out. This option is typically used only by Samba developers.<indexterm id="appd-idx-994096-0" class="endofrange" startref="appd-idx-993627-0"/></para></listitem>
102</varlistentry>
103
104
105<varlistentry><term><literal>-P</literal></term>
106<listitem><para>This option forces <filename>smbd</filename> not to send any network data out. This option is typically used only by Samba developers. <indexterm id="appd-idx-994102-0" class="endofrange" startref="appd-idx-993627-0"/></para></listitem>
107</varlistentry>
108
109
110<varlistentry><term><literal>-p</literal> <replaceable>port_number</replaceable></term>
111<listitem><para>This sets the TCP/IP port number that the server will accept requests from. Currently, all Microsoft clients send only to the default port: 139.</para></listitem>
112</varlistentry>
113
114
115<varlistentry><term><literal>-s</literal> <replaceable>configuration_file</replaceable></term>
116<listitem><para>Specifies the location of the Samba configuration file. Although the file defaults to <filename>/usr/local/samba/lib/smb.conf</filename>, you can override it here on the command line, typically for debugging.</para></listitem>
117</varlistentry>
118</variablelist>
119</sect3>
120</sect2>
121
122
123
124
125
126<sect2 role="" label="D.1.2" id="appd-SECT-1.2">
127<title>nmbd</title>
128
129
130<para>
131<indexterm id="appd-idx-993645-0" class="startofrange"><primary>nmbd daemon</primary></indexterm>The <emphasis>nmbd</emphasis> program is Samba's NetBIOS name and browsing daemon. It replies to broadcast NetBIOS over TCP/IP (NBT) name-service requests from SMB clients and optionally to Microsoft's Windows Internet Name Service (WINS) requests. Both of these are versions of the name-to-address lookup required by SMB clients. The broadcast version uses UDP/IP broadcast on the local subnet only, while WINS uses TCP/IP, which may be routed. If running as a WINS server, <emphasis>nmbd</emphasis> keeps a current name and address database in the file <filename>wins.dat</filename> in the <literal>samba_dir</literal><filename>/var/locks</filename> directory.</para>
132
133
134<para>An active <emphasis>nmbd</emphasis> program can also respond to browsing protocol requests used by the Windows Network Neighborhood. Browsing is a combined advertising, service announcement, and active directory protocol. This protocol provides a dynamic directory of servers and the disks and printers that the servers are providing. As with WINS, this was initially done by making UDP/IP broadcasts on the local subnet. Now, with the concept of a local master browser, it is done by making TCP/IP connections to a server. If <emphasis>nmbd</emphasis> is acting as a local master browser, it stores the browsing database in the file <filename>browse.dat</filename> in the <literal>samba_dir</literal><filename>/var/locks</filename> directory.</para>
135
136
137<sect3 role="" label="D.1.2.1" id="appd-SECT-1.2.1">
138<title>Signals</title>
139
140
141<para>Like <emphasis>smbd</emphasis>, the <emphasis>nmbd</emphasis> program responds to several Unix signals. Sending <emphasis>nmbd</emphasis> a SIGHUP signal will cause it to dump the names it knows about to the file <filename>namelist.debug</filename> in the <literal>samba_dir</literal>/<emphasis>locks</emphasis> directory and its browsing database to the <filename>browse.dat </filename>file in the same directory. To shut down a <emphasis>nmbd</emphasis> process send it a SIGTERM (-15) signal instead of a SIGKILL (-9) to allow it to die gracefully. You can increment the debug logging level of <emphasis>nmbd</emphasis> by sending it a SIGUSR1 signal; you can decrement it by sending a SIGUSR2 signal.</para>
142</sect3>
143
144
145
146<sect3 role="" label="D.1.2.2" id="appd-SECT-1.2.2">
147<title>Command-line options</title>
148
149
150<variablelist>
151<varlistentry><term><literal>-D</literal></term>
152<listitem><para>Instructs the <filename>nmbd</filename> program to run as a daemon. This is the recommended way to use <filename>nmbd</filename>. In addition, <filename>nmbd</filename> can also be run from <firstterm>inetd</firstterm>.</para></listitem>
153</varlistentry>
154
155
156<varlistentry><term><literal>-d</literal> <replaceable>debuglevel</replaceable></term>
157<listitem><para>Sets the debug (sometimes called logging) level. The level can range from 0, all the way to 10. Specifying the value on the command line overrides the value specified in the <filename>smb.conf</filename> file. Debug level 0 logs only the most important messages; level 1 is normal; level 3 and above are primarily for debugging, and slow <emphasis>nmbd</emphasis> considerably.</para></listitem>
158</varlistentry>
159
160
161<varlistentry><term><literal>-h</literal> </term>
162<listitem><para>Prints command-line usage information for the <filename>nmbd</filename> program (also <literal>-?</literal>).</para></listitem>
163</varlistentry>
164</variablelist>
165</sect3>
166
167
168
169<sect3 role="" label="D.1.2.3" id="appd-SECT-1.2.3">
170<title>Testing/debugging options</title>
171
172
173<variablelist>
174<varlistentry><term><literal>-a</literal></term>
175<listitem><para>If this is specified, each new connection to the Samba server will append all logging messages to the log file. This option is the opposite of <literal>-o</literal>, and is the default.</para></listitem>
176</varlistentry>
177
178
179<varlistentry><term><literal>-H</literal> <replaceable>hosts_ file</replaceable></term>
180<listitem><para>This option loads a standard <emphasis>hosts</emphasis> file for name resolution.</para></listitem>
181</varlistentry>
182
183
184<varlistentry><term><literal>-i</literal> <replaceable>scope</replaceable></term>
185<listitem><para>This sets a NetBIOS scope identifier. Only machines with the same identifier will communicate with the server. The scope identifier was a predecessor to workgroups, and this option is included only for backward<indexterm id="appd-idx-994134-0" class="endofrange" startref="appd-idx-993627-1"/> compatibility.<indexterm id="appd-idx-994135-0" class="endofrange" startref="appd-idx-993645-0"/></para></listitem>
186</varlistentry>
187
188
189<varlistentry><term><literal>-l</literal> <replaceable>log_file</replaceable></term>
190<listitem><para>Sends the log messages to somewhere other than the location compiled-in or specified in the <filename>smb.conf</filename> file. The default is often <filename>/usr/local/samba/var/log.nmb</filename>, <filename>/usr/samba/var/log.nmb,</filename> or <filename>/var/log/log.nmb</filename>. The first two are strongly discouraged on Linux, where <filename>/usr</filename> may be a read-only filesystem.</para></listitem>
191</varlistentry>
192
193
194<varlistentry><term><literal>-n</literal> <replaceable>NetBIOS_name</replaceable></term>
195<listitem><para>This option allows you to override the NetBIOS name by which the daemon will advertise itself. Specifying the option on the command line overrides the <literal>netbios</literal> <literal>name</literal> option in the Samba configuration file.</para></listitem>
196</varlistentry>
197
198
199<varlistentry><term><literal>-O</literal> <replaceable>socket_options</replaceable></term>
200<listitem><para>This sets the TCP/IP socket options, using the same parameters as the <literal>socket</literal> <literal>options</literal> configuration option. It is often used for performance tuning and testing.</para></listitem>
201</varlistentry>
202
203
204<varlistentry><term><literal>-o</literal></term>
205<listitem><para>This option is the opposite of <literal>-a</literal>. It causes log files to be overwritten when opened. Using this option saves hunting for the right log entries if you are performing a series of tests and inspecting the log file each time.</para></listitem>
206</varlistentry>
207
208
209<varlistentry><term><literal>-p</literal> <replaceable>port_number</replaceable></term>
210<listitem><para>This sets the UDP/IP port number from which the server will accept requests. Currently, all Microsoft clients send only to the default port: 137.</para></listitem>
211</varlistentry>
212
213
214<varlistentry><term><literal>-s</literal> <replaceable>configuration_file</replaceable></term>
215<listitem><para>Specifies the location of the Samba configuration file. Although the file defaults to <filename>/usr/local/samba/lib/smb.conf</filename>, you can override it here on the command line, typically for debugging.</para></listitem>
216</varlistentry>
217
218
219<varlistentry><term><literal>-v</literal></term>
220<listitem><para>This option prints the current version of Samba.</para></listitem>
221</varlistentry>
222</variablelist>
223</sect3>
224</sect2>
225
226
227
228
229
230<sect2 role="" label="D.1.3" id="appd-SECT-1.3">
231<title>Samba Startup File </title>
232
233
234<para>
235<indexterm id="appd-idx-993647-0"><primary>Samba</primary><secondary>startup file</secondary></indexterm>
236<indexterm id="appd-idx-993647-1"><primary>scripts</primary><secondary sortas="Samba startup file">for Samba startup file</secondary></indexterm>
237<indexterm id="appd-idx-993647-2"><primary>directories</primary><secondary sortas="Samba startup file">for Samba startup file</secondary></indexterm>Samba is normally started by running it from your Unix system's <filename>rc</filename> files at boot time. For systems with a System V-like set of <filename>/etc/rcN.d</filename> directories, this can be done by placing a suitably named script in the <filename>/rc</filename> directory. Usually, the script starting Samba is called <emphasis>S91samba</emphasis>, while the script stopping or "killing" Samba is called <emphasis>K91samba.</emphasis> On Linux, the usual subdirectory for the scripts is <filename>/etc/rc2.d.</filename> On Solaris, the directory is <filename>/etc/rc3.d</filename>. For machines with <filename>/etc/rc.local</filename> files, you would normally add the following lines to that file:</para>
238
239
240<programlisting>/usr/local/samba/bin/smbd -D
241/usr/local/samba/bin/nmbd -D</programlisting>
242
243
244<para>The following example script supports two extra commands, <literal>status</literal> and <literal>restart</literal>, in addition to the normal <literal>start</literal> and <literal>stop</literal> for System V machines:</para>
245
246
247<programlisting>#!/bin/sh
248#
249# /etc/rc2.d./S91Samba --manage the SMB server in a System V manner
250#
251OPTS="-D"
252#DEBUG=-d3
253PS="ps ax"
254SAMBA_DIR=/usr/local/samba
255case "$1" in
256'start')
257 echo "samba "
258 $SAMBA_DIR/bin/smbd $OPTS $DEBUG
259 $SAMBA_DIR/bin/nmbd $OPTS $DEBUG
260 ;;
261'stop')
262 echo "Stopping samba"
263 $PS | awk '/usr.local.samba.bin/ { print $1}' |\
264 xargs kill
265 ;;
266'status')
267 x=`$PS | grep -v grep | grep '$SAMBA_DIR/bin'`
268 if [ ! "$x" ]; then
269 echo "No samba processes running"
270 else
271 echo " PID TT STAT TIME COMMAND"
272 echo "$x"
273 fi
274 ;;
275'restart')
276 /etc/rc2.d/S91samba stop
277 /etc/rc2.d/S91samba start
278 /etc/rc2.d/S91samba status
279 ;;
280*)
281 echo "$0: Usage error -- you must say $0 start, stop, status or restart ."
282 ;;
283esac
284exit</programlisting>
285
286
287<para>You'll need to set the actual paths and <literal>ps</literal> options to suit the machine you're using. In addition, you might want to add additional commands to tell Samba to reload its <filename>smb.conf</filename> file or dump its <emphasis>nmbd</emphasis> tables, depending on your actual needs.</para>
288</sect2>
289
290
291
292
293
294<sect3 role="" label="D.1.4.1" id="appd-SECT-1.4.1">
295<title>Options</title>
296
297
298<variablelist>
299<varlistentry><term><literal>-d</literal> debuglevel</term>
300<listitem><para>Sets the debug (sometimes called logging) level. The level can range from 0, the default, all the way to 10. Debug level 0 logs only the most important messages; level 1 is normal; level 3 and above are primarily for debugging, and slow <emphasis>smbsh</emphasis> considerably.</para></listitem>
301</varlistentry>
302
303
304<varlistentry><term><literal>-l</literal> <replaceable>logfile</replaceable></term>
305<listitem><para>Sets the name of the logfile to use.</para></listitem>
306</varlistentry>
307
308
309<varlistentry><term><literal>-P</literal> <replaceable>prefix</replaceable></term>
310<listitem><para>Sets the root directory to mount the SMB filesystem. The default is <filename>/smb</filename>.</para></listitem>
311</varlistentry>
312
313
314<varlistentry><term><literal>-R</literal> <replaceable>resolve order</replaceable></term>
315<listitem><para>Sets the resolve order of the name servers. This option is similar to the <literal>resolve order</literal> configuration option, and can take any of the four parameters, <literal>lmhosts</literal>, <literal>host</literal>, <literal>wins</literal>, and <literal>bcast</literal>, in any order.</para></listitem>
316</varlistentry>
317
318
319<varlistentry><term><literal>-U</literal> <replaceable>user</replaceable></term>
320<listitem><para>Supports <replaceable>user%password.</replaceable></para></listitem>
321</varlistentry>
322
323
324<varlistentry><term><literal>-W</literal> <replaceable>workgroup</replaceable></term>
325<listitem><para>Sets the NetBIOS workgroup to which the client will connect.</para></listitem>
326</varlistentry>
327</variablelist>
328</sect3>
329</sect2>
330
331
332
333
334
335<sect2 role="" label="D.1.5" id="appd-SECT-1.5">
336<title>smbclient</title>
337
338
339<para>The <emphasis>smbclient</emphasis>
340<indexterm id="appd-idx-993745-0" class="startofrange"><primary>smbclient program</primary></indexterm>
341<indexterm id="appd-idx-993745-1" class="startofrange"><primary>testing</primary><secondary>smbclient program</secondary></indexterm> program is the maid-of-all-work of the Samba suite. Initially intended as a testing tool, it has become a full command-line Unix client, with an FTP-like interactive client. Some of its options are still used for testing and tuning, and it makes a simple tool for ensuring that Samba is running on a server.</para>
342
343
344<para>It's convenient to look at <emphasis>smbclient</emphasis> as a suite of programs:</para>
345
346
347<itemizedlist>
348<listitem><para>FTP-like interactive file transfer program</para></listitem>
349<listitem><para>Interactive printing program</para></listitem>
350<listitem><para>Interactive tar program</para></listitem>
351<listitem><para>Command-line message program</para></listitem>
352<listitem><para>Command-line <emphasis>tar</emphasis> program (but see <emphasis>smbtar</emphasis> later)</para></listitem>
353<listitem><para>"What services do you have" query program</para></listitem>
354<listitem><para>Command-line debugging program</para></listitem>
355</itemizedlist>
356
357<sect3 role="" label="D.1.5.1" id="appd-SECT-1.5.1">
358<title>General command-line options</title>
359
360
361<para>The program has the usual set of <emphasis>smbd</emphasis>-like options, which apply to all the interactive and command-line use. The syntax is:</para>
362
363
364<programlisting>smbclient //<replaceable>server_name</replaceable>/<replaceable>share_name</replaceable> [<replaceable>password</replaceable>] [-<replaceable>options</replaceable>]</programlisting>
365
366
367<para>Here is an explanation of each of the command-line options:</para>
368
369
370<variablelist>
371<varlistentry><term><literal>-d</literal> <replaceable>debug_level</replaceable></term>
372<listitem><para>Sets the debug (logging) level, from 0 to 10, with <literal>A</literal> for all. Overrides the value in <filename>smb.conf</filename>. Debug level 0 logs only the most important messages; level 1 is normal; debug level 3 and above are for debugging, and slow <emphasis>smbclient</emphasis> considerably.</para></listitem>
373</varlistentry>
374
375
376<varlistentry><term><literal>-h</literal></term>
377<listitem><para>Prints the command-line help information (usage) for smbclient.</para></listitem>
378</varlistentry>
379
380
381<varlistentry><term><literal>-n</literal> <replaceable>NetBIOS_name</replaceable></term>
382<listitem><para>Allows you to override the NetBIOS name by which the program will advertise itself.</para></listitem>
383</varlistentry>
384</variablelist>
385</sect3>
386
387
388
389<sect3 role="" label="D.1.5.2" id="appd-SECT-1.5.2">
390<title>Smbclient operations</title>
391
392
393<para>Running <literal>smbclient</literal> <literal>//</literal><replaceable>server_name</replaceable><literal>/</literal><replaceable>share</replaceable> will cause it to prompt you for a username and password. If the login is successful, it will connect to the share and give you a prompt much like an FTP prompt (the backslash in the prompt will be replaced by the current directory within the share as you move around the filesystem):</para>
394
395
396<programlisting>smb:\&gt;</programlisting>
397
398
399<para>
400<indexterm id="appd-idx-994034-0" class="startofrange"><primary>commands for Samba</primary></indexterm>From this command line, you can use several FTP-like commands, as listed in <link linkend="appd-89417">Table 4.1</link>. Arguments in square brackets are optional.</para>
401
402
403<table label="D.1" id="appd-89417">
404<title>smbclient Commands </title>
405
406<tgroup cols="2">
407<colspec colnum="1" colname="col1"/>
408<colspec colnum="2" colname="col2"/>
409<thead>
410<row>
411
412<entry colname="col1"><para>Command</para></entry>
413
414<entry colname="col2"><para>Description</para></entry>
415
416</row>
417
418</thead>
419
420<tbody>
421<row>
422
423<entry colname="col1"><para><literal>?</literal> <replaceable>command</replaceable></para></entry>
424
425<entry colname="col2"><para>Provides list of commands or help on specified command.</para></entry>
426
427</row>
428
429<row>
430
431<entry colname="col1"><para><literal>help</literal> [<replaceable>command</replaceable>]</para></entry>
432
433<entry colname="col2"><para>Provides list of commands or help on specified command.</para></entry>
434
435</row>
436
437<row>
438
439<entry colname="col1"><para><literal>!</literal> [<replaceable>command</replaceable>]</para></entry>
440
441<entry colname="col2"><para>If a command is specified, it will be run in a local shell. If not, you will be placed into a local shell on the client.</para></entry>
442
443</row>
444
445<row>
446
447<entry colname="col1"><para><literal>dir</literal> [<replaceable>filename</replaceable>]</para></entry>
448
449<entry colname="col2"><para>Displays any files matching <replaceable>filename</replaceable> in the current directory on the server, or all files if <replaceable>filename</replaceable> is omitted.</para></entry>
450
451</row>
452
453<row>
454
455<entry colname="col1"><para><literal>ls</literal> [<replaceable>filename</replaceable>]</para></entry>
456
457<entry colname="col2"><para>Displays any files matching <replaceable>filename</replaceable> in the current directory on the server, or all files if <replaceable>filename</replaceable> is omitted.</para></entry>
458
459</row>
460
461<row>
462
463<entry colname="col1"><para><literal>cd</literal> [<replaceable>directory</replaceable>]</para></entry>
464
465<entry colname="col2"><para>If <replaceable>directory</replaceable> is specified, changes to the specified directory on the remote server. If not, reports the current directory on the remote machine.</para></entry>
466
467</row>
468
469<row>
470
471<entry colname="col1"><para><literal>lcd</literal> [<replaceable>director</replaceable><literal>y</literal>]</para></entry>
472
473<entry colname="col2"><para>If <replaceable>directory</replaceable> is specified, the current directory on the local machine will be changed. If not, the name of the current directory on the local machine will be reported.</para></entry>
474
475</row>
476
477<row>
478
479<entry colname="col1"><para><literal>get</literal> <emphasis>remotefile</emphasis> [<replaceable>localfile</replaceable>]</para></entry>
480
481<entry colname="col2"><para>Copies the file <replaceable>remotefile</replaceable> to the local machine. If a <replaceable>localfile</replaceable> is specified, uses that name to copy the file to. Treats the file as binary; does <emphasis>not</emphasis> do LF to CR/LF conversions.</para></entry>
482
483</row>
484
485<row>
486
487<entry colname="col1"><para><literal>put</literal> <emphasis>localfile</emphasis> [<replaceable>remotefile</replaceable>]</para></entry>
488
489<entry colname="col2"><para>Copies <replaceable>localfile</replaceable> to the remote machine. If a <replaceable>remotefile</replaceable> is specified, uses that as the name to copy to on the remote server. Treats the file as binary; does <emphasis>not</emphasis> do LF to CR/LF conversions.</para></entry>
490
491</row>
492
493<row>
494
495<entry colname="col1"><para><literal>mget</literal> <replaceable>pattern</replaceable></para></entry>
496
497<entry colname="col2"><para>Gets all files matching <replaceable>pattern</replaceable> from the remote machine.</para></entry>
498
499</row>
500
501<row>
502
503<entry colname="col1"><para><literal>mput</literal><replaceable> pattern</replaceable></para></entry>
504
505<entry colname="col2"><para>Places all local files matching <replaceable>pattern</replaceable> on the remote machine.</para></entry>
506
507</row>
508
509<row>
510
511<entry colname="col1"><para><literal>prompt</literal></para></entry>
512
513<entry colname="col2"><para>Toggles interactive prompting on and off for <literal>mget</literal> and <literal>mput</literal>.</para></entry>
514
515</row>
516
517<row>
518
519<entry colname="col1"><para><literal>lowercase ON </literal>(or<literal> OFF </literal>)</para></entry>
520
521<entry colname="col2"><para>If lowercase is on, <emphasis>smbclient</emphasis> will convert filenames to lowercase during an <literal>mget</literal> or <literal>get</literal> (but not a <literal>mput</literal> or <literal>put</literal>).</para></entry>
522
523</row>
524
525<row>
526
527<entry colname="col1"><para><literal>del</literal> <replaceable>filename</replaceable></para></entry>
528
529<entry colname="col2"><para>Delete a file on the remote machine.</para></entry>
530
531</row>
532
533<row>
534
535<entry colname="col1"><para><literal>md</literal> <replaceable>directory</replaceable></para></entry>
536
537<entry colname="col2"><para>Create a directory on the remote machine.</para></entry>
538
539</row>
540
541<row>
542
543<entry colname="col1"><para><literal>mkdir</literal> <replaceable>directory</replaceable></para></entry>
544
545<entry colname="col2"><para>Create a directory on the remote machine.</para></entry>
546
547</row>
548
549<row>
550
551<entry colname="col1"><para><literal>rd</literal> <replaceable>directory</replaceable></para></entry>
552
553<entry colname="col2"><para>Remove the specified directory on the remote machine.</para></entry>
554
555</row>
556
557<row>
558
559<entry colname="col1"><para><literal>rmdir</literal> <replaceable>directory</replaceable></para></entry>
560
561<entry colname="col2"><para>Remove the specified directory on the remote machine.</para></entry>
562
563</row>
564
565<row>
566
567<entry colname="col1"><para><literal>setmode</literal> <replaceable>filename</replaceable> <literal>[+|-]rsha</literal></para></entry>
568
569<entry colname="col2"><para>Set DOS filesystem attribute bits, using Unix-like modes. <literal>r</literal> is read-only, <literal>s</literal> is system, <literal>h</literal> is hidden, and <literal>a</literal> is archive.</para></entry>
570
571</row>
572
573<row>
574
575<entry colname="col1"><para><literal>exit</literal></para></entry>
576
577<entry colname="col2"><para>Exits <emphasis>smbclient</emphasis>.</para></entry>
578
579</row>
580
581<row>
582
583<entry colname="col1"><para><literal>quit</literal></para></entry>
584
585<entry colname="col2"><para>Exits <emphasis>smbclient</emphasis>.</para></entry>
586
587</row>
588
589</tbody>
590</tgroup>
591</table>
592
593
594<para>There are also mask and recursive commands for large copies; see the <filename>smbclient</filename> manual page for details on how to use these. With the exception of mask, recursive, and the lack of an ASCII transfer mode, <emphasis>smbclient</emphasis> works exactly the same as FTP. Note that because it does binary transfers, Windows files copied to Unix will have lines ending in carriage-return and linefeed (<literal>\r\n</literal>), not Unix's linefeed (<literal>\n</literal>).</para>
595</sect3>
596
597
598
599<sect3 role="" label="D.1.5.3" id="appd-SECT-1.5.3">
600<title>Printing commands</title>
601
602
603<para>The <emphasis>smbclient</emphasis> program can also be used for access to a printer by connecting to a print share. Once connected, the commands shown in <link linkend="appd-39300">Table 4.2</link> can be used to print.</para>
604
605
606<table label="D.2" id="appd-39300">
607<title>smbclient Printing Commands </title>
608
609<tgroup cols="2">
610<colspec colnum="1" colname="col1"/>
611<colspec colnum="2" colname="col2"/>
612<thead>
613<row>
614
615<entry colname="col1"><para>Command</para></entry>
616
617<entry colname="col2"><para>Description</para></entry>
618
619</row>
620
621</thead>
622
623<tbody>
624<row>
625
626<entry colname="col1"><para><literal>print</literal><replaceable> filename</replaceable></para></entry>
627
628<entry colname="col2"><para>Prints the file by copying it from the local machine to the remote one and then submitting it as a print job there.</para></entry>
629
630</row>
631
632<row>
633
634<entry colname="col1"><para><literal>printmode</literal> <replaceable>text </replaceable>|<replaceable> graphics</replaceable></para></entry>
635
636<entry colname="col2"><para>Instructs the server that the following files will be plain text (ASCII) or the binary graphics format that the printer requires. It's up to the user to ensure that the file is indeed the right kind.</para></entry>
637
638</row>
639
640<row>
641
642<entry colname="col1"><para><literal>queue</literal></para></entry>
643
644<entry colname="col2"><para>Displays the queue for the print share you're connected to, showing job ID, name, size, and status.</para></entry>
645
646</row>
647
648</tbody>
649</tgroup>
650</table>
651
652
653<para>Finally, to print from the <emphasis>smbclient</emphasis>, use the <literal>-c</literal> option:</para>
654
655
656<programlisting>cat <replaceable>printfile</replaceable> | smbclient //<replaceable>server</replaceable>/<replaceable>printer_name</replaceable> -c "print -"</programlisting>
657</sect3>
658
659
660
661<sect3 role="" label="D.1.5.4" id="appd-SECT-1.5.4">
662<title>Tar commands</title>
663
664
665<para><emphasis>smbclient</emphasis> can tar up files from a file share. This is normally done from the command line using the <emphasis>smbtar</emphasis> command, but the commands shown in <link linkend="appd-54517">Table 4.3</link> are also available interactively.</para>
666
667
668<table label="D.3" id="appd-54517">
669<title>smbclient Printing Commands </title>
670
671<tgroup cols="2">
672<colspec colnum="1" colname="col1"/>
673<colspec colnum="2" colname="col2"/>
674<thead>
675<row>
676
677<entry colname="col1"><para>Command</para></entry>
678
679<entry colname="col2"><para>Description</para></entry>
680
681</row>
682
683</thead>
684
685<tbody>
686<row>
687
688<entry colname="col1"><para><literal>tar c|x[IXbgNa]</literal> <replaceable>operands</replaceable></para></entry>
689
690<entry colname="col2"><para>Performs a creation or extraction <emphasis>tar</emphasis> similar to the command-line program.</para></entry>
691
692</row>
693
694<row>
695
696<entry colname="col1"><para><literal>blocksize</literal> <replaceable>size</replaceable></para></entry>
697
698<entry colname="col2"><para>Sets the block size to be used by <emphasis>tar</emphasis>, in 512-byte blocks.</para></entry>
699
700</row>
701
702<row>
703
704<entry colname="col1"><para><literal>noreset</literal></para></entry>
705
706<entry colname="col2"><para>Makes <emphasis>tar</emphasis> pay attention to DOS archive bit for all following commands. In <literal>full</literal> mode (the default), <emphasis>tar</emphasis> will back up everything. In <literal>inc</literal> (incremental) mode, <emphasis>tar</emphasis> will back up only those files with the archive bit set. In <literal>reset</literal> mode, <emphasis>tar</emphasis> will reset the archive bit on all files it backs up. (this requires the share to be writable), and in <literal>noreset</literal> mode the archive bit will not be reset even after the file has been backed up.</para></entry>
707
708</row>
709
710</tbody>
711</tgroup>
712</table>
713</sect3>
714
715
716
717<sect3 role="" label="D.1.5.5" id="appd-SECT-1.5.5">
718<title>Command-line message program options</title>
719
720
721<variablelist>
722<varlistentry><term><literal>-M</literal> <replaceable>NetBIOS_machine_name</replaceable></term>
723<listitem><para>This option allows you to send immediate messages using the WinPopup protocol to another computer. Once a connection is established, you can type your message, pressing control-D to end. If WinPopup is not running on the receiving machine, the program returns an error.</para></listitem>
724</varlistentry>
725
726
727<varlistentry><term><literal>-U</literal> <replaceable>user</replaceable> </term>
728<listitem><para>This<replaceable> </replaceable>option allows you to indirectly control the FROM part of the message.</para></listitem>
729</varlistentry>
730</variablelist>
731</sect3>
732
733
734
735<sect3 role="" label="D.1.5.6" id="appd-SECT-1.5.6">
736<title>Command-line tar program options</title>
737
738
739<para>The <literal>-T</literal> (tar), <literal>-D</literal> (starting directory), and <literal>-c</literal> (command) options are used together to tar up files interactively. This is better done with <filename>smbtar</filename>, which will be discussed shortly. We don't recommend using <emphasis>smbclient</emphasis> directly as a <emphasis>tar</emphasis> program.</para>
740
741
742<variablelist>
743<varlistentry><term><literal>-D</literal> <replaceable>initial_directory</replaceable></term>
744<listitem><para>Changes to initial directory before starting.</para></listitem>
745</varlistentry>
746
747
748<varlistentry><term><literal>-c</literal> <replaceable>command_string</replaceable> </term>
749<listitem><para>Passes a command string to the <emphasis>smbclient</emphasis> command interpreter, which treats it as a semicolon-separated list of commands to be executed. This is handy to say things such as <literal>tarmode</literal> <literal>inc</literal>, for example, which forces <literal>smbclient</literal> <literal>-T</literal> to back up only files with the archive bit set.</para></listitem>
750</varlistentry>
751
752
753<varlistentry><term><literal>-T</literal> <replaceable>command filename</replaceable></term>
754<listitem><para>Runs the <emphasis>tar</emphasis> driver, which is <emphasis>gtar</emphasis> compatible. The two main commands are: <literal>c</literal> (create) and <literal>x</literal> (extract), which may be followed by any of:</para></listitem>
755</varlistentry>
756
757
758<varlistentry><term><literal>a</literal></term>
759<listitem><para>Resets archive bits once files are saved.</para></listitem>
760</varlistentry>
761
762
763<varlistentry><term><literal>b</literal> <replaceable>size</replaceable></term>
764<listitem><para>Sets blocksize in 512-byte units.</para></listitem>
765</varlistentry>
766
767
768<varlistentry><term><literal>g</literal></term>
769<listitem><para>Backs up only files with the archive bit set.</para></listitem>
770</varlistentry>
771
772
773<varlistentry><term><literal>I</literal> <replaceable>file</replaceable></term>
774<listitem><para>Includes files and directories (this is the default). Does not do pattern-matching.</para></listitem>
775</varlistentry>
776
777
778<varlistentry><term><literal>N</literal> <replaceable>filename</replaceable></term>
779<listitem><para>Backs up only those files newer than <replaceable>filename.</replaceable></para></listitem>
780</varlistentry>
781
782
783<varlistentry><term><literal>q</literal></term>
784<listitem><para>Does not produce diagnostics.</para></listitem>
785</varlistentry>
786
787
788<varlistentry><term><literal>X</literal> <replaceable>file</replaceable></term>
789<listitem><para>Excludes files.</para></listitem>
790</varlistentry>
791</variablelist>
792</sect3>
793
794
795
796<sect3 role="" label="D.1.5.7" id="appd-SECT-1.5.7">
797<title>Command-line query program</title>
798
799
800<para>If <filename>smbclient</filename> is run as:</para>
801
802
803<programlisting>smbclient -L <replaceable>server_name</replaceable></programlisting>
804
805
806<para>it will list the shares and other services that machine provides. This is handy if you don't have <filename>smbwrappers</filename>. It can also be helpful as a testing program in its own right.</para>
807</sect3>
808
809
810
811<sect3 role="" label="D.1.5.8" id="appd-SECT-1.5.8">
812<title>Command-line debugging /diagnostic program options</title>
813
814
815<para>Any of the various modes of operation of <emphasis>smbclient</emphasis> can be used with the debugging and testing command-line options:</para>
816
817
818<variablelist>
819<varlistentry><term><literal>-B</literal> <replaceable>IP_addr</replaceable></term>
820<listitem><para>Sets the broadcast address.</para></listitem>
821</varlistentry>
822
823
824<varlistentry><term><literal>-d</literal> <replaceable>debug_level</replaceable></term>
825<listitem><para>Sets the debug (sometimes called logging) level. The level can range from 0 all the way to 10. In addition, you can specify <literal>A</literal> for all debugging options. Debug level 0 logs only the most important messages; level 1 is normal; level 3 and above are primarily for debugging and slow operations considerably.</para></listitem>
826</varlistentry>
827
828
829<varlistentry><term><literal>-E</literal></term>
830<listitem><para>Sends all messages to stderr instead of stdout.</para></listitem>
831</varlistentry>
832
833
834<varlistentry><term><literal>-I</literal> <replaceable>IP_address</replaceable> </term>
835<listitem><para>Sets the IP address of the server to which it connects.</para></listitem>
836</varlistentry>
837
838
839<varlistentry><term><literal>-i</literal> <replaceable>scope</replaceable></term>
840<listitem><para>This sets a NetBIOS scope identifier. Only machines with the same identifier will communicate with the server. The scope identifier was a predecessor to workgroups, and this option is included only for backward compatibility.</para></listitem>
841</varlistentry>
842
843
844<varlistentry><term><literal>-l</literal> <replaceable>log_file</replaceable></term>
845<listitem><para>Sends the log messages to the specified file.</para></listitem>
846</varlistentry>
847
848
849<varlistentry><term><literal>-N</literal></term>
850<listitem><para>Suppresses the password prompt. Unless a password is specified on the command line or this parameter is specified, the client will prompt for a password.</para></listitem>
851</varlistentry>
852
853
854<varlistentry><term><literal>-n</literal> <replaceable>NetBIOS_name</replaceable></term>
855<listitem><para>This option allows you to override the NetBIOS name by which the daemon will advertise itself.</para></listitem>
856</varlistentry>
857</variablelist>
858
859
860<variablelist>
861<varlistentry><term><literal>-O</literal> <replaceable>socket_options</replaceable></term>
862<listitem><para>Sets the TCP/IP socket options using the same parameters as the <literal>socket</literal> <literal>options</literal> configuration option. It is often used for performance tuning and testing.</para></listitem>
863</varlistentry>
864
865
866<varlistentry><term><literal>-p</literal> <replaceable>port_number</replaceable></term>
867<listitem><para>Sets the port number from which the client will accept requests.</para></listitem>
868</varlistentry>
869
870
871<varlistentry><term><literal>-R</literal> <replaceable>resolve_order</replaceable></term>
872<listitem><para>Sets the resolve order of the name servers. This option is similar to the <literal>resolve</literal> <literal>order</literal> configuration option, and can take any of the four parameters, <literal>lmhosts</literal>, <literal>host</literal>, <literal>wins</literal>, and <literal>bcast</literal>, in any order .</para></listitem>
873</varlistentry>
874
875
876<varlistentry><term><literal>-s</literal> <replaceable>configuration_file</replaceable></term>
877<listitem><para>Specifies the location of the Samba configuration file. Used for debugging.</para></listitem>
878</varlistentry>
879
880
881<varlistentry><term><literal>-t</literal> <replaceable>terminal_code</replaceable></term>
882<listitem><para>Sets the terminal code for Asian languages.</para></listitem>
883</varlistentry>
884
885
886<varlistentry><term><literal>-U</literal> <replaceable>username</replaceable></term>
887<listitem><para>Sets the username and optionally password (e.g., <literal>-U</literal> <literal>fred%secret</literal>).</para></listitem>
888</varlistentry>
889
890
891<varlistentry><term><literal>-W</literal> <replaceable>workgroup</replaceable></term>
892<listitem><para>Specifies the workgroup that you want the client to connect as.</para></listitem>
893</varlistentry>
894</variablelist>
895
896
897<para>If you want to test a particular name service, run <emphasis>smbclient</emphasis> with <literal>-R</literal> and just the name of the service. This will force <emphasis>smbclient</emphasis> to use only the service you gave.<emphasis></emphasis>
898<indexterm id="appd-idx-993802-0" class="endofrange" startref="appd-idx-993745-0"/>
899<indexterm id="appd-idx-993802-1" class="endofrange" startref="appd-idx-993745-1"/></para>
900</sect3>
901</sect2>
902
903
904
905
906
907<sect2 role="" label="D.1.6" id="appd-SECT-1.6">
908<title>smbstatus</title>
909
910
911<para>The <filename>smbstatus</filename>
912<indexterm id="appd-idx-993754-0"><primary>smbstatus program</primary></indexterm>
913<indexterm id="appd-idx-993754-1"><primary>connections</primary><secondary>current, list of</secondary></indexterm> program lists the current connections on a Samba server. There are three separate sections. The first section lists various shares that are in use by specific users. The second section lists the locked files that Samba currently has on all of its shares. Finally, the third section lists the amount of memory usage for each of the shares. For example:</para>
914
915
916<programlisting># <emphasis role="bold">smbstatus</emphasis>
917Samba version 2.0.3
918Service uid gid pid machine
919----------------------------------------------
920network davecb davecb 7470 phoenix (192.168.220.101) Sun May 16
921network davecb davecb 7589 chimaera (192.168.220.102) Sun May 16
922
923Locked files:
924Pid DenyMode R/W Oplock Name
925--------------------------------------------------
9267589 DENY_NONE RDONLY EXCLUSIVE+BATCH /home/samba/quicken/inet/common/system/help.bmp
927Sun May 16 21:23:40 1999
9287470 DENY_WRITE RDONLY NONE /home/samba/word/office/findfast.exe
929Sun May 16 20:51:08 1999
9307589 DENY_WRITE RDONLY EXCLUSIVE+BATCH /home/samba/quicken/lfbmp70n.dll
931Sun May 16 21:23:39 1999
9327589 DENY_WRITE RDWR EXCLUSIVE+BATCH /home/samba/quicken/inet/qdata/runtime.dat
933Sun May 16 21:23:41 1999
9347470 DENY_WRITE RDONLY EXCLUSIVE+BATCH /home/samba/word/office/osa.exe
935Sun May 16 20:51:09 1999
9367589 DENY_WRITE RDONLY NONE /home/samba/quicken/qversion.dll
937Sun May 16 21:20:33 1999
9387470 DENY_WRITE RDONLY NONE /home/samba/quicken/qversion.dll
939Sun May 16 20:51:11 1999
940
941Share mode memory usage (bytes):
942 1043432(99%) free + 4312(0%) used + 832(0%) overhead = 1048576(100%) total</programlisting>
943
944
945<sect3 role="" label="D.1.6.1" id="appd-SECT-1.6.1">
946<title>Options</title>
947
948
949<variablelist>
950<varlistentry><term><literal>-b</literal></term>
951<listitem><para>Forces <filename>smbstatus</filename> to produce brief output. This includes the version of Samba and auditing information about the users that have logged into the server.</para></listitem>
952</varlistentry>
953
954
955<varlistentry><term><literal>-d</literal></term>
956<listitem><para>Gives verbose output, including each of the three reporting sections listed in the previous example. This is the default.</para></listitem>
957</varlistentry>
958
959
960<varlistentry><term><literal>-L</literal></term>
961<listitem><para>Forces <filename>smbstatus</filename> to print only the current file locks it has. This corresponds to the second section in a verbose output.</para></listitem>
962</varlistentry>
963
964
965<varlistentry><term><literal>-p</literal></term>
966<listitem><para>Prints a list of <filename>smbd</filename> process IDs only. This is often used for scripts.</para></listitem>
967</varlistentry>
968
969
970<varlistentry><term><literal>-S</literal></term>
971<listitem><para>Prints only a list of shares and their connections. This corresponds to the first section in a verbose output.</para></listitem>
972</varlistentry>
973
974
975<varlistentry><term><literal>-s</literal> <replaceable>configuration_file</replaceable></term>
976<listitem><para>Sets the Samba configuration file to use when processing this command.</para></listitem>
977</varlistentry>
978
979
980<varlistentry><term><literal>-u</literal> <replaceable>username</replaceable></term>
981<listitem><para>Limits the <filename>smbstatus</filename> report to the activity of a single user.</para></listitem>
982</varlistentry>
983</variablelist>
984</sect3>
985</sect2>
986
987
988
989
990
991<sect2 role="" label="D.1.7" id="appd-SECT-1.7">
992<title>smbtar</title>
993
994
995<para>The <emphasis>smbtar</emphasis>
996<indexterm id="appd-idx-993755-0"><primary>smbtar program</primary><secondary>tar operations and</secondary></indexterm>
997<indexterm id="appd-idx-993755-1"><primary>tar operations</primary></indexterm> program is a shell script on top of <emphasis>smbclient</emphasis> that gives the program more intelligible options when doing tar operations. Functionally, it is equivalent to the Unix <emphasis>tar</emphasis> program.</para>
998
999
1000<sect3 role="" label="D.1.7.1" id="appd-SECT-1.7.1">
1001<title>Options</title>
1002
1003
1004<variablelist>
1005<varlistentry><term><literal>-a</literal></term>
1006<listitem><para>Resets the archive bit mode</para></listitem>
1007</varlistentry>
1008
1009
1010<varlistentry><term><literal>-b</literal> <replaceable>blocksize</replaceable></term>
1011<listitem><para>Blocking size. Defaults to 20.</para></listitem>
1012</varlistentry>
1013
1014
1015<varlistentry><term><literal>-d</literal> <replaceable>directory</replaceable></term>
1016<listitem><para>Changes to initial directory before restoring or backing up files.</para></listitem>
1017</varlistentry>
1018
1019
1020<varlistentry><term><literal>-i</literal></term>
1021<listitem><para>Incremental mode; tar files are backed up only if they have the DOS archive bit set. The archive bit is reset after each file is read.</para></listitem>
1022</varlistentry>
1023
1024
1025<varlistentry><term><literal>-l</literal> <replaceable>log_level</replaceable></term>
1026<listitem><para> Sets the logging level.</para></listitem>
1027</varlistentry>
1028
1029
1030<varlistentry><term><literal>-N</literal> <replaceable>filename</replaceable></term>
1031<listitem><para>Backs up only the files newer than the last modification date of <replaceable>filename</replaceable>. For incremental backups.</para></listitem>
1032</varlistentry>
1033
1034
1035<varlistentry><term><literal>-p</literal> <replaceable>password</replaceable></term>
1036<listitem><para>Specifies the password to use to access a share.</para></listitem>
1037</varlistentry>
1038
1039
1040<varlistentry><term><literal>-r</literal></term>
1041<listitem><para>Restores files to the share from the tar file.</para></listitem>
1042</varlistentry>
1043
1044
1045<varlistentry><term><literal>-s</literal> <replaceable>server</replaceable></term>
1046<listitem><para>Specifies the SMB/CIFS server in which the share resides.</para></listitem>
1047</varlistentry>
1048
1049
1050<varlistentry><term><literal>-t</literal> <replaceable>tape</replaceable></term>
1051<listitem><para>Tape device or file. Default is the value of the environment variable <literal>$TAPE</literal>, or <emphasis>tar.out</emphasis> if <literal>$TAPE</literal> isn't set.</para></listitem>
1052</varlistentry>
1053
1054
1055<varlistentry><term><literal>-u</literal> <replaceable>user</replaceable></term>
1056<listitem><para>Specifies the user to connect to the share as. You can specify the password as well, in the format <replaceable>username</replaceable><literal>%</literal><replaceable>password</replaceable>.</para></listitem>
1057</varlistentry>
1058
1059
1060<varlistentry><term><literal>-v</literal></term>
1061<listitem><para>Specifies the use of verbose mode.</para></listitem>
1062</varlistentry>
1063
1064
1065<varlistentry><term><literal>-X</literal> <replaceable>file</replaceable></term>
1066<listitem><para>Tells <firstterm>smbtar</firstterm> to exclude the specified file from the <emphasis>tar</emphasis> create or restore.</para></listitem>
1067</varlistentry>
1068
1069
1070<varlistentry><term><literal>-x</literal> <replaceable>share</replaceable></term>
1071<listitem><para>States the share name on the server to connect to. The default is <literal>backup</literal>, which is a common share name to perform backups with.</para></listitem>
1072</varlistentry>
1073</variablelist>
1074
1075
1076<para>For example, a trivial backup command to archive the data for user <literal>sue</literal> is:</para>
1077
1078
1079<programlisting># <emphasis role="bold">smbtar -s pc_name -x sue -u sue -p secret -t sue.tar</emphasis></programlisting>
1080</sect3>
1081</sect2>
1082
1083
1084
1085
1086
1087<sect2 role="" label="D.1.8" id="appd-SECT-1.8">
1088<title>nmblookup</title>
1089
1090
1091<para>The <filename>nmblookup</filename>
1092<indexterm id="appd-idx-993756-0"><primary>nmblookup program</primary></indexterm>
1093<indexterm id="appd-idx-993756-1"><primary>name services</primary><secondary>nmblookup program</secondary></indexterm> program is a client program that exercises the NetBIOS-over-UDP/IP name service for resolving NBT machine names into IP addresses. The command works by broadcasting its queries on the local subnet until a machine with that name responds. You can think of it as a Windows <emphasis>nslookup(1)</emphasis> or <emphasis>dig(1)</emphasis>. This is useful for looking up both normal NetBIOS names, and the odd ones like <literal>_ _MSBROWSE_ _</literal> that the Windows name services use to provide directory-like services. If you wish to query for a particular type of NetBIOS name, add the NetBIOS <literal>&lt;type&gt;</literal> to the end of the name.</para>
1094
1095
1096<para>The command line is:</para>
1097
1098
1099<programlisting>nmblookup [-options] <replaceable>name</replaceable></programlisting>
1100
1101
1102<para>The options supported are:</para>
1103
1104
1105<variablelist>
1106<varlistentry><term><literal>-A</literal></term>
1107<listitem><para>Interprets <replaceable>name</replaceable> as an IP address and do a node-status query on this address.</para></listitem>
1108</varlistentry>
1109
1110
1111<varlistentry><term><literal>-B</literal> <replaceable>broadcast _address</replaceable></term>
1112<listitem><para>Sends the query to the given broadcast address. The default is to send the query to the broadcast address of the primary network interface.</para></listitem>
1113</varlistentry>
1114
1115
1116<varlistentry><term><literal>-d</literal> <replaceable>debuglevel</replaceable></term>
1117<listitem><para>Sets the debug (sometimes called logging) level. The level can range from 0 all the way to 10. Debug level 0 logs only the most important messages; level 1 is normal; level 3 and above are primarily for debugging and slow the program considerably.</para></listitem>
1118</varlistentry>
1119
1120
1121<varlistentry><term><literal>-h</literal></term>
1122<listitem><para>Prints command-line usage information for the program.</para></listitem>
1123</varlistentry>
1124
1125
1126<varlistentry><term><literal>-i</literal> <replaceable>scope</replaceable></term>
1127<listitem><para>Sets a NetBIOS scope identifier. Only machines with the same identifier will communicate with the server. The scope identifier was a predecessor to workgroups, and this option is included only for backward compatibility.</para></listitem>
1128</varlistentry>
1129
1130
1131<varlistentry><term><literal>-M</literal></term>
1132<listitem><para>Searches for a local master browser. This is done with a broadcast searching for a machine that will respond to the special name <literal>_ _MSBROWSE_ _ </literal>, and then asking that machine for information, instead of broadcasting the query itself.</para></listitem>
1133</varlistentry>
1134
1135
1136<varlistentry><term><literal>-R</literal></term>
1137<listitem><para>Sets the recursion desired bit in the packet. This will cause the machine that responds to try to do a WINS lookup and return the address and any other information the WINS server has saved.</para></listitem>
1138</varlistentry>
1139
1140
1141<varlistentry><term><literal>-r</literal></term>
1142<listitem><para>Use the root port of 137 for Windows 95 machines.</para></listitem>
1143</varlistentry>
1144
1145
1146<varlistentry><term><literal>-S</literal></term>
1147<listitem><para>Once the name query has returned an IP address, does a node status query as well. This returns all the resource types that the machine knows about, with their numeric attributes. For example:</para></listitem>
1148</varlistentry>
1149</variablelist>
1150
1151
1152<programlisting>% <emphasis role="bold">nmblookup -d 4 -S elsbeth</emphasis>
1153received 6 names
1154 ELSBETH &lt;00&gt; - &lt;GROUP&gt; B &lt;ACTIVE&gt;
1155 ELSBETH &lt;03&gt; - B &lt;ACTIVE&gt;
1156 ELSBETH &lt;1d&gt; - B &lt;ACTIVE&gt;
1157 ELSBETH &lt;1e&gt; - &lt;GROUP&gt; B &lt;ACTIVE&gt;
1158 ELSBETH &lt;20&gt; - B &lt;ACTIVE&gt;
1159 .._ _MSBROWSE_ _.. &lt;01&gt; - &lt;GROUP&gt; B &lt;ACTIVE&gt;</programlisting>
1160
1161
1162<variablelist>
1163<varlistentry><term><literal>-s</literal> <replaceable>configuration_file</replaceable></term>
1164<listitem><para>Specifies the location of the Samba configuration file. Although the file defaults to <filename>/usr/local/samba/lib/smb.conf</filename>, you can override it here on the command-line, normally for debugging.</para></listitem>
1165</varlistentry>
1166
1167
1168<varlistentry><term><literal>-T</literal></term>
1169<listitem><para>This option can be used to translate IP addresses into resolved names.</para></listitem>
1170</varlistentry>
1171
1172
1173<varlistentry><term><literal>-U</literal> <replaceable>unicast_address</replaceable></term>
1174<listitem><para>Performs a unicast query to the specified address. Used with <literal>-R</literal> to query WINS servers.</para></listitem>
1175</varlistentry>
1176</variablelist>
1177
1178
1179<para>Note that there is no workgroup option for <emphasis>nmblookup</emphasis> ; you can get around this by putting <literal>workgroup</literal> <literal>=</literal> <replaceable>workgroup_name </replaceable>in a file and passing it to <emphasis>nmblookup</emphasis> with the <literal>-s</literal> <replaceable>smb.conf_file</replaceable> option.</para>
1180</sect2>
1181
1182
1183
1184
1185
1186<sect2 role="" label="D.1.9" id="appd-SECT-1.9">
1187<title>smbpasswd</title>
1188
1189
1190<para>The <emphasis>smbpasswd</emphasis>
1191<indexterm id="appd-idx-993757-0"><primary>smbpasswd program</primary></indexterm>
1192<indexterm id="appd-idx-993757-1"><primary>passwords</primary><secondary>smbpasswd program </secondary></indexterm> password has two distinct sets of functions. When run by users, it changes their encrypted passwords. When run by <literal>root</literal>, it updates the encrypted password file. When run by an ordinary user with no options, it connects to the primary domain controller and changes his or her Windows password.</para>
1193
1194
1195<para>The program will fail if <emphasis>smbd</emphasis> is not operating, if the <literal>hosts</literal> <literal>allow</literal> or <literal>hosts</literal> <literal>deny</literal> configuration options will not permit connections from localhost (IP address 127.0.0.1), or the <literal>encrypted</literal> <literal>passwords</literal> <literal>=</literal> <literal>no</literal> option is set.</para>
1196
1197
1198<sect3 role="" label="D.1.9.1" id="appd-SECT-1.9.1">
1199<title>Regular user options</title>
1200
1201
1202<variablelist>
1203<varlistentry><term><literal>-D</literal> <replaceable>debug_level</replaceable></term>
1204<listitem><para>Sets the debug (also called logging) level. The level can range from 0 to 10. Debug level 0 logs only the most important messages; level 1 is normal; level 3 and above are primarily for debugging and slow the program considerably.</para></listitem>
1205</varlistentry>
1206
1207
1208<varlistentry><term><literal>-h</literal></term>
1209<listitem><para>Prints command-line usage information for the program.</para></listitem>
1210</varlistentry>
1211
1212
1213<varlistentry><term><literal>-r</literal> <replaceable>remote_machine_name</replaceable></term>
1214<listitem><para>Specifies on which machine the password should change. The remote machine must be a primary domain controller (PDC).</para></listitem>
1215</varlistentry>
1216
1217
1218<varlistentry><term><literal>-R</literal> <replaceable>resolve_order</replaceable></term>
1219<listitem><para>Sets the resolve order of the name servers. This option is similar to the <literal>resolve</literal> <literal>order</literal> configuration option, and can take any of the four parameters, <literal>lmhosts</literal>, <literal>host</literal>, <literal>wins</literal>, and <literal>bcast</literal>,<literal> </literal>in any order.</para></listitem>
1220</varlistentry>
1221
1222
1223<varlistentry><term><literal>-U</literal> <replaceable>username</replaceable></term>
1224<listitem><para>Used only with <literal>-r</literal>, to modify a username that is spelled differently on the remote machine.</para></listitem>
1225</varlistentry>
1226</variablelist>
1227</sect3>
1228
1229
1230
1231<sect3 role="" label="D.1.9.2" id="appd-SECT-1.9.2">
1232<title>Root-only options</title>
1233
1234
1235<variablelist>
1236<varlistentry><term><literal>-a</literal> <replaceable>username</replaceable></term>
1237<listitem><para>Adds a user to the encrypted password file.</para></listitem>
1238</varlistentry>
1239
1240
1241<varlistentry><term><literal>-d</literal> <replaceable>username</replaceable></term>
1242<listitem><para>Disables a user in the encrypted password file.</para></listitem>
1243</varlistentry>
1244
1245
1246<varlistentry><term><literal>-e</literal> <replaceable>username</replaceable></term>
1247<listitem><para>Enables a disabled user in the encrypted password file.</para></listitem>
1248</varlistentry>
1249
1250
1251<varlistentry><term><literal>-m</literal> <replaceable>machine_name</replaceable></term>
1252<listitem><para>Changes a machine account's password. The machine accounts are used to authenticate machines when they connect to a primary or backup domain controller.</para></listitem>
1253</varlistentry>
1254
1255
1256<varlistentry><term><literal>-j</literal> <replaceable>domain_name</replaceable></term>
1257<listitem><para>Adds a Samba server to a Windows NT Domain.</para></listitem>
1258</varlistentry>
1259
1260
1261<varlistentry><term><literal>-n</literal></term>
1262<listitem><para>Sets no password for the user.</para></listitem>
1263</varlistentry>
1264
1265
1266<varlistentry><term><literal>-s</literal> <replaceable>username</replaceable></term>
1267<listitem><para>Causes <emphasis>smbpasswd</emphasis> to be silent and to read its old and new passwords from standard input, rather than from <filename>/dev/tty</filename>. This is useful for writing scripts.</para></listitem>
1268</varlistentry>
1269</variablelist>
1270</sect3>
1271</sect2>
1272
1273
1274
1275
1276
1277<sect2 role="" label="D.1.10" id="appd-SECT-1.10">
1278<title>testparm</title>
1279
1280
1281<para>The <emphasis>testparm</emphasis>
1282<indexterm id="appd-idx-993999-0"><primary>testparm program</primary></indexterm>
1283<indexterm id="appd-idx-993999-1"><primary>smb.conf (Samba configuration) file</primary><secondary>testparm program for</secondary></indexterm> program checks an <filename>smb.conf</filename> file for obvious errors and self-consistency. Its command line is:</para>
1284
1285
1286<programlisting>testparm [options] <replaceable>configfile_name [hostname IP_addr]</replaceable></programlisting>
1287
1288
1289<para>If the configuration file is not specified, the file at <replaceable>samba_dir</replaceable><filename>/lib/smb.conf</filename> is checked by default. If you specify a hostname and an IP address, an extra check will be made to ensure that the specified machine would be allowed to connect to Samba. If a hostname is specified, an IP address should be present as well.</para>
1290
1291
1292<sect3 role="" label="D.1.10.1" id="appd-SECT-1.10.1">
1293<title>Options</title>
1294
1295
1296<variablelist>
1297<varlistentry><term><literal>-h</literal></term>
1298<listitem><para>Prints command-line information for the program.</para></listitem>
1299</varlistentry>
1300
1301
1302<varlistentry><term><literal>-L</literal> server_name</term>
1303<listitem><para>Resets the <literal>%L</literal> configuration variable to the specified server name.</para></listitem>
1304</varlistentry>
1305
1306
1307<varlistentry><term><literal>-s</literal></term>
1308<listitem><para>This option prevents the <emphasis>testparm</emphasis> program from prompting the user to press the Enter key before printing a list of the configuration options for the server.</para></listitem>
1309</varlistentry>
1310</variablelist>
1311</sect3>
1312</sect2>
1313
1314
1315
1316
1317
1318<sect2 role="" label="D.1.12" id="appd-SECT-1.12">
1319<title>rpcclient</title>
1320
1321
1322<para>This is a new client that exercises the <indexterm id="appd-idx-993762-0"><primary>RPC (remote procedure call)</primary></indexterm>
1323<indexterm id="appd-idx-993762-1"><primary>remote procedure call (RPC)</primary></indexterm>RPC (remote procedure call) interfaces of an SMB server. Like <emphasis>smbclient</emphasis>, <emphasis>rpcclient</emphasis>
1324<indexterm id="appd-idx-993763-0"><primary>rpcclient program</primary></indexterm> started its life as a test program for the Samba developers and will likely stay that way for a while. Its command line is:</para>
1325
1326
1327<programlisting>rpcclient //<replaceable>server</replaceable>/<replaceable>share</replaceable></programlisting>
1328
1329
1330<para>The command-line options are the same as the Samba 2.0 <emphasis>smbclient</emphasis>, and the operations you can try are listed in <link linkend="appd-65243">Table 4.4</link>.</para>
1331
1332
1333<table label="D.4" id="appd-65243">
1334<title>rpcclient commands </title>
1335
1336<tgroup cols="2">
1337<colspec colnum="1" colname="col1"/>
1338<colspec colnum="2" colname="col2"/>
1339<thead>
1340<row>
1341
1342<entry colname="col1"><para>Command</para></entry>
1343
1344<entry colname="col2"><para>Description</para></entry>
1345
1346</row>
1347
1348</thead>
1349
1350<tbody>
1351<row>
1352
1353<entry colname="col1"><para><literal>regenum keyname</literal></para></entry>
1354
1355<entry colname="col2"><para>Registry Enumeration (keys, values)</para></entry>
1356
1357</row>
1358
1359<row>
1360
1361<entry colname="col1"><para><literal>regdeletekey keyname </literal></para></entry>
1362
1363<entry colname="col2"><para>Registry Key Delete</para></entry>
1364
1365</row>
1366
1367<row>
1368
1369<entry colname="col1"><para><literal>regcreatekey keyname [keyvalue]</literal></para></entry>
1370
1371<entry colname="col2"><para>Registry Key Create</para></entry>
1372
1373</row>
1374
1375<row>
1376
1377<entry colname="col1"><para><literal>regquerykey keyname</literal></para></entry>
1378
1379<entry colname="col2"><para>Registry Key Query</para></entry>
1380
1381</row>
1382
1383<row>
1384
1385<entry colname="col1"><para><literal>regdeleteval valname</literal></para></entry>
1386
1387<entry colname="col2"><para>Registry Value Delete</para></entry>
1388
1389</row>
1390
1391<row>
1392
1393<entry colname="col1"><para><literal>regcreateval valname valtype value</literal></para></entry>
1394
1395<entry colname="col2"><para>Registry Key Create</para></entry>
1396
1397</row>
1398
1399<row>
1400
1401<entry colname="col1"><para><literal>reggetsec keyname</literal></para></entry>
1402
1403<entry colname="col2"><para>Registry Key Security</para></entry>
1404
1405</row>
1406
1407<row>
1408
1409<entry colname="col1"><para><literal>regtestsec keyname</literal></para></entry>
1410
1411<entry colname="col2"><para>Test Registry Key Security</para></entry>
1412
1413</row>
1414
1415<row>
1416
1417<entry colname="col1"><para><literal>ntlogin [username] [password]</literal></para></entry>
1418
1419<entry colname="col2"><para>NT Domain Login Test</para></entry>
1420
1421</row>
1422
1423<row>
1424
1425<entry colname="col1"><para><literal>wksinfo</literal></para></entry>
1426
1427<entry colname="col2"><para>Workstation Query Info</para></entry>
1428
1429</row>
1430
1431<row>
1432
1433<entry colname="col1"><para><literal>srvinfo</literal></para></entry>
1434
1435<entry colname="col2"><para>Server Query Info</para></entry>
1436
1437</row>
1438
1439<row>
1440
1441<entry colname="col1"><para><literal>srvsessions</literal></para></entry>
1442
1443<entry colname="col2"><para>List Sessions on a Server</para></entry>
1444
1445</row>
1446
1447<row>
1448
1449<entry colname="col1"><para><literal>srvshares</literal></para></entry>
1450
1451<entry colname="col2"><para>List shares on a server</para></entry>
1452
1453</row>
1454
1455<row>
1456
1457<entry colname="col1"><para><literal>srvconnections</literal></para></entry>
1458
1459<entry colname="col2"><para>List connections on a server</para></entry>
1460
1461</row>
1462
1463<row>
1464
1465<entry colname="col1"><para><literal>srvfiles</literal></para></entry>
1466
1467<entry colname="col2"><para>List files on a server</para></entry>
1468
1469</row>
1470
1471<row>
1472
1473<entry colname="col1"><para><literal>lsaquery</literal></para></entry>
1474
1475<entry colname="col2"><para>Query Info Policy (domain member or server)</para></entry>
1476
1477</row>
1478
1479<row>
1480
1481<entry colname="col1"><para><literal>lookupsids</literal></para></entry>
1482
1483<entry colname="col2"><para>Resolve names from SIDs</para></entry>
1484
1485</row>
1486
1487<row>
1488
1489<entry colname="col1"><para><literal>ntpass</literal></para></entry>
1490
1491<entry colname="col2"><para>NT SAM Password Change</para></entry>
1492
1493</row>
1494
1495</tbody>
1496</tgroup>
1497</table>
1498</sect2>
1499
1500
1501
1502
1503
1504<sect2 role="" label="D.1.13" id="appd-SECT-1.13">
1505<title>tcpdump</title>
1506
1507
1508<para>The <emphasis>tcpdump</emphasis>
1509<indexterm id="appd-idx-993765-0"><primary>tcpdump utility</primary></indexterm>
1510<indexterm id="appd-idx-993765-1"><primary>packets</primary><secondary>headers for, tcpdump utility and</secondary></indexterm> utility, a classic system administration tool, dumps all the packet headers it sees on an interface that match an expression. The version included in the Samba distribution is enhanced to understand the SMB protocol. The <emphasis>expression</emphasis> is a logical expression with "and," "or," and "not," although sometimes it's very simple. For example, <literal>host</literal> <literal>escrime</literal> would select every packet going to or from <literal>escrime</literal>. The expression is normally one or more of:</para>
1511
1512
1513<itemizedlist>
1514
1515<listitem><para><literal>host</literal> <replaceable>name</replaceable></para></listitem>
1516
1517<listitem><para><literal>ne</literal>t <replaceable>network_number</replaceable></para></listitem>
1518<listitem><para><literal>port</literal> <replaceable>number</replaceable></para></listitem>
1519<listitem><para><literal>src</literal> <replaceable>name </replaceable></para></listitem>
1520<listitem><para><literal>dst</literal> <replaceable>name</replaceable></para></listitem>
1521</itemizedlist>
1522
1523<para>The most common options are <literal>src</literal> (source), <literal>dst</literal> (destination), and <literal>port</literal>. For example, in the book we used the command:</para>
1524
1525
1526<programlisting>tcpdump port not telnet</programlisting>
1527
1528
1529<para>This dumps all the packets except telnet; we were logged-in via telnet and wanted to see only the SMB packets.</para>
1530
1531
1532<para>Another <emphasis>tcpdump</emphasis> example is selecting traffic between server and either <literal>sue</literal> or <literal>joe</literal>:</para>
1533
1534
1535<programlisting>tcpdump host server and \( sue or joe \)</programlisting>
1536
1537
1538<para>We recommend using the <literal>-s</literal> <literal>1500</literal> option so that you capture all of the SMB messages sent, instead of just the header information.</para>
1539
1540
1541<sect3 role="" label="D.1.13.1" id="appd-SECT-1.13.1">
1542<title>Options</title>
1543
1544
1545<para>There are many options, and many other kinds of expressions that can be used with <emphasis>tcpdump</emphasis>. See the manual page for details on the advanced options. The most common options are as follows:</para>
1546
1547
1548<variablelist>
1549<varlistentry><term><literal>-c</literal> <replaceable>count</replaceable></term>
1550<listitem><para>Forces the program to exit after receiving the specified number of packets.</para></listitem>
1551</varlistentry>
1552
1553
1554<varlistentry><term><literal>-F</literal> <replaceable>file</replaceable></term>
1555<listitem><para>Reads the expression from the specified file and ignores expressions on the command line.</para></listitem>
1556</varlistentry>
1557
1558
1559<varlistentry><term><literal>-i</literal> <replaceable>interface</replaceable></term>
1560<listitem><para>Forces the program to listen on the specified interface.</para></listitem>
1561</varlistentry>
1562
1563
1564<varlistentry><term><literal>-r</literal> <replaceable>file</replaceable></term>
1565<listitem><para>Reads packets from the specified file (captured with <literal>-w</literal>).</para></listitem>
1566</varlistentry>
1567
1568
1569<varlistentry><term><literal>-s</literal> <replaceable>length</replaceable></term>
1570<listitem><para>Saves the specified number of bytes of data from each packet (rather than 68 bytes).</para></listitem>
1571</varlistentry>
1572
1573
1574<varlistentry><term><literal>-w</literal> <replaceable>file</replaceable></term>
1575<listitem><para>Writes the packets to the specified file.<indexterm id="appd-idx-993743-0" class="endofrange" startref="appd-idx-994034-0"/></para></listitem>
1576</varlistentry>
1577</variablelist>
1578</sect3>
1579</sect2>
1580</sect1>
1581
1582
1583
1584
1585
1586
1587
1588
1589</appendix>
Note: See TracBrowser for help on using the repository browser.