/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to plugin-runner.xml

  • Committer: Teddy Hogeborn
  • Date: 2008-09-05 16:24:33 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080905162433-58fgx91ae9foxlh1
* Makefile (PIDDIR, USER, GROUP): Removed.
  (install-server): Do not create $(PIDDIR).
  (uninstall-server): Do not remove $(PIDDIR).

* init.d-mandos (PIDFILE): Changed to "/var/run/$NAME.pid".

* mandos (IPv6_TCPServer.enabled): New attribute.
  (IPv6_TCPServer.server_activate): Only call method of superclass if
                                    "self.enabled".
  (IPv6_TCPServer.enable): Set "self.enabled" to True.
  (main): Create client Set() early.  Create IPv6_TCPServer object
          early.  Switch to user and group "mandos", "nobody" or
          65534, if possible.  Enable IPv6_TCPServer *after* switching
          user.

* mandos-keygen (KEYDIR): Changed to "/etc/keys/mandos".

* mandos.xml (FILES): Changed PID file.
  (SECURITY): The server does need to be privileged, but switches to a
              non-privileged user.

* plugin-runner.xml (EXAMPLE): Changed long example to something more
                               realistic.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
4
<!ENTITY VERSION "1.0">
5
5
<!ENTITY COMMANDNAME "plugin-runner">
6
 
<!ENTITY TIMESTAMP "2008-09-19">
 
6
<!ENTITY TIMESTAMP "2008-09-05">
7
7
]>
8
8
 
9
9
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
36
36
    </copyright>
37
37
    <xi:include href="legalnotice.xml"/>
38
38
  </refentryinfo>
39
 
  
 
39
 
40
40
  <refmeta>
41
41
    <refentrytitle>&COMMANDNAME;</refentrytitle>
42
42
    <manvolnum>8mandos</manvolnum>
48
48
      Run Mandos plugins, pass data from first to succeed.
49
49
    </refpurpose>
50
50
  </refnamediv>
51
 
  
 
51
 
52
52
  <refsynopsisdiv>
53
53
    <cmdsynopsis>
54
54
      <command>&COMMANDNAME;</command>
55
55
      <group rep="repeat">
56
56
        <arg choice="plain"><option>--global-env=<replaceable
57
 
        >ENV</replaceable><literal>=</literal><replaceable
 
57
        >VAR</replaceable><literal>=</literal><replaceable
58
58
        >value</replaceable></option></arg>
59
59
        <arg choice="plain"><option>-G
60
 
        <replaceable>ENV</replaceable><literal>=</literal><replaceable
 
60
        <replaceable>VAR</replaceable><literal>=</literal><replaceable
61
61
        >value</replaceable> </option></arg>
62
62
      </group>
63
63
      <sbr/>
170
170
    <variablelist>
171
171
      <varlistentry>
172
172
        <term><option>--global-env
173
 
        <replaceable>ENV</replaceable><literal>=</literal><replaceable
 
173
        <replaceable>VAR</replaceable><literal>=</literal><replaceable
174
174
        >value</replaceable></option></term>
175
175
        <term><option>-G
176
 
        <replaceable>ENV</replaceable><literal>=</literal><replaceable
 
176
        <replaceable>VAR</replaceable><literal>=</literal><replaceable
177
177
        >value</replaceable></option></term>
178
178
        <listitem>
179
179
          <para>
247
247
          </para>
248
248
        </listitem>
249
249
      </varlistentry>
250
 
      
 
250
 
251
251
      <varlistentry>
252
252
        <term><option>--disable
253
253
        <replaceable>PLUGIN</replaceable></option></term>
261
261
          </para>       
262
262
        </listitem>
263
263
      </varlistentry>
264
 
      
 
264
 
265
265
      <varlistentry>
266
266
        <term><option>--enable
267
267
        <replaceable>PLUGIN</replaceable></option></term>
276
276
          </para>
277
277
        </listitem>
278
278
      </varlistentry>
279
 
      
 
