root/doc/remote-admin.txt

Revision 303:6f57b7328cb8, 7.0 KB (checked in by Anselm Lingnau <anselm@…>, 9 months ago)

The Great Renaming: Change all command names to 'pl-*' and directory to '.pl'.
The idea behind this is to emphasise that the software is called ?*Project*
Lancelot? as opposed to plain ?Lancelot?. There is apparently a KDE tool that
goes by the name of ?Lancelot?, and we want to make clear that this is separate
and different. Also, Project Lancelot has been around for a lot longer!

Line 
1= Remote Administration of Project Lancelot Lists =
2
3== Abstract ==
4
5This document explains how to administer Project Lancelot mailing
6lists by e-mail.
7
8== Prerequisites ==
9
10The methods described here require a version of Project Lancelot that
11is at least 0.2.99. We assume the following:
12
13 * We are dealing with a list called ''list@example.com''.
14
15 * The list was created by the system administrator of
16   ''example.com'', who we shall call ''sysadmin@example.com''.
17
18 * The list is to be administered remotely by the list administrator,
19   who we shall call ''listadmin@example.com''.
20
21We explain remote administration from the list administrator's point
22first, stipulating that everything has been set up correctly by the
23system administrator. Issues pertaining to list setup for remote
24administration are explained at the end of this document.
25
26== Remote Administration for List Administrators ==
27
28=== Introduction ===
29
30List administrators can ''administer'' Project Lancelot by sending
31bahn.specially formatted e-mail messages to the list's ''administrative
32address'', which is (by convention) ''list+admin@example.com''
33(''NOTE:'' Depending on local usage this address may be different in
34practice. In particular, it could be ''list-admin@example.com'').
35
36The following operations are allowed in principle:
37
38 * Adding new subscribers to the list
39
40 * Removing existing subscribers from the list
41
42 * Changing the properties of an existing subscription
43
44 * Obtaining a list of current subscribers
45
46 * Retrieving and changing the list configuration
47
48Any of these operations may be disallowed by the system administrator
49on a per-list basis.
50
51
52=== Authentication ===
53
54It is clear that not just anybody is supposed to be able to change the
55mailing list. Therefore, as a list administrator you must
56''authenticate'' a message to ''list+admin@example.com'' so that
57Project Lancelot can be reasonably sure that the message was, in fact,
58sent by you. There are currently two ways of doing so. Your system
59administrator will tell you which one is in operation.
60
61 * ''Password authentication.'' The first line of text in your message
62   must contain a secret password, as in »'''password''' secret«. (Your
63   system administrator will be able to tell you the correct
64   password.) This method is reasonably secure; it is what most other
65   mailing list programs use, too.
66
67 * ''GnuPG authentication.'' Your message must be signed using a GnuPG
68   key whose public key is part of the list's administrator
69   keyring. (If this is all Greek to you, then have your system
70   administrator explain it in more detail.) This is about as secure
71   as things get in e-mail.
72
73
74=== Adding New Subscribers ===
75
76To add a new subscriber, send an authenticated message like
77{{{
78  subscribe Alfred E. Newman <alfred@example.net>
79}}}
80to ''list+admin@example.com''. (Use
81{{{
82  password secret
83  subscribe Alfred E. Newman <alfred@example.net>
84}}}
85if your list uses password authentication and your password is
86''secret''. We won't bother repeating this in the other examples.)
87
88You may leave off the name and give just the e-mail address:
89{{{
90  subscribe alfred@example.net
91}}}
92
93You may add several subscribers either by giving multiple
94'''subscribe''' commands as in
95{{{
96  subscribe Alfred E. Newman <alfred@example.net>
97  subscribe Mickey Mouse <mickey.mouse@example.org>
98}}}
99or by using an ''end marker'' as in
100{{{
101  subscribe <<END
102  Alfred E. Newman <alfred@example.net>
103  Mickey Mouse <mickey.mouse@example.org>
104  END
105}}}
106The second method is convenient if you have to add a lot of
107subscribers from a pre-existing list. Whatever comes after the
108'''<<''' on the first line of the command must occur on a line by
109itself at the end of the list.
110
111By default, subscribers are added as regular (non-digest) subscribers
112with no special options such as ''nomail''. To add a subscriber as a
113digest or non-receiving subscriber, use
114{{{
115  subscribe --digest Alfred E. Newman <alfred@example.net>
116  subscribe --nomail Mickey Mouse <mickey.mouse@example.org>
117}}}
118where »--digest« adds a digest subscriber, and »--nomail« adds an
119address that will not receive mail but will be allowed to submit
120messages to the list.
121
122
123=== Removing Subscribers ===
124
125To remove an existing subscriber, send a message like
126{{{
127  unsubscribe alfred@example.net
128}}}
129You just need to provide the subscriber's e-mail address (their name
130will be ignored if given). There are no options for unsubscribing, but
131you can mass-unsubscribe a list of subscribers using the end-marker
132method as shown in the previous section.
133
134
135=== Obtaining a List of Subscribers ===
136
137To receive a message containing a list of subscribers to the mailing
138list, send a message like
139{{{
140  list
141}}}
142You will receive a list looking like
143{{{
144  SA---- admin@example.com List Administrator
145  S---n- mickey.mouse@example.net Mickey Mouse
146  S--d-- alfred@example.org Alfred E. Newman
147}}}
148This list is ordered by domain and gives all subscribers' addresses
149and (if available) names. At the beginning of each line there is a
150word of ''flags'' telling which options are set for this subscription:
151''S'' means the subscription is ''active''. The next five characters
152are either ''-'' (if the corresponding option is not set) or one of
153the option letters ''A'' (list administrator), ''M'' (list moderator),
154''d'' (digest subscriber), ''n'' (non-receiving subscriber), ''m''
155(moderated subscriber).
156
157You can give a search pattern on the '''list''' command in order to
158restrict the resulting list to a certain subset of the
159subscribers. For example,
160{{{
161  list *@example.com
162}}}
163would list just the subscribers in the ''example.com'' domain.
164
165
166=== Changing Subscription Options ===
167
168(To be written.)
169
170
171=== Retrieving and Changing the List Configuration ===
172
173(To be written.)
174
175
176== Setting Up a List for Remote Administration ==
177
178To enable remote administration for a list, the system administrator
179must add an appropriate workflow like
180{{{
181  mail.workflow.admin = authenticate(level=1) admin
182}}}
183This enables the ''list+admin@example.com'' address and requires
184password authentication (minimally -- GnuPG authentication would also
185be fine).
186
187The system administrator must also designate one or more list
188administrators and configure a suitable authentication method for
189them:
190{{{
191  pl-subchange --admin --auth=password:secret list@example.com \
192      listadmin@example.com
193}}}
194
195There are some list configuration parameters that deal with remote
196administration:
197
198'''admin.allowed'''::
199  If this is set, it contains a space-delimited list of commands that
200  the remote administration interface will honour. Use this, e.g., to
201  prevent list administrators from changing the list configuration.
202
203'''admin.setconfig.refuse''::
204  If this is set, it contains a regular expression to be applied to
205  the names of configuration parameters in a '''setconfig''' command.
206  Any parameter whose name matches this regular expression will be
207  ignored.
208
209'''admin.setconfig.allow''::
210  If this is set, it contains a regular expression to be applied to
211  the names of configuration parameters in a '''setconfig''' command.
212  Any parameter whose name does not match this regular expression
213  will be ignored.
Note: See TracBrowser for help on using the browser.