File: globus-gatekeeper-manual.xml

package info (click to toggle)
globus-gatekeeper 9.11-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 1,688 kB
  • sloc: sh: 10,113; ansic: 2,661; xml: 466; makefile: 217
file content (347 lines) | stat: -rw-r--r-- 14,475 bytes parent folder | download
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
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    <!ENTITY cmdname "globus-gatekeeper">
    <!ENTITY cmd "<command>globus-gatekeeper</command>">
]>
<!-- Canonical version of this document lives in 
$Header: /home/globdev/CVS/globus-packages/gatekeeper/source/globus-gatekeeper-manual.xml,v 1.3.20.1 2012/01/06 16:46:03 bester Exp $
-->


<refentry id="gram5-globus-gatekeeper">
<refmeta>
<refentrytitle>&cmdname;</refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo class="author">University of Chicago</refmiscinfo>
</refmeta>

<refnamediv>
<refname>&cmdname;</refname>
<refpurpose>Authorize and execute a grid service on behalf of a user</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
&cmd;
<arg>-help</arg>
<sbr/>
<arg>-conf <replaceable>PARAMETER_FILE</replaceable></arg>
<sbr/>
<arg>-test</arg>
<group>
    <arg choice="plain">-d</arg>
    <arg choice="plain">-debug</arg>
</group>
<sbr/>
<group choice="req">
    <arg choice="plain">-inetd</arg>
    <arg choice="plain">-f</arg>
</group>
<sbr/>
<group>
    <arg choice="plain">-p <replaceable>PORT</replaceable></arg>
    <arg choice="plain">-port <replaceable>PORT</replaceable></arg>
</group>
<sbr/>
<arg>-home <replaceable>PATH</replaceable></arg>
<group>
    <arg choice="plain">-l <replaceable>LOGFILE</replaceable></arg>
    <arg choice="plain">-logfile <replaceable>LOGFILE</replaceable></arg>
</group>
<arg>-lf <replaceable>LOG_FACILITY</replaceable></arg>
<sbr/>
<arg>-acctfile <replaceable>ACCTFILE</replaceable></arg>
<sbr/>
<arg>-e <replaceable>LIBEXECDIR</replaceable></arg>
<sbr/>
<arg>-launch_method
    <group choice="req">
        <arg choice="plain">fork_and_exit</arg>
        <arg choice="plain">fork_and_wait</arg>
        <arg choice="plain">dont_fork</arg>
    </group>
</arg>
<sbr/>
<arg>-grid_services <replaceable>SERVICEDIR</replaceable></arg>
<sbr/>
<arg>-globusid <replaceable>GLOBUSID</replaceable></arg>
<sbr/>
<arg>-gridmap <replaceable>GRIDMAP</replaceable></arg>
<sbr/>
<arg>-x509_cert_dir <replaceable>TRUSTED_CERT_DIR</replaceable></arg>
<sbr/>
<arg>-x509_cert_file <replaceable>TRUSTED_CERT_FILE</replaceable></arg>
<sbr/>
<arg>-x509_user_cert <replaceable>CERT_PATH</replaceable></arg>
<sbr/>
<arg>-x509_user_key <replaceable>KEY_PATH</replaceable></arg>
<sbr/>
<arg>-x509_user_proxy <replaceable>PROXY_PATH</replaceable></arg>
<sbr/>
<arg>-k</arg>
<sbr/>
<arg>-globuskmap <replaceable>KMAP</replaceable></arg>
<sbr/>
<arg>-pidfile <replaceable>PIDFILE</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>

<refsect1><title>Description</title>
<para>
The &cmd; program is a meta-server similar to
<command>inetd</command> or <command>xinetd</command> that starts other
services after authenticating a TCP connection using GSSAPI and mapping the
client's credential to a local account.
</para>

<para>
The most common use for the &cmd; program is to
start instances of the
<citerefentry><refentrytitle>globus-job-manager</refentrytitle><manvolnum>8</manvolnum></citerefentry> service. A single &cmd;
deployment can handle multiple different service configurations by having
entries in the <filename>/etc/grid-services</filename> directory.
</para>

<para>
Typically, users interact with the &cmd;
program via client applications such as <citerefentry><refentrytitle>globusrun</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<command>globus-job-submit</command>, or tools
such as CoG jglobus or Condor-G.
</para>

