[25817] | 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 $ |
---|
[23095] | 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.) |
---|
[25198] | 125 | .IP \fB-nfs\ \fR(\fB-N\fR)\ \fRor\ \fB-notnfs\ \fR(\fB-NN\fR) |
---|
[23095] | 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". |
---|
[25817] | 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. |
---|
[23095] | 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. |
---|