1 | .TH BLANCHE 1 "31 Jul 2012" "Project Athena" |
---|
2 | \" RCSID: $HeadURL: svn+ssh://svn.mit.edu/moira/trunk/moira/man/blanche.1 $ $Id: blanche.1 4083 2012-08-06 15:54:53Z zacheiss $ |
---|
3 | .SH NAME |
---|
4 | blanche \- examine and modify memberships in Moira lists |
---|
5 | .SH SYNOPSIS |
---|
6 | .B blanche listname [options] |
---|
7 | .SH DESCRIPTION |
---|
8 | .I Blanche |
---|
9 | is a tool for maintaining the membership of Moira lists. It is more |
---|
10 | limited than the menu-oriented listmaint, but has a more traditional |
---|
11 | unix user interface which makes it easier to use in scripts. It can |
---|
12 | also read a set of list members from a file and synchronize the list |
---|
13 | in Moira to that file. |
---|
14 | |
---|
15 | Whenever a member is specified, it may be specified explicitly, as |
---|
16 | user:username, list:listname, string:string_text, or |
---|
17 | kerberos:principal_name; or the type may |
---|
18 | be left off if the member name is non ambiguous. A member having |
---|
19 | punctuation characters (such as at-sign) in it is immediately assumed |
---|
20 | to be a string. Otherwise, |
---|
21 | .B blanche |
---|
22 | will try first as a user, and if that fails will try the member as a |
---|
23 | list, and finally fall back to string if both of those fail. |
---|
24 | |
---|
25 | The default output mode is similar, in that usernames are displayed |
---|
26 | without any identifying type, lists are always displayed as |
---|
27 | list:listname, and strings will only be labeled as a string if they do |
---|
28 | not have any punctuation characters in them. Kerberos members will |
---|
29 | always have the type displayed. |
---|
30 | .SH OPTIONS |
---|
31 | .IP \fB-add\ \fImember\ \fRor\ \fB-a\ \fImember\fR |
---|
32 | This will add the specified member to the target list. This option |
---|
33 | may be specified multiple times with different members on the same |
---|
34 | command line. |
---|
35 | .IP \fB-delete\ \fImember\ \fRor\ \fB-d\ \fImember\fR |
---|
36 | This will delete the specified member from the target list. This |
---|
37 | option may be specified multiple times with different members on the |
---|
38 | same command line. |
---|
39 | .IP \fB-file\ \fIfilename\ \fRor\ \fB-f\ \fIfilename\fR |
---|
40 | This will read a list of members from the named file, and make those |
---|
41 | members be the membership of the target list. It will do this by |
---|
42 | extracting the current membership of the target list from Moira, then |
---|
43 | diff these two sets of members, and determine who has to be added and |
---|
44 | deleted from the list so it will match the contents of the file. |
---|
45 | |
---|
46 | The file contains one member per line. It may have blank lines. |
---|
47 | Anything following a semicolon is considered a comment. If the |
---|
48 | .I filename |
---|
49 | is "-", |
---|
50 | .B blanche |
---|
51 | will read from standard input. |
---|
52 | .IP \fB-info\ \fRor\ \fB-i\fR |
---|
53 | Display other information about the target list besides the |
---|
54 | membership. This includes the description, flags, maillist and group |
---|
55 | status, owner, and last modification. |
---|
56 | .IP \fB-addlist\ \fIfilename\ \fRor\ \fB-al\ \fIfilename\fR |
---|
57 | This will read a list of members from the named file, and add those |
---|
58 | members to the target list. The file format is specified above. |
---|
59 | .IP \fB-deletelist\ \fIfilename\ \fRor\ \fB-dl\ \fIfilename\fR |
---|
60 | This will read a list of members from the named file, and delete those |
---|
61 | members from the target list. The file format is specified above. |
---|
62 | .IP \fB-members\ \fRor\ \fB-m\fR |
---|
63 | Display the membership of the target list. This is the default if no |
---|
64 | other options are specified. |
---|
65 | .IP \fB-users\ \fRor\ \fB-u\fR |
---|
66 | Only display list members that are users (not lists or strings). If |
---|
67 | none of \fB-users, -lists, -strings, \fRor \fB-kerberos\fR is specified, then all |
---|
68 | of them will be displayed. |
---|
69 | .IP \fB-lists\ \fRor\ \fB-l\fR |
---|
70 | Only display list members that are lists (not users or strings). If |
---|
71 | none of \fB-users, -lists, -strings, \fRor \fB-kerberos\fR is specified, then all |
---|
72 | of them will be displayed. |
---|
73 | .IP \fB-strings\ \fRor\ \fB-s\fR |
---|
74 | Only display list members that are strings (not users or lists). If |
---|
75 | none of \fB-users, -lists, -strings, \fRor \fB-kerberos\fR is specified, then all |
---|
76 | of them will be displayed. |
---|
77 | .IP \fB-kerberos\ \fRor\ \fB-k\fR |
---|
78 | Only display list members that are Kerberos principals (not users, |
---|
79 | lists, or strings). If |
---|
80 | none of \fB-users, -lists, -strings, \fRor \fB-kerberos\fR is |
---|
81 | specified, then all of them will be displayed. |
---|
82 | .IP \fB-recursive\ \fRor\ \fB-r\fR |
---|
83 | When displaying the membership of the target list, recursively track |
---|
84 | down all lists that are members of the target, and get their |
---|
85 | membership. Only the user and string members will be displayed, not |
---|
86 | the intermediate lists. |
---|
87 | .IP \fB-verbose\ \fRor\ \fB-v\fR |
---|
88 | Give more information. With the info flag, it will also display the |
---|
89 | number of members on the list. With the members flag, it will display |
---|
90 | the type of each member, not just those that are ambiguous. When |
---|
91 | changing the membership of a list, it will print a message for each |
---|
92 | member added or deleted. |
---|
93 | .IP \fB-noauth\ \fRor\ \fB-n\fR |
---|
94 | Do not attempt to perform Kerberos authentication with the Moira server. |
---|
95 | Retrieval operations on not-hidden lists are still possible without |
---|
96 | tickets. |
---|
97 | .IP \fB-database\ \fIhost:port\ \fRor\ \fB-db\ \fIhost:port\fR |
---|
98 | Use the specified host and port to contact the Moira database instead of |
---|
99 | the default server. Both may be symbolic names or numbers. If the |
---|
100 | port is left off, the default Moira server port will be assumed. The |
---|
101 | database chosen will be the one specified on the command line, specified |
---|
102 | in the MOIRASERVER environment variable, the hesiod "moira" sloc entry, |
---|
103 | or the compiled in default, in that order or preference. |
---|
104 | .IP \fB-create\ \fRor\ \fB-C\fR |
---|
105 | Create the named list (assuming you have list-creation priviliges in |
---|
106 | Moira.) By default it will be active, private, visible, a mailing |
---|
107 | list, and not a group, although this can be changed with the flags |
---|
108 | below. |
---|
109 | .IP \fB-rename\ \fInewname\ \fRor\ \fB-R\ \fInewname\fR |
---|
110 | Rename the list to the new name. |
---|
111 | .IP \fB-public\ \fR(\fB-P\fR)\ \fRor\ \fB-private\ \fR(\fB-NP\fR) |
---|
112 | Make the list public or private. (Users can add themselves to public |
---|
113 | lists.) |
---|
114 | .IP \fB-active\ \fR(\fB-A\fR)\ \fRor\ \fB-inactive\ \fR(\fB-I\fR) |
---|
115 | Make the list active or inactive. (Inactive lists are not propagated |
---|
116 | to the mailhubs and fileservers.) |
---|
117 | .IP \fB-visible\ \fR(\fB-V\fR)\ \fRor\ \fB-hidden\ \fR(\fB-H\fR) |
---|
118 | Make the list visible or hidden. (Hidden lists are harder to find the |
---|
119 | membership and admistrators of.) |
---|
120 | .IP \fB-mail\ \fR(\fB-M\fR)\ \fRor\ \fB-notmail\ \fR(\fB-NM\fR) |
---|
121 | Toggle whether or not the list is a mailing list. |
---|
122 | .IP \fB-group\ \fR(\fB-G\fR)\ \fRor\ \fB-notgroup\ \fR(\fB-NG\fR) |
---|
123 | Toggle whether or not the list is a group. (Groups can be used on the |
---|
124 | ACLs of directories in AFS.) |
---|
125 | .IP \fB-nfs\ \fR(\fB-N\fR)\ \fRor\ \fB-notnfs\ \fR(\fB-NN\fR) |
---|
126 | Toggle whether or not the list is an NFS group. (NFS groups are |
---|
127 | included in a user's hesiod group list and in Moira-generated NFS |
---|
128 | credentials file, and can be used for controlling access to NFS exported |
---|
129 | filesystems.) |
---|
130 | .IP \fB-desc\ \fIdescription\ \fRor\ \fB-D\ \fIdescription\fR |
---|
131 | Set the description of the list. |
---|
132 | .IP \fB-owner\ \fIowner\ \fRor\ \fB-O\ \fIowner\fR |
---|
133 | Set the owner of the list. The owner is specified like a list member, |
---|
134 | except that list owners can never be strings. |
---|
135 | .IP \fB-memacl\ \fImembership_acl\ \fRor\ \fB-MA\ \fImembership_acl\fR |
---|
136 | Set the mebership acl of the list; members of this acl will be allowed |
---|
137 | to add and remove members of the list, but not update any other |
---|
138 | characteristics. The membership acl is specified like a list member, |
---|
139 | except that it can never be a string. |
---|
140 | To return a list to having default membership access control |
---|
141 | conditions, set the membership acl to "NONE". |
---|
142 | .IP \fB-tags\ \fRor\ \fB-t\fR |
---|
143 | Display 'tags' in parentheses next to each entry, where applicable. |
---|
144 | Tags are used when converting lists to Athena 9 access files or Discuss |
---|
145 | meeting ACLs. |
---|
146 | .IP \fB-addtagged\ \fImember\ tag\ \fRor\ \fB-at\ \fImember\ tag\fR |
---|
147 | This will add the specified member to the target list with the |
---|
148 | specified tag. |
---|
149 | .IP \fB-changetag\ \fImember\ tag\ \fRor\ \fB-ct\ \fImember\ tag\fR |
---|
150 | This will change the specified member's tag to the specified tag. You |
---|
151 | may specify an empty string to clear an existing tag. |
---|
152 | .IP \fB-mailman\ \fR(\fB-mm\fR)\ \fRor\ \fB-notmailman\ \fR(\fB-nmm\fR) |
---|
153 | Toggle whether or not the list is a Mailman list. Mailman lists cannot |
---|
154 | also be used as groups or NFS groups. |
---|
155 | .IP \fB-mailman_server\ \fIserver\ \fRor\ \fB-ms\ \fIserver\fR |
---|
156 | Use the specified server instead of the default when making a list a |
---|
157 | mailman list. |
---|
158 | |
---|
159 | .SH AUTHORS |
---|
160 | Mark Rosenstein and Jay Berkenbilt. |
---|
161 | .SH SEE ALSO |
---|
162 | listmaint(1) |
---|
163 | |
---|
164 | .SH DIAGNOSTICS |
---|
165 | The exit status from blanche is not as useful as you might hope. An |
---|
166 | exit status of 2 indicates a problem contacting the server or reading |
---|
167 | an input file. An exit status of 1 indicates that at least one add or |
---|
168 | delete failed, and an exit status of 0 indicates that all adds and |
---|
169 | deletes succeeded. If you need the exit status to be meaningful, you |
---|
170 | should only do one add or delete at a time. |
---|
171 | |
---|
172 | .SH NOTES |
---|
173 | The listname doesn't actually have to be the first argument, but if |
---|
174 | you put it anywhere else, it's easy to get the other arguments in the |
---|
175 | wrong order and do something other than what you intended. |
---|