Heading:qjk40(635) Maintain Reference Guidey756qjk40 Page Numbers: Yes X: 527 Y: 10.5"qjk40 Inter-Office Memorandumz18592l4445y762\f5b To Maintain Users Date February 1, 1982z18592l4445d2998e21(0,65535)(1,4445)(5,11684)(6,14146)\f1 2f0t2 1t0 14t6 1f1t0 4f0t7 1t0 From M. D. Schroeder Location Coyote Hillz18592l4445d2998y716e25\f1 4f0t2 1t0 15t6 1f1t0 8f0t7 1t0 Subject Reference Guide for Maintain, Version 4 Organization PARC/CSLz18592l4445d2998e25\f1 7f0t2 1t0 39t6 1f1t0 12f0t7 1t0 XEROX z18592l508y644e14(2116)\f2 5f0 Filed on: [*]Maintain.presse30 Update for Maintain release of January 29, 1982e12jk40 e12jk40 Maintain is the administrative interface for the Grapevine registration data base. It can be run inside of Laurel, as a Cascade tool, and in a Lily server. Using Maintain a user can inspect and modify information in the Grapevine registration data base about message system users, distribution lists, servers, services, and registries. This memo describes all the commands available in Maintain.e12jk40\i8I156i8I217i8bI1B To Run Maintaine12jk40\b15Bi To run Maintain in Laurel, first be sure a copy of Maintain.Laurel is on your local disk. It is stored in the directory of your neighborhood file server. Then bug the Laurel "Run" command and type "Maintain" into the brackets.e12jk40\7i8I222i To run Maintain in Cascade, obtain Maintain.bcd from the normal Cascade repository and then invoke it from the Simple Exec.e12jk40\7i8I To run Maintain from a Lily server, first connect to one through the data line scanner (DLS) or Chat, then type the "m" command. The Lily servers all are registered under both NLS names "Ernestine" and "Ern". Connecting to either name from any chat or DLS will locate the nearest one.e12jk40\7i8I The Registration Data Basee12jk40\b All items in the Grapevine registration data base are identified by an RName. An RName has the form firstPart.registry, for example "Schroeder.pa" and "CSL^.pa". You must always type the complete RName when inspecting or manipulating an entry with Maintain. As a convenience to users, the names of distribution lists always have "^" as the last character of their firstPart.e12jk40\101i18I131i8I109i9I There are two types of entries in the Grapevine regstration data base: individuals and groups. Individuals represent human users and server computers. Groups represent distribution lists, access control lists, services, and other things. An individual entry has the following components: password, connect site, forwarding list, and inbox site list. The password is used to authenticate an individual when he logs in to Laurel, Maintain, and IFS' using Grapevine authentication. The connect site is used only for an individual that represents a server computer; it is a Pup internet address where a client can connect to that server. If the forwarding list is not empty, then all messages to this individual will be sent instead to the names in the forwarding list. An individual should not be forwarded to itself. The inbox site list is the names of message servers, in preference order, where messages for the individual will be buffered.e12jk40\71i11I4i7I636i7I An entry for a group has the following components: remark, members, owners, and friends. The remark is a human readable character string that indicates the purpose of the group. The members are the RNames contained in the group. They can be both individuals and other groups. When sending a message to a group as a distribution list, then all individual members of the group and contained groups will receive the message. When using a group as an access control list, then all individual members of the group and contained groups will have the access permission in question. The owners and friends are access control lists for the group. Their semantics is explained in the next section. As an owner or friend, "*" means anyone, "*.registry" means anyone in that registry.e12jk40 Access Controlse12jk40\b15B Any logged in user of Maintain can do any command listed below that just reads information out of the data base. Control on changes to the data base is provided by the owners and friends lists on groups, and by the owners and friends lists on registries. The owners of registry "reg" are defined by the owners list of the group "reg.gv". The friends of registry "reg" are defined by the frinds list of the group "reg.gv". The access control rules are as follows:e12jk40\22i8I 1) Any individual can set the password and set the connect site of his own entry.e12jk40 2) A friend of a group can add and remove his own name from the membership list of that group.e12jk40 3) An owner of a group can add and remove owners, friends, and members for the group. An owner also can set the remark.e12jk40 4) A friend of a registry has the ownership privileges listed in 3) for all groups in the registry and the permissions listed in 1) for all individuals in the registry. A friend of the registry also can set an individul's forwarding list.e12jk40 5) An owner of a registry has all the permissions listed in 4) plus the permission to create and delete groups or individuals in the registry, and permission to add and remove mailboxes. Messages sent to "owners-firstPart^.reg" go to the RNames on the owners list of "firstPart^.reg". If there are no owners, then such messages go to the friends of the registry instead. Sending a message to the owners of a group is a good way to request a change to a protected group, i.e., have your name added as a member when your not a friend of the group. Messages sent to "Registrar.reg" go to a person who is an owner and friend of the registry reg. Sending a message to the registrar for your registry is a good way to request something be done that you don't have permission to do, e.g. create a new group or change your forwarding list.e12jk40\214i9I2i3I42i9I2i3I190i4I101i3I60i3I137i4I Talking to Maintaine12jk40\b19B Maintain has a teletype style interface that is a bit hard to get used to. Commands are indicated by typing their abbreviation. You must use the correct abbreviation. Typing the full name will not work. Frequently Maintain will guess the string to be used as a command argument. If it has guessed correctly then typing SPACE, ESCAPE, or RETURN will cause it to accept the guess and go on. Typing BACKSPACE will allow editing of the guess. Typing another character will erase the guess and allow you to provide the argument value. Arguments are terminated by SPACE, ESCAPE, or RETURN. Typing DEL will abort a command. The prompt "GV:" means that Maintain is ready for your next command.e12jk40\i8I210i8I429i8I Maintain checks the values you type as argument when it can. If they are not valid then it will tell you and not complete the command. Sometimes Maintain will prompt you with a guess about what you meant when you provide a syntactically invalid argumente12jk40\i8I139i8I Commands that require confirmation display "[Confirm]" at the end of the command line. RETURN or "y" will confirm such a command. DEL or "n" will abort it.e12jk40 Commandse12jk40\b8B Following is an alphabetical list of the Maintain commands. The underlined characters in the command name are the abbreviation. To invoke the command, type only the abbreviation. Characters that are not underlined are those displayed by Maintain as a prompt. arg1, arg2, etc are the arguments you type to Maintain. To do any command you must login first. e12jk40\41i8I16u10U165i8I15u4U2u4U36i8I Add Forwarding to destination: arg1 for individual arg2e12jk40\u1U3u2U25u4U16u4U The RName specified as arg1 is added to the forwarding list of the individual specified as arg2. If this is the first item in the forwarding list, then any messages that have accumulated in inboxes for this individual will be remailed according to the forwarding list. If the forwarding field of an individual is set to that individual's name, thus creating a loop, message to the individual will disappear into a black hole without any error notification. Don't do this.l3680e12jk40\23u4U64u4U Add Friend: arg1 to group: arg2e12jk40\u1U3u2U6u4U11u4U The RName specified as arg1 is added to the friends list of the group specified as arg2.l3680e12jk40\23u4U56u4U Add List of members from arg1: to group: arg2e12jk40\u1U3u1U20u4U12u4U Arg1 is the name of a file on the local disk (you can't use this command from Lily). The file must contain a sequence of complete RNames, separated by commas. The RNames must be in alphabetic order. If all RNames specified are valid and in order, then they are added as members to the group specified by arg2. If any name in the file is invalid or out of order then no members are added to the group. The command will tell you only about the first mistake. If there are several out-of-order or invalid names, then you may have to try several times, fixing one bad name in the file each time. This can be annoying. It is ok if some of the names are already members of the group.l3680e12jk40\u4U303u4U Add Mailbox at server: arg1 for individual: arg2e12jk40\u1U3u2U17u4U17u4U The server name specified as arg1 is added to the end of the inbox site list for the individual specified as arg2. Maintain will accept only the full name for a Grapevine message server, including the final ".ms".l3680e12jk40\29u4U76u4U3i8I Add Member: arg1 to group: arg2e12jk40\u1U3u2U6u4U11u4U The RName specified as arg1 is added as a member to the group specified as arg2.l3680e12jk40\23u4U48u4U Add Owner: arg1 to group: arg2e12jk40\u1U3u1U6u4U11u4U The RName specified as arg1 is added as a owner of the group specified as arg2.l3680e12jk40\23u4U47u4U Create Group: arg1e12jk40\u1U6u1U6u4U A new group with the name specified by arg1 is created. You must provide a complete RName in an existing registry. Remember that, by convention, distribution list names have an "^" as the last character in their firstPart. Only a registry owner can create a new group in a registry. l3680e12jk40\39u4U171i9I Create Individual: arg1 with password: arg2e12jk120\u1U6u1U11u4U16u4U A new individual with the name specified by arg1 and the password specified by arg2 is created. You must provide a complete RName in an existing registry. Only a registry owner can create a new individual in a registry. After this command has completed Maintain prompts you with a "Add Mailbox" command. Normally you should use this prompt to start adding message servers to the inbox site list for the individual. Add the primary inbox server first. Typing DEL, however, will cancel this prompt. An individual with no inbox sites is an invalid recipient for messages, but Grapevine will still know the name and password so the individual can login to IFS's that use Grapevine authentication and can appear on groups that are used as IFS access control lists. l3680e12jk40\44u4U31u4U173i8I Delete Group: arg1 [Confirm]e12j\u1U6u1U6u4U The group with the name specified by arg1 is deleted from the registration data base. The deleted name cannot be reused for 14 days. After this command has completed Maintain prompts you with a "Remove All Memberships" command. Normally you should use this prompt to remove the deleted name from all groups in the same registry. Typing DEL, however, will cancel this prompt. l3680e12jk40\37u4U127i8I Delete Individual: arg1 [Confirm]e12j\u1U6u1U11u4U The individual with the name specified by arg1 is deleted from the registration data base. Any accumulated message for the individual are discarded. The deleted name cannot be reused for 14 days. After this command has completed Maintain prompts you with a "Remove All Memberships" command. Normally you should use this prompt to remove the deleted name from all groups in the same registry. Typing DEL, however, will cancel this prompt. l3680e12jk40\42u4U186i8I Initialize New Name from old name: arg1, creating new name: arg2e12jk60\u1U34u4U21u4U A copy of the entry named by the RName specified as arg1 is made and named with the RName specified as arg2. l3680e12jk40\52u4U47u4U Login Your Name Please: arg1 Your Password: arg2e12j\u1U23u4U16u4U Provide your name as arg1 and your password as arg2. Login is successful if the password matches that recorded in the data base for you.l3680e12jk40\21u4U22u4U Modify All Occurrences of R-Name: arg1 in groups in registry: arg2 to be R-Name: arg3e12j\u1U6u1U26u4U24u4U15u4U arg1 specifies any RName. arg2 names an existing registry. All groups in that registry are searched for occurances of arg1. In each group containing arg1 as a member, arg3 is added as a member and arg1 is removed. This takes a while.l3680e12jk40\u4U23u4U89u4U28u4U14u4U26u4U Remove All Memberships in registry: arg1 for R-Name: arg2e12j\u1U6u1U28u4U13u4U The RName arg2 is removed as a member from all groups in the registry specified by arg1. This takes a while.l3680e12jk40\10u4U69u4U Remove Friend: arg1 from group: arg2e12j\u1U6u2U6u4U13u4U The RName arg1 is removed from the friends list of the group specified as arg2.l3680e12jk40\10u4U60u4U Remove Forwarding to destination: arg1 from individual: arg2e12jk80\u1U6u2U25u4U18u4U The RName specified by arg1 is removed from the forwarding list of the individual specified by arg2.l3680e12jk40\23u4U68u4U Remove Mailbox at server: arg1 from individual: arg2e12j\u1U6u2U17u4U18u4U The message server name specified by arg1 is removed from the inbox site list of the individual specified by arg2. Any accumulated messages (in Grapevine inboxes only -- IFS mailfiles are not remailed) for the individual are remailed to the inbox at the head of the inbox site list for the individual.l3680e12jk40\37u4U68u4U Remove Member: arg1 from group: arg2e12j\u1U6u2U6u4U13u4U The RName specified by arg1 is removed as a member of the group specified by arg2.l3680e12jk40\23u4U50u4U Remove Owner: arg1 from group: arg2e12j\u1U6u1U6u4U13u4U The RName specified by arg1 is removed as an owner of the group specified by arg2.l3680e12jk40\23u4U50u4U Set Connect-site to be: arg1 for individual: arg2e12j\u1U3u1U19u4U17u4U The connect site of the individual specified by arg2 is set to the string specified by arg1.l3680e12jk40\48u4U35u4U Set Password to be: arg1 for individual: arg2e12jk60\u1U3u1U15u4U17u4U The password of the individual specified by arg2 is set to be the string specified as arg1.l3680e12jk40\44u4U38u4U Set Remark to be: arg1 for group: arg2e12jk60\u1U3u1U13u4U12u4U The remark of the group specified by arg2 is set to be the string specified as arg1. Imbedded spaces are allowed in arg1. This string will be truncated to 64 characters. It is terminated with RETURN or ESCAPE.l3680e12jk40\37u4U38u4U34u4U Type All Groups in registry: arg1 containing R-Name: arg2e12j\u1U4u1U23u4U20u4U This command lists the names of all groups in the registry specified by arg1 that contain the RName specified by arg2.l3680e12jk40\72u4U37u4U Type Entry for R-Name: arg1e12j\u1U4u1U17u4U This command displays the user visible components of the entry whose RName is specified.l3680e12jk40 Type Members of group: arg1e12jk80\u1U4u1U17u4U This command lists the members of the group whose RName is specified. "individuals.registry"and "groups.registry" are valid values for arg1. The first causes the names of all individuals in the registry to be displayed. The second causes the names of all groups in the registry to be displayed.l3680e12jk40\136u4U Verify All Groups in registry arg1e12jk60\u1U6u1U22u4U All the groups in the registry specified are inspected. The names of groups containing invalid RNames as members are displayed, along with the invalid members. This takes a while.l3680e12jk40 Verify Group: arg1e12jk40\u1U6u1U6u4U The group specified is inspected for invalid member names. The invalid names are displayed.l3680e12jk40 Verify Name: arg1e12j\u1U6u1U5u4U This command tells you whether the RName specified is recorded in the data base.l3680e12jk40 Quit [Confirm]e12j\u1U This command stops Maintain and returns control to the environment from which it was invoked.l3680e12jk40\19i8I