Inter-Office MemorandumToMaintain UsersDateFebruary 1, 1982FromM. D. SchroederLocationCoyote HillSubjectReference Guide for Maintain, Version 4OrganizationPARC/CSLXEROX Filed on: [*]Maintain.pressUpdate for Maintain release of January 29, 1982Maintain is the administrative interface for the Grapevine registration data base. It can be runinside of Laurel, as a Cascade tool, and in a Lily server. Using Maintain a user can inspect andmodify information in the Grapevine registration data base about message system users, distributionlists, servers, services, and registries. This memo describes all the commands available in Maintain.To Run MaintainTo run Maintain in Laurel, first be sure a copy of Maintain.Laurel is on your local disk. It isstored in the directory of your neighborhood file server. Then bug the Laurel "Run"command and type "Maintain" into the brackets.To run Maintain in Cascade, obtain Maintain.bcd from the normal Cascade repository and theninvoke it from the Simple Exec.To run Maintain from a Lily server, first connect to one through the data line scanner (DLS) orChat, 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 nearestone.The Registration Data BaseAll items in the Grapevine registration data base are identified by an RName. An RName has theform firstPart.registry, for example "Schroeder.pa" and "CSL^.pa". You must always type thecomplete RName when inspecting or manipulating an entry with Maintain. As a convenience tousers, the names of distribution lists always have "^" as the last character of their firstPart.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, accesscontrol lists, services, and other things.An individual entry has the following components: password, connect site, forwarding list, andinbox 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 individualthat represents a server computer; it is a Pup internet address where a client can connect to thatserver. If the forwarding list is not empty, then all messages to this individual will be sent insteadto the names in the forwarding list. An individual should not be forwarded to itself. The inboxsite list is the names of message servers, in preference order, where messages for the individual willbe buffered.]gpi c8q]rX -q7Br ]q]r-q7Br Yq]r'-q 7BrSsr M# J/ D}trV B9tr Auc ?Ftu < 9rtrQ 8:# 6. 3gtr8 1 .tr D -3T +F *+ 'u #r S "Ptr5 =tr HOtr 4t rtr %? *  %9 T "A R  Ut xr[ N p  V )>],Maintain Reference Guide2An entry for a group has the following components: remark, members, owners, and friends. Theremark is a human readable character string that indicates the purpose of the group. The membersare the RNames contained in the group. They can be both individuals and other groups. Whensending a message to a group as a distribution list, then all individual members of the group andcontained groups will receive the message. When using a group as an access control list, then allindividual 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 thenext section. As an owner or friend, "*" means anyone, "*.registry" means anyone in that registry.Access ControlsAny logged in user of Maintain can do any command listed below that just reads information out ofthe data base. Control on changes to the data base is provided by the owners and friends lists ongroups, and by the owners and friends lists on registries. The owners of registry "reg" are definedby the owners list of the group "reg.gv". The friends of registry "reg" are defined by the frinds listof the group "reg.gv". The access control rules are as follows:1) Any individual can set the password and set the connect site of his own entry.2) A friend of a group can add and remove his own name from the membership list of that group.3) An owner of a group can add and remove owners, friends, and members for the group. Anowner also can set the remark.4) A friend of a registry has the ownership privileges listed in 3) for all groups in the registry andthe permissions listed in 1) for all individuals in the registry. A friend of the registry also can setan individul's forwarding list.5) An owner of a registry has all the permissions listed in 4) plus the permission to create anddelete 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". Ifthere are no owners, then such messages go to the friends of the registry instead. Sending amessage to the owners of a group is a good way to request a change to a protected group, i.e., haveyour 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 donethat you don't have permission to do, e.g. create a new group or change your forwarding list.Talking to MaintainMaintain has a teletype style interface that is a bit hard to get used to. Commands are indicated bytyping their abbreviation. You must use the correct abbreviation. Typing the full name will notwork. Frequently Maintain will guess the string to be used as a command argument. If it hasguessed correctly then typing SPACE, ESCAPE, or RETURN will cause it to accept the guess andgo on. Typing BACKSPACE will allow editing of the guess. Typing another character will erasethe 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 thatMaintain is ready for your next command.Maintain checks the values you type as argument when it can. If they are not valid then it will tellyou and not complete the command. Sometimes Maintain will prompt you with a guess about whatyou meant when you provide a syntactically invalid argumentCommands 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. frG bD `M _D ]9( \E Z9( YO W/4 TVu Q+rtr? OS N#+9 L[ K@ GR DX A? @ <X ;eH 9 6&; 51Y 2) trtr*trtr 0R /!Xtr -@ * tr\_Maintain Reference Guide3CommandsFollowing is an alphabetical list of the Maintain commands. The underlined characters in thecommand 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 arethe arguments you type to Maintain. To do any command you must login first. Add Forwarding to destination: arg1 for individual arg2The 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 ininboxes for this individual will be remailed according to the forwarding list. If the forwardingfield of an individual is set to that individual's name, thus creating a loop, message to theindividual will disappear into a black hole without any error notification. Don't do this.Add Friend: arg1 to group: arg2The RName specified as arg1 is added to the friends list of the group specified as arg2.Add List of members from arg1: to group: arg2Arg1 is the name of a file on the local disk (you can't use this command from Lily). The filemust contain a sequence of complete RNames, separated by commas. The RNames must be inalphabetic order. If all RNames specified are valid and in order, then they are added asmembers to the group specified by arg2. If any name in the file is invalid or out of order thenno 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, fixingone bad name in the file each time. This can be annoying. It is ok if some of the names arealready members of the group.Add Mailbox at server: arg1 for individual: arg2The server name specified as arg1 is added to the end of the inbox site list for the individualspecified as arg2. Maintain will accept only the full name for a Grapevine message server,including the final ".ms".Add Member: arg1 to group: arg2The RName specified as arg1 is added as a member to the group specified as arg2.Add Owner: arg1 to group: arg2The RName specified as arg1 is added as a owner of the group specified as arg2.Create Group: arg1A new group with the name specified by arg1 is created. You must provide a completeRName 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 aregistry. frG bu ^r)tr6^r^  ]nD [:tr=[[A1[[ Zftr+ VW;KVW;!UVW;.VW;`T ST@EST`R@`QR`O R`M+0 J}JKJ}kJJ}J iJ}J`GGQGEGQG D&D}KD&D}D&D} *%D&D}`@ARI`?Q`>JB`<"$R0Maintain Reference Guide4Create Individual: arg1 with password: arg2A new individual with the name specified by arg1 and the password specified by arg2 iscreated. You must provide a complete RName in an existing registry. Only a registry ownercan create a new individual in a registry. After this command has completed Maintain promptsyou with a "Add Mailbox" command. Normally you should use this prompt to start addingmessage 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 invalidrecipient for messages, but Grapevine will still know the name and password so the individualcan login to IFS's that use Grapevine authentication and can appear on groups that are used asIFS access control lists. Delete Group: arg1 [Confirm]The group with the name specified by arg1 is deleted from the registration data base. Thedeleted name cannot be reused for 14 days. After this command has completed Maintainprompts you with a "Remove All Memberships" command. Normally you should use thisprompt to remove the deleted name from all groups in the same registry. Typing DEL,however, will cancel this prompt. Delete Individual: arg1 [Confirm]The individual with the name specified by arg1 is deleted from the registration data base. Anyaccumulated message for the individual are discarded. The deleted name cannot be reused for14 days. After this command has completed Maintain prompts you with a "Remove AllMemberships" command. Normally you should use this prompt to remove the deleted namefrom all groups in the same registry. Typing DEL, however, will cancel this prompt. Initialize New Name from old name: arg1, creating new name: arg2A copy of the entry named by the RName specified as arg1 is made and named with theRName specified as arg2. LoginYour Name Please: arg1Your Password: arg2Provide your name as arg1 and your password as arg2. Login is successful if the passwordmatches that recorded in the data base for you.Modify All Occurrences of R-Name: arg1 in groups in registry: arg2 to be R-Name: arg3arg1 specifies any RName. arg2 names an existing registry. All groups in that registry aresearched for occurances of arg1. In each group containing arg1 as a member, arg3 is added asa member and arg1 is removed. This takes a while.Remove All Memberships in registry: arg1 for R-Name: arg2The RName arg2 is removed as a member from all groups in the registry specified by arg1.This takes a while.Remove Friend: arg1 from group: arg2The RName arg1 is removed from the friends list of the group specified as arg2. frG abab (ab&3ab`^(,^^D[^^`]nR`[2tr`Zf6`XX`W^ S`U5(`TV8&`R OPOOP)OOPO `L{%'hL$L{1`J$)t`IsrI`GO`Fk" BC@BC@ )BC@ `@ (?@1`>G`= tr`;?`:> 66"%667Y66`3423V3`2)Y12) .. -zy-#-z +++`((s(.o(s( `'F/ #U$#$$#$7z#$F#$`   s  =`k k2k >k ` ! ee%xe 2He` : :E:`  k #s` O_22 `1U01U3`/ ,O,,O, ,O,1K,O,`){: ;)$){`''' $t$$t$O$t$`!&2 tUtwt`I1`A4n `A"?` :i: ::`fN`FF <>YpMaintain Reference Guide6Verify Group: arg1The group specified is inspected for invalid member names. The invalid names are displayed.Verify Name: arg1This command tells you whether the RName specified is recorded in the data base.Quit [Confirm]This command stops Maintain and returns control to the environment from which it wasinvoked. frG abia)bab`^$8 [p[i[p"[w[p[`XP UUp `REtr`PR Pz;>e TIMESROMAN  TIMESROMAN TIMESROMAN LOGO TIMESROMAN  TIMESROMAN   #x+-j/0.=Maintain.bravo SchroederFebruary 1, 1982 10:09 AM