1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="samba-dcerpcd.8">
<refmeta>
<refentrytitle>samba-dcerpcd</refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo class="source">Samba</refmiscinfo>
<refmiscinfo class="manual">System Administration tools</refmiscinfo>
<refmiscinfo class="version">&doc.version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>samba-dcerpcd</refname>
<refpurpose>This is one of Samba's DCERPC server processes
that can listen on sockets where RPC services are offered and
is the parent process of the DCERPC services it
invokes. Unless separately invoked it is started on demand
from <command>smbd</command> or <command>winbind</command> and
serves DCERPC only over named pipes (np) as a helper
process. This will be the standard setup for most
installations (standalone/member server/AD server) unless they
modify their startup scripts. Note in when Samba is configured
as an Active Directory Domain controller the
<command>samba</command> process that invokes
<command>smbd</command> will still provide its normal DCERPC
services, not <command>samba-dcerpcd</command>. When
separately invoked by system startup scripts or a daemon,
the global smb.conf option <smbconfoption name="rpc start on
demand helpers">false</smbconfoption> MUST be set to allow
<command>samba-dcerpcd</command> to start standalone.
</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>samba-dcerpcd</command>
<arg choice="opt">-D|--daemon</arg>
<arg choice="opt">-i|--interactive</arg>
<arg choice="opt">-F|--foreground</arg>
<arg choice="opt">--no-process-group</arg>
<arg choice="opt">-d <debug level></arg>
<arg choice="opt">--debug-stdout</arg>
<arg choice="opt">--configfile=<configuration file></arg>
<arg choice="opt">--option=<name>=<value></arg>
<arg choice="opt">--leak-report</arg>
<arg choice="opt">--leak-report-full</arg>
<arg choice="opt">-V|--version</arg>
<arg choice="opt">--libexec-rpcds</arg>
<arg choice="opt">--np-helper</arg>
<arg choice="opt">--ready-signal-fd=<fd></arg>
<arg choice="opt"><SERVICE_1></arg>
<arg choice="opt"><SERVICE_2></arg>
<arg choice="opt"><...></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>This tool is part of the
<citerefentry><refentrytitle>samba</refentrytitle>
<manvolnum>7</manvolnum></citerefentry> suite.</para>
<para>
samba-dcerpcd can be used in two ways. In the normal case
without startup script modification and the global smb.conf
option <smbconfoption name="rpc start on demand
helpers">true</smbconfoption> is set (the default setting),
it is invoked on demand from <command>smbd</command> or
<command>winbind</command> with a command line
containing --np-helper to serve DCERPC over named pipes
(np). It can also be used in a standalone mode where it is
started separately from <command>smbd</command> or
<command>winbind</command> via system startup scripts. If
invoked as a standalone daemon or started from system
startup scripts the global smb.conf option <smbconfoption
name="rpc start on demand helpers">false</smbconfoption>
MUST be set to false. If the global smb.conf option
<smbconfoption name="rpc start on demand
helpers">true</smbconfoption> is set to true or left as
default, <command>samba-dcerpcd</command> will fail to start
and log an error message.
</para>
<para>
Note that when Samba is run in the Active Directory Domain
Controller mode the <command>samba</command> AD code will
still provide its normal DCERPC services whilst allowing
samba-dcerpcd to provide services like SRVSVC in the same
way that <command>smbd</command> used to in this
configuration.
</para>
<para>
The standalone mode can also be useful for use outside of
the Samba framework, for example, use with the Linux kernel
SMB2 server ksmbd or possibly other SMB2 server
implementations. In this mode it behaves like inetd and
listens on sockets on behalf of RPC server implementations.
</para>
<para>
When a client connects, <command>samba-dcerpcd</command>
will start the relevant RPC service binary on demand and
hand over the connection to that service. When an RPC
service has been idle for a while,
<command>samba-dcerpcd</command> will ask it to shut down
again.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-D|--daemon</term>
<listitem><para>If specified, this parameter causes
the server to operate as a daemon. That is, it
detaches itself and runs in the background, fielding
requests on the appropriate port. Operating the server
as a daemon is useful for running
<command>samba-dcerpcd</command> outside of the Samba
framework. However, it can also be used in this way
within Samba for member servers if configured to start
up via system startup scripts. This switch is assumed
if <command>samba-dcerpcd</command> is executed on the
command line of a shell. </para></listitem>
</varlistentry>
<varlistentry>
<term>-i|--interactive</term>
<listitem><para>If this parameter is specified it
causes the server to run "interactively", not as a
daemon, even if the server is executed on the command
line of a shell. Setting this parameter negates the
implicit daemon mode when run from the command
line. <command>samba-dcerpcd</command> will only
accept one connection and terminate. It will also log
to standard output, as if the <command>-S</command>
parameter had been given.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-F|--foreground</term>
<listitem><para>If specified, this parameter causes
the main <command>samba-dcerpcd</command> process to
not daemonize, i.e. double-fork and disassociate with
the terminal. Child processes are still spawned as
normal to service each connection request, but the
main process does not exit. This operation mode is
suitable for running <command>samba-dcerpcd</command>
under process supervisors such as
<command>supervise</command> and
<command>svscan</command> from Daniel J. Bernstein's
<command>daemontools</command> package, or the AIX
process monitor. </para></listitem>
</varlistentry>
<varlistentry>
<term>--no-process-group</term>
<listitem><para>Do not create a new process group for
samba-dcerpcd.
</para></listitem>
</varlistentry>
<varlistentry>
<term>--libexec-rpcds</term>
<listitem><para>Offer RPC services for all daemons in
Samba's LIBEXECDIR, all programs starting with
"rpcd_" are assumed to offer RPC
services. If you don't use the
<command>--libexec-rpcds</command> option, you can
explicitly list all RPC service helpers explicitly on
the command line.</para></listitem>
</varlistentry>
<varlistentry>
<term>--np-helper</term>
<listitem><para>Run <command>samba-dcerpcd</command>
on demand opening named pipe sockets as helpers for
<command>smbd</command> or <command>winbind</command>.
In order to run in this mode, the global smb.conf
option <smbconfoption name="rpc start on demand
helpers">true</smbconfoption> must be set to true
(this is the default setting). </para></listitem>
</varlistentry>
<varlistentry>
<term>--ready-signal-fd=<fd></term>
<listitem><para>Report service readiness via this fd
to <command>smbd</command>. Only for internal use.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>
The original Samba software and related utilities were
created by Andrew Tridgell. Samba is now developed by the
Samba Team as an Open Source project similar to the way the
Linux kernel is developed.
</para>
</refsect1>
</refentry>
|