Should be 3DES
[wiki.git] / doc / moira.mdwn
1 ## Basic list management
2
3 Mailing lists at MIT come in two varieties --- Moira and Mailman. Moira lists don't have spam filtering, moderation, built-in archiving, or a number of other features. Mailman has far more features, but mostly requires administration through a web interface (which many people dislike) and Mailman lists cannot be used for access control (in AFS, or to own other lists).
4
5 Mailman lists can be administered through the [Mailman web interface](https://mailman.mit.edu/mailman/listinfo/).
6
7 For people uncomfortable with the command line, the standard tool for Moira list management is [Webmoira](https://groups.mit.edu/webmoira/). It's reasonably straightforward and has decent built-in help. It doesn't support membership ACLs, though (which allow giving somebody permission to modify a list's membership but nothing else about it).
8
9 At the command line, the usual list management tool is `blanche`. Use `blanche listname` to view the members of `listname`, or `blanche listname -i` to see the owner, description, and various other pieces of useful information. Use `man blanche` to see additional documentation.
10
11 ## Moira clients
12
13 <dl>
14 <dt>blanche</dt><dd>Command-line client for list management</dd>
15 <dt>stella</dt><dd>Command-line client for hostname management</dd>
16 <dt>eunice</dt><dd>Command-line client for printer management</dd>
17 <dt>stanley</dt><dd>Command-line client for user management (usually useful only to find your MIT ID number)</dd>
18 <dt>mitch</dt><dd>Command-line client for container management</dd>
19 <dt>mailmaint</dt><dd>Menu-driven interface to basic list information</dd>
20 <dt>listmaint</dt><dd>Menu-driven interface to basic list management and information</dd>
21 <dt>moira</dt><dd>Menu-driven interface to Moira</dd>
22 </dl>
23
24 ## Making Moira queries directly
25
26 Ordinarily, you would use one of the clients above to work with Moira. Behind the scenes, they all make certain "queries" to moira to get and set information. In some cases, it may be useful to make those queries directly, for example because none of the clients expose it.
27
28 The `mrtest` command lets you connect to Moira and make queries.
29
30 The `qy` command in the `ops` locker is a thin wrapper over `mrtest` that automatically connects, authenticates, and then runs a specified query.
31
32 To find the available queries, you can run `qy _list_queries`. Most queries have a long name and a four letter abbreviation. To see what parameters a query takes, use `qy _help query-name`.
33
34 Many queries will return a large number of records. To display only certain fields, use `-f field1,field2,...`. To display all fields on one line, use `-s`.
35
36 ### List queries
37
38 Most list queries are more convenient to make using `blanche`. Two big exceptions are `get_ace_use` (`gaus`) and `get_lists_of_member` (`glom`). The former allows you to see what objects (lists, machines, filesystems, etc.) in Moira an object (list, user, etc.) controls. The latter allows you to what lists an object is on.
39
40 You can use them like `qy gaus rlist sipb-acl`. That finds what objects the list (`list`) sipb-acl (`sipb-acl`) can recursively (`r`) administer (`gaus`). The third argument (`sipb-acl`) should be the name of the object that you're trying to examine. The second argument (`list`) is in two parts. The second part should indicate what type of object the third argument is --- `list`, `user`, or `kerberos`. That can be prefixed with `r` to indicate that we're interested in control via another list, or left alone to indicate that we only care about direct ownership. Finally, the first argument should be the query (`gaus` to what something controls or `glom' to find what lists something is on).