<para>
The full set of command-line options to &cmd; consists of:

<variablelist>
    <varlistentry>
        <term>-help</term>
        <listitem><simpara>Display a help message to standard error and exit</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-conf <replaceable>PARAMETER_FILE</replaceable></term>
        <listitem><simpara>Load configuration parameters from
        <replaceable>PARAMETER_FILE</replaceable>. The parameters in that file
        are treated as additional command-line options.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-test</term>
        <listitem><simpara>Parse the configuration file and print out the POSIX
        user id of the &cmd; process, service home directory, service execution
        directory, and X.509 subject name and then exits.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-d</term>
        <term>-debug</term>
        <listitem><simpara>Run the &cmd; process in the foreground.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-inetd</term>
        <listitem><simpara>Flag to indicate that the &cmd; process was started
        via <command>inetd</command> or a similar super-server. If this flag is
        set and the &cmd; was not started via inetd, a warning will be printed
        in the gatekeeper log.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-f</term>
        <listitem><simpara>Flag to indicate that the &cmd; process should run
        in the foreground. This flag has no effect when the &cmd; is started
        via inetd.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-p <replaceable>PORT</replaceable></term>
        <term>-port <replaceable>PORT</replaceable></term>
        <listitem><simpara>Listen for connections on the TCP/IP port
        <replaceable>PORT</replaceable>. This option has no effect if the &cmd;
        is started via inetd or a similar service. If not specified and the
        gatekeeper is running as root, the default of <literal>2119</literal>
        is used. Otherwise, the gatekeeper defaults to an ephemeral
        port.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-home <replaceable>PATH</replaceable></term>
        <listitem><simpara>Sets the gatekeeper deployment directory to
        <replaceable>PATH</replaceable>. This is used to interpret relative
        paths for accounting files, libexecdir, certificate paths, and also to
        set the <envar>GLOBUS_LOCATION</envar> environment variable in the
        service environment. If not specified, the gatekeeper looks for service
        executables in <filename>/usr/sbin</filename>, configuration in
        <filename>/etc</filename>, and writes logs and accounting files to 
        <filename>/var/log</filename>.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-l <replaceable>LOGFILE</replaceable></term>
        <term>-logfile <replaceable>LOGFILE</replaceable></term>
        <listitem><simpara>Write log entries to
        <replaceable>LOGFILE</replaceable>. If
        <replaceable>LOGFILE</replaceable> is equal to
        <literal>logoff</literal> or <literal>LOGOFF</literal>, then logging
        will be disabled, both to file and to syslog.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-lf <replaceable>LOG_FACILITY</replaceable></term>
        <listitem><simpara>Open syslog using the <replaceable>LOG_FACILITY</replaceable>. If not specified, <literal>LOG_DAEMON</literal> will be used as the default when using syslog.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term><option>-acctfile <replaceable>ACCTFILE</replaceable></option></term>
        <listitem><simpara>Set the path to write accounting records to
        <replaceable>ACCTFILE</replaceable>. If not set, records
        will be written to the log file.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-e <replaceable>LIBEXECDIR</replaceable></term>
        <listitem><simpara>Look for service executables in
        <replaceable>LIBEXECDIR</replaceable>. If not specified, the 
        <filename>sbin</filename> subdirectory of
        the parameter to <option>-home</option> is used, or
        <filename>/usr/sbin</filename> if that is not set.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-launch_method <literal>fork_and_exit</literal>|<literal>fork_and_wait</literal>|<literal>dont_fork</literal></term>
        <listitem><simpara>Determine how to launch services. The method may be
        either <literal>fork_and_exit</literal> (the service runs completely
        independently of the gatekeeper, which exits after creating the new
        service process), <literal>fork_and_wait</literal> (the service is run
        in a separate process from the gatekeeper but the gatekeeper does not
        exit until the service terminates), or <literal>dont_fork</literal>,
        where the gatekeeper process becomes the service process via the
        <function>exec()</function> system call.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-grid_services <replaceable>SERVICEDIR</replaceable></term>
        <listitem><simpara>Look for service descriptions in
        <replaceable>SERVICEDIR</replaceable>.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-globusid <replaceable>GLOBUSID</replaceable></term>
        <listitem><simpara>Sets the <envar>GLOBUSID</envar> environment
        variable to <replaceable>GLOBUSID</replaceable>. This variable is used
        to construct the gatekeeper contact string if it can not be parsed from
        the service credential.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-gridmap <replaceable>GRIDMAP</replaceable></term>
        <listitem><simpara>Use the file at <replaceable>GRIDMAP</replaceable>
        to map GSSAPI names to POSIX user names.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-x509_cert_dir <replaceable>TRUSTED_CERT_DIR</replaceable></term>
        <listitem><simpara>Use the directory
        <replaceable>TRUSTED_CERT_DIR</replaceable> to locate trusted CA X.509
        certificates. The gatekeeper sets the environment variable
        <envar>X509_CERT_DIR</envar> to this value.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-x509_user_cert <replaceable>CERT_PATH</replaceable></term>
        <listitem><simpara>Read the service X.509 certificate from
        <replaceable>CERT_PATH</replaceable>. The gatekeeper sets the
        <envar>X509_USER_CERT</envar> environment variable to this
        value.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-x509_user_key <replaceable>KEY_PATH</replaceable></term>
        <listitem><simpara>Read the private key for the service from
        <replaceable>KEY_PATH</replaceable>. The gatekeeper sets the
        <envar>X509_USER_KEY</envar> environment variable to this
        value.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-x509_user_proxy <replaceable>PROXY_PATH</replaceable></term>
        <listitem><simpara>Read the X.509 proxy certificate from
        <replaceable>PROXY_PATH</replaceable>. The gatekeeper sets the
        <envar>X509_USER_PROXY</envar> environment variable to this
        value.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-k</term>
        <listitem><simpara>Use the <command>globus-k5</command> command
        to acquire Kerberos 5 credentials before starting the
        service.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-globuskmap <replaceable>KMAP</replaceable></term>
        <listitem><simpara>Use <replaceable>KMAP</replaceable> as the path to
        the Grid credential to kerberos initialization mapping
        file.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>-pidfile <replaceable>PIDFILE</replaceable></term>
        <listitem><simpara>Write the process id of the &cmd; to the
        file named by <replaceable>PIDFILE</replaceable>.
        </simpara></listitem>
    </varlistentry>
