The CCSO Nameserver - An Introduction by Steven Dorner s-dorner@uiuc.edu Computer and Communications Services Office University of Illinois at Urbana March 29, 1990 updated by Paul Pomes paul-pomes@uiuc.edu Computer and Communications Services Office University of Illinois at Urbana August 2, 1992 % pphh sstteevveenn ddoorrnneerr ---------------------------------------- name: dorner steven c phone: 244-1765 address: 181 dcl : CAMPUS MC 256 department: computing services office title: res programmer hours: 7-5, four days per week. email to: s-dorner@uiuc.edu (dorner@ux1.cso.uiuc.edu) ---------------------------------------- _W_h_a_t _i_s _t_h_e _C_C_S_O _N_a_m_e_s_e_r_v_e_r? The CCSO Nameserver could be considered a database containing information about people and things at the University of Illi- nois. It is designed to be extremely flexible in terms of the information it keeps and also to provide fast access to that information. Currently, most of the information in the Nameserver database comes from the University _S_t_u_d_e_n_t/_S_t_a_f_f _D_i_r_e_c_t_o_r_y (the printed phone book). The database also holds several additional categories of information such as the complete university course timetable for the fall, spring, and summer semesters; a guide to local restaurants; area codes for major cities and regions in the U.S.; up-to-the-hour weather condition and forecast information for many Illinois cities and larger ____________________ Converted to portable n/troff format using the -me macros from funky Next WriteNow format (icch). 22 TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn metropolitan areas throughout the country; and special entries created on request such as organizations within departments and student clubs and groups. The CCSO Nameserver could also be regarded as a pair of programs: one that manages the actual data (this program is called _q_i, for _query _interpreter), and another program (or rather a group of programs - one for each computing platform on the campus network) that handles end-user requests. The programs that handle user requests are usually called _p_h (or _p_h clients), which stands for phone book. Because _p_h is the name of the software familiar to most end-users, many people refer to the Nameserver itself as _p_h or use the terms Nameserver and _p_h interchangeably. _W_h_e_r_e _i_s _i_t? The database for the Nameserver is installed on a VAXServer 3500 that runs the UNIX operating system (Ultrix 3.0); the name of this CCSO computer is garcon.cso.uiuc.edu with the alias ns.uiuc.edu. The program that manages the database (_q_i) also runs on this machine. _Q_i allows programs running on other com- puters to access the database by serving as an intermediary between them and the actual database. The Nameserver functions on a "server-client" basis. This means that the database and query interpreter reside on a single com- puter (the VAXserver described above), which functions as the "server". Mainframes and desktop computers can transparently access server data over UIUCnet, the campus network, using spe- cial software designed to communicate with the server. Machines running such software (and the end-user software itself) are typ- ically referred to as ph "clients". _P_h client programs have been developed for almost all of the mainframe and desktop computing platforms and operating systems found on the UIUC campus includ- ing UNIX, VM/CMS, VMS, PC (DOS), Macintosh, Next, and X Windows. Some of these clients were developed locally, while others have been developed by programmers at other institutions. A full-featured _p_h client is available on all CCSO-administered UNIX computers. A slightly less robust client can be found on the CCSO IBM mainframe VMD. _P_h client software is also installed on hundreds of desktop computers and workstations on the campus network. Client software for desktop computers such as IBM PCs and Macs provides convenient access to server data without requiring a mainframe account or special knowledge of an unfami- liar operating system or text editor. For a list of ph clients and information on where to get them, see ph's on-line help for "clients". _W_h_a_t _S_e_r_v_i_c_e_s _D_o_e_s _t_h_e _N_a_m_e_s_e_r_v_e_r _O_f_f_e_r? The Nameserver can be used to find the phone numbers and addresses of University faculty, students, and staff members, TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn 33 just like the printed version of the _S_t_u_d_e_n_t/_S_t_a_f_f _D_i_r_e_c_t_o_r_y; but the Nameserver is not a mere electronic copy of the campus phone book. For one thing, it contains the electronic mail addresses for thousands of faculty, students, and staff. It also includes additional information about some individuals such as office hours, birthdays, vacation plans, facsimile numbers, etc. Infor- mation of the latter sort is usually entered manually by the owner of the entry and is, thus, available for some people in the database and not others. The Nameserver also contains entire categories of information not found in the _S_t_u_d_e_n_t/_S_t_a_f_f _D_i_r_e_c_t_o_r_y; e.g., weather conditions, local restaurants, national area codes, the university course timetable, etc. For information on how to extract such informa- tion from the Nameserver, see _p_h's on-line help for "people", "campus_units", "weather", "areacodes", "restaurants", and "timetable". A key thing to know about the Nameserver is that, if you use a computer that has a full-featured _p_h client installed on it, you can change the information the Nameserver keeps about you. For example, if your office address or phone number changes in the middle of the year, you can put your correct address and phone number in the Nameserver immediately so that people can use _p_h to find up-to-date information about you. Another very important function of the Nameserver is electronic mail forwarding. If you tell the Nameserver where you read your electronic mail by recording this information in your "email" field, then anyone wishing to send mail to you can send the mail to _a_l_i_a_s@_u_i_u_c._e_d_u, where _a_l_i_a_s is your Nameserver alias (a unique name by which the Nameserver knows you, generally formed by your first initial, a hyphen, and your full last name). If someone doesn't know your Nameserver alias, s/he can send mail to _y_o_u_r-_n_a_m_e@_u_i_u_c._e_d_u, and the Nameserver will try to find you. In either case, the Nameserver will send your mail to the address listed in the "email" field of your nameserver entry. For exam- ple, you can send mail to Steven Dorner (author of the UNIX _p_h program) using the address: s-dorner@uiuc.edu ("s-dorner" is Steve's Nameserver alias), or steven-dorner@uiuc.edu (Steve's real-life name). Either way, the mail will be forwarded by the Nameserver to "dorner@ux1.cso.uiuc.edu", which is where Steve currently reads his mail. For more information on e-mail for- warding, see the _p_h on-line help for "e-mail". _N_a_m_e_s_e_r_v_e_r _R_e_s_t_r_i_c_t_i_o_n_s _a_n_d _L_i_m_i_t_a_t_i_o_n_s There are some things the Nameserver is not meant to do. One thing that should be mentioned right away is that the Nameserver can't be used to generate mailing lists for junk mail. The server is designed so that queries that generate more than 25 responses are refused. So, you don't have to worry about getting junk mail because you appear in the Nameserver's database. 44 TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn Also, the Namserver cannot be used to notify the University about changes of address, phone number, and/or other personal or offi- cial information about yourself. Although you can change this kind of information in your Nameserver entry, such changes are not automatically sent to your department, the Office of Admis- sions and Records, Payroll, or anywhere else. You must notify these offices individually by filling out the appropriate paper- work. _U_s_i_n_g _P_h _t_o _F_i_n_d _I_n_f_o_r_m_a_t_i_o_n _P_h can be used to look up information about people or things in the Nameserver database or to change information in your own entry. The specific procedures involved will depend on the _p_h client you use. To use _p_h to find out information about a per- son, type "ph" and the name of the person you want to know about (note: some _p_h clients do not require the user to type the com- mand "ph" before the name); _p_h will respond with information about that person. For example: % pphh sstteevveenn ddoorrnneerr ---------------------------------------- name: dorner steven c phone: 244-1765 address: 181 dcl : CAMPUS MC 256 department: computing services office title: res programmer hours: 7-5, four days per week. email to: s-dorner@uiuc.edu (dorner@ux1.cso.uiuc.edu) ---------------------------------------- If there are lots of people who have the name you asked for, _p_h will let you view the list a screenful at a time; just hit the spacebar to move to the next screen. (Here again, the method of advancing from one screen to the next will depend on the client you use. Most _p_h clients take advantage of the native charac- teristics of the platform on which they are installed. Thus, the Macintosh client requires you to use the scroll bar in order to move to the next screen, the VM/CMS client waits for you to press the "clear" key, etc.) If you do not know the exact spelling of a name, you can use spe- cial symbols in the name to take the place of one or more unknown characters. These symbols are called "metacharacters". I won't say anything more about metacharacters here; see the on-line help for "manpage" and "query" for more information. Sometimes, you will ask _p_h for a name, and it will refuse to give you information because too many people have that name. For example: TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn 55 % pphh sstteevveenn 502:Too many entries to print. _P_h does this so that no one can use it to create mailing lists for junk mail or other nefarious purposes. If you really want to find the person, you will have to know something else about them, like part of their last name (or first name, if you know their last name), their phone number,[1] or some other piece of infor- mation that has been recorded in their Nameserver entry. Sup- pose, for example you know this fellow named Steven who works in DCL, but you don't know his last name. You could say: % pphh sstteevveenn aaddddrreessss==ddccll and all of the "steven"s who have "dcl" in their _a_d_d_r_e_s_s field would be displayed. _U_s_i_n_g _P_h _t_o _C_h_a_n_g_e _I_n_f_o_r_m_a_t_i_o_n _P_h can also be used to change information. Not all _p_h clients, however, permit the user to access his or her own entry and edit it. The following discussion focuses on the UNIX _p_h client and clients similar to it such as the VMS, VM/CMS, and DOS client. (The Macintosh _p_h client also allows a user to login and change his or her entry, but the procedure is entirely different from that described here. Full documentation is available for the Mac client.) If you want to change the information the Nameserver keeps about you, type "ph" at the operating system prompt. _P_h won't look up a name, but will instead give you a special "ph>" prompt. There are many possible commands you can type once at the "ph>" prompt; they are described in full in the _p_h manual page and also in the _p_h on-line help for "commands". You will only need to know four commands to change your information: _l_o_g_i_n, _m_e, _e_d_i_t, and _q_u_i_t. Before actually using _p_h to change your entry, you will have to make some preparations. The first thing you need to do is find out your Nameserver _a_l_i_a_s. This is a unique name assigned to you by the Nameserver. A person's alias is usually formed by combining his or her first initial, a hyphen, and complete last name. For example, "Steven C. Dorner" has an alias of "s-dorner". Some people share the same first initial and last name; these people typically have a number added to the ends of their aliases so that their aliases remain unique. For example, "John Doe" might have an alias of "j-doe1", and "Jane Doe" might have an alias of "j-doe2". The ____________________ [1] See the _p_h manual page for information on how to search for people with a certain phone number or address. 66 TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn easiest way to find your alias is to look up your name with _p_h. Once your know your alias, you need to find out your Nameserver password. To do this, come to the CCSO Resource Center in Room 1420 DCL and present a valid University ID at the Accounting Desk. We cannot give out passwords via email or phone to prevent disclosure to unauthorized persons. In cases where a) _p_h is being used by the same user-id on the same machine that's listed in the email field, and b) _p_h has been installed "setuid root", and c) the _p_h version is 5.2 or greater, then no password is needed to login. Now, it's time to use _p_h to change your information. Type "ph" and the "return" key. You will get a "ph>" prompt. Now, type "llooggiinn aalliiaass" (but use your real alias, not the word "alias"!) and a return. _P_h will ask for your password; type your password and a return. You should get a greeting from the Nameserver, and another prompt. For example: % pphh $Date: 1992/09/05 18:20:49 $$Revision: 1.2 $ 100:Ph passwords may be obtained at CCSO Accounting, 1420 DCL. 100:Be sure to bring your University Id Card. You may not need 100:a password if you are using the login in your email field. 200:Database ready. ph> llooggiinn ss--ddoorrnneerr Enter nameserver password: 200:s-dorner:Hi how are you? ph> You are now ready to change your information. Your Nameserver entry is organized into "fields", each one containing a different piece of information. There is a field for your name, your address, your phone numbers, etc.[2] To see all of the fields in your entry, type the command _m_e at the "ph>" prompt. It's always a good idea to use the _m_e command before and after changing an entry to verify the original and new contents of your entry. To change a particular field, type "eeddiitt ffiieelldd" and a return, substituting the name of the field you wish to change for "field". For example, if you want to change your phone number, type "eeddiitt pphhoonnee". You will be placed in your favorite UNIX edi- tor,[3] with the current contents of the field you specified ____________________ [2] The _p_h command _f_i_e_l_d_s will give a complete list of Nameserver fields. [3] Unless you take pains to change it, that editor will be _v_i(1); see Appendix A if you've never used _v_i before. TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn 77 displayed. If the field was empty, you will be presented with an empty file into which ypu can insert text. Make whatever changes you wish, save your changes, and exit the editor. _P_h will then change the information in the field specified for you. If you aren't familiar with your machines's text editor, you may prefer to use the _m_a_k_e command instead. _N._B., the _m_a_k_e command does not work properly with the VM/CMS client. After you login to _p_h, just type, mmaakkee nnaammee--ooff--ffiieelldd==""vvaalluuee--ooff--ffiieelldd"" ph> mmaakkee eemmaaiill==""ddoorrnneerr@@uuxx11..ccssoo..uuiiuucc..eedduu"" 200:1 entry changed. ph> When using the _m_a_k_e command, be sure to enclose the "value-of- field" information is double quotation marks ("). Some field information cannot be changed; the "name" field, for example. If you need to change such a field, arrangements can be made with the staff at the CCSO Accounting and Distribution Office in 1420 DCL. Once you are finished changing your information, type _q_u_i_t and a return. You will be logged out of _p_h and returned to the operat- ing system prompt. _S_u_p_p_o_s_e _I _D_o_n'_t _H_a_v_e _A_c_c_e_s_s _t_o _a _P_h _C_l_i_e_n_t? If your computer doesn't have a _p_h client installed on it, but you would like to use _p_h to look up addresses or change your information, you can still do so. Connect to the CCSO's Sequent computer ux1 by using telnet ("telnet"ux1.cso.uiuc.edu" sytek ("call 1600"), or by dialup (333-4000, ux1). When you see the "login:" prompt, type "phones" and a return. You will then be prompted for your terminal type. If you have a vt100 terminal or terminal emulator, you can just type a return; if you have some other terminal, type its name.[4] You will eventually get a "ph>" prompt, and can use _p_h to lookup and change information. _W_h_e_r_e _C_a_n _I _F_i_n_d _M_o_r_e _I_n_f_o_r_m_a_t_i_o_n _A_b_o_u_t _P_h? _P_h has an extensive on-line help system. UNIX users can access it by entering _p_h's interactive mode, and typing, _h_e_l_p. ____________________ [4] If you have trouble finding the right name to use for your terminal, call the CCSO Consultants at 333-6133. 88 TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn % pphh $Date: 1992/09/05 18:20:49 $$Revision: 1.2 $ 100:Ph passwords may be obtained at CCSO Accounting, 1420 DCL. 100:Be sure to bring your University Id Card. You may not need 100:a password if you are using the login in your email field. 200:Database ready. ph> hheellpp ---------------------------------------- These "ph" help topics are available: add interactive_mode query change login quit command-line_mode logout register commands make status delete manpage switch edit me vi fields passwd help ph To view one of these topics, type "help name-of-topic-you-want". ---------------------------------------- These ``native'' help topics are also available: 100 501 514 aliases ph_news 101 502 515 areacodes policy 102 503 516 campus_units protocol 200 504 517 clients proxy 201 505 518 e-mail restaurants 300 506 519 email sites 301 507 520 forwarding timetable 400 508 521 introduction type 401 509 522 nickname weather 402 510 523 no_update 403 511 598 paper 475 512 599 password 500 513 alias people To view one of these topics, type "help native name-of-topic-you-want". ---------------------------------------- CMS users of _p_h should give the command, "pphh hheellpp", and subse- quently "pphh hheellpp nnaammee--ooff--ttooppiicc" (e.g., "pphh hheellpp eemmaaiill"). _W_h_a_t _I_f _I _H_a_v_e _T_r_o_u_b_l_e? If you have problems or questions that are not resolved by read- ing this document, the _p_h on-line help, or _T_h_e _C_C_S_O _N_a_m_e_s_e_r_v_e_r, _S_e_r_v_e_r-_C_l_i_e_n_t _P_r_o_t_o_c_o_l, document, call the CCSO SYstems Consult- ing Office at 333-6133. APPENDIX A A Rank Beginner's Guide to VI This page describes a few _v_i commands to accomplish simple edit- ing tasks. Full documentation for _v_i can be found in _T_h_e _U_N_I_X _U_s_e_r'_s _M_a_n_u_a_l _S_u_p_p_l_e_m_e_n_t_a_r_y _D_o_c_u_m_e_n_t_s, chapter 15 (really advanced users should read chapter 16 as well). Two thing to keep in mind: First, the editor is pronounced "vee eye"; if you pronounce it, "vie", UNIX gurus will laugh at you, though not out loud. Secondly, _v_i is case-sensitive; be sure to use upper or lower case commands as appropriate. _M_o_d_e_s _V_i is a modal editor; what you can do depends on what mode you are in. The two modes of interest to us are _c_o_m_m_a_n_d mode and _i_n_s_e_r_t mode. You type most commands in command mode; all you do in insert mode is type your text. You get out of insert mode by typing _e_s_c_a_p_e, usually marked "esc" on keyboards; on some key- boards, you may have to hold down the control or alt key and press "[". If you type escape in command mode, _v_i will beep at you; so if you get confused, just type escape until _v_i beeps; then you'll be back in command mode. _M_o_v_i_n_g _A_r_o_u_n_d Here are some motion commands in _v_i. They are typed in command mode, and leave the editor in command mode. CCoommmmaanndd WWhhaatt iitt ddooeess ____________________________________________________ control-h Moves the cursor left oonnee cchhaarraacctteerr.. hh MMoovveess tthhee ccuurrssoorr lleefftt one character. j Moves the cursor down oonnee lliinnee.. kk MMoovveess tthhee ccuurrssoorr uupp one line. l Moves the cursor right oonnee cchhaarraacctteerr.. ww Moves the cursor forward to the begin- ning of the next word. bb Moves the cursor backward to the begin- ning of the previous word. TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn 99 1100 TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn _D_e_l_e_t_i_n_g _T_e_x_t Here are some commands to get rid of stuff. Type them in command mode; they will leave the editor in command mode. CCoommmmaanndd WWhhaatt iitt ddooeess __________________________________________________ dd Deletes the current line. x Deletes the character at the cursor, and moves the rest of the line to fill the hole. _A_d_d_i_n_g _T_e_x_t The following commands all put you into insert mode and let you type text. Type escape when you are finished adding text, and you will be returned to command mode. CCoommmmaanndd WWhhaatt iitt ddooeess __________________________________________________ i Start inserting characters before the character the cursor is on. a Start inserting characters after the character the cursor is on. O Create a new line above the cursor, and start inserting at the beginning of that line. Note that this command is a capi- tal "O", not zero. _G_e_t_t_i_n_g _O_u_t The following commands exit _v_i. They work in command mode. CCoommmmaanndd WWhhaatt iitt ddooeess __________________________________________________ ZZ Exit _v_i, and save the changes you have made. Those are capital Z's! :q! Exit _v_i, but don't save changes (the "" means to type return).