279
 
280
280
      <varlistentry>
281
281
        <term><option>--groupid
282
282
        <replaceable>ID</replaceable></option></term>
289
289
          </para>
290
290
        </listitem>
291
291
      </varlistentry>
292
 
      
 
292
 
293
293
      <varlistentry>
294
294
        <term><option>--userid
295
295
        <replaceable>ID</replaceable></option></term>
302
302
          </para>
303
303
        </listitem>
304
304
      </varlistentry>
305
 
      
 
305
 
306
306
      <varlistentry>
307
307
        <term><option>--plugin-dir
308
308
        <replaceable>DIRECTORY</replaceable></option></term>
365
365
          </para>
366
366
        </listitem>
367
367
      </varlistentry>
368
 
      
 
368
 
369
369
      <varlistentry>
370
370
        <term><option>--version</option></term>
371
371
        <term><option>-V</option></term>
377
377
      </varlistentry>
378
378
    </variablelist>
379
379
  </refsect1>
380
 
  
 
380
 
381
381
  <refsect1 id="overview">
382
382
    <title>OVERVIEW</title>
383
383
    <xi:include href="overview.xml"/>
403
403
      code will make this plugin-runner output the password from that
404
404
      plugin, stop any other plugins, and exit.
405
405
    </para>
406
 
    
 
406
 
407
407
    <refsect2 id="writing_plugins">
408
408
      <title>WRITING PLUGINS</title>
409
409
      <para>
416
416
        console.
417
417
      </para>
418
418
      <para>
419
 
        If the password is a single-line, manually entered passprase,
420
 
        a final trailing newline character should
421
 
        <emphasis>not</emphasis> be printed.
422
 
      </para>
423
 
      <para>
424
419
        The plugin will run in the initial RAM disk environment, so
425
420
        care must be taken not to depend on any files or running
426
421
        services not available there.
571
566
      <para>
572
567
        Run plugins from a different directory, read a different
573
568
        configuration file, and add two options to the
574
 
        <citerefentry><refentrytitle >mandos-client</refentrytitle>
 
569
        <citerefentry><refentrytitle >password-request</refentrytitle>
575
570
        <manvolnum>8mandos</manvolnum></citerefentry> plugin:
576
571
      </para>
577
572
      <para>
578
573
 
579
574
<!-- do not wrap this line -->
580
 
<userinput>&COMMANDNAME;  --config-file=/etc/mandos/plugin-runner.conf --plugin-dir /usr/lib/mandos/plugins.d --options-for=mandos-client:--pubkey=/etc/keys/mandos/pubkey.txt,--seckey=/etc/keys/mandos/seckey.txt</userinput>
 
575
<userinput>&COMMANDNAME;  --config-file=/etc/mandos/plugin-runner.conf --plugin-dir /usr/lib/mandos/plugins.d --options-for=password-request:--pubkey=/etc/keys/mandos/pubkey.txt,--seckey=/etc/keys/mandos/seckey.txt</userinput>
581
576
 
582
577
      </para>
583
578
    </informalexample>
591
586
      non-privileged.  This user and group is then what all plugins
592
587
      will be started as.  Therefore, the only way to run a plugin as
593
588
      a privileged user is to have the set-user-ID or set-group-ID bit
594
 
      set on the plugin executable file (see <citerefentry>
 
589
      set on the plugin executable files (see <citerefentry>
595
590
      <refentrytitle>execve</refentrytitle><manvolnum>2</manvolnum>
596
591
      </citerefentry>).
597
592
    </para>
625
620
      <manvolnum>8</manvolnum></citerefentry>,
626
621
      <citerefentry><refentrytitle>password-prompt</refentrytitle>
627
622
      <manvolnum>8mandos</manvolnum></citerefentry>,
628
 
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
 
623
      <citerefentry><refentrytitle>password-request</refentrytitle>
629
624
      <manvolnum>8mandos</manvolnum></citerefentry>
630
625
    </para>
631
626
  </refsect1>