</variablelist>
</para>
</refsect1>

<refsect1><title>ENVIRONMENT</title>
<para>
If the following variables affect the execution of &cmd;:

<variablelist>
    <varlistentry>
        <term>X509_CERT_DIR</term>
        <listitem><simpara>Directory containing X.509 trust anchors and signing
        policy files.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>X509_USER_PROXY</term>
        <listitem><simpara>Path to file containing an X.509
        proxy.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>X509_USER_CERT</term>
        <listitem><simpara>Path to file containing an X.509 user
        certificate.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>X509_USER_KEY</term>
        <listitem><simpara>Path to file containing an X.509 user
        key.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term>GLOBUS_LOCATION</term>
        <listitem><simpara>Default path to gatekeeper service
        files.</simpara></listitem>
    </varlistentry>
</variablelist>
</para>
</refsect1>

<refsect1><title>Files</title>
<para>
<variablelist>
    <varlistentry>
        <term><filename>/etc/grid-services/<replaceable>SERVICENAME</replaceable></filename></term>
        <listitem><simpara>Service configuration for
        <replaceable>SERVICENAME</replaceable>.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term><filename>/etc/grid-security/grid-mapfile</filename></term>
        <listitem><simpara>Default file mapping Grid identities to POSIX
        identities.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term><filename>/etc/globuskmap</filename></term>
        <listitem><simpara>Default file mapping Grid identities to Kerberos 5
        principals.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term><filename>/etc/globus-nologin</filename></term>
        <listitem><simpara>File to disable the &cmd; program.</simpara></listitem>
    </varlistentry>
    <varlistentry>
        <term><filename>/var/log/globus-gatekeeper.log</filename></term>
        <listitem><simpara>Default gatekeeper log.</simpara></listitem>
    </varlistentry>
</variablelist>
</para>
</refsect1>

<refsect1><title>See also</title>
<para>
<citerefentry><refentrytitle>globus-k5</refentrytitle><manvolnum>8</manvolnum></citerefentry>, 
<citerefentry><refentrytitle>globusrun</refentrytitle><manvolnum>1</manvolnum></citerefentry>, 
<citerefentry><refentrytitle>globus-job-manager</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>