Submission Title: MASTER_MENU Submitter/Author: Chuck McMichael Pittsburgh Corning Corp. 412-327-6100 Abstract: MASTER_MENU is a set of four command procedures and one executable image that resides in SYS$MANAGER: and provides a set of customized menus based on the user's account name. At startup, it creates one logical name per menued application (ITEM_application) and one per username (USER_username) in its own logical name table. Computer and O/S Version Information: VAX/VMS V5.1 or higher Other Documentation / Installation Instructions: Place the files in SYS$MANAGER:, edit MASTER_MENU_USERS.COM to list your site's usernames, edit MASTER_MENU_ITEMS.COM to reflect the applications you wish run. If your site has an enormous number of users and requires customization on less than a user-by-user basis, it should be straightforward modify the command procedure to first look for USER_username, then USER_identification, where the identification is parsed from F$GETJPI(0,"PROCESS_RIGHTS") if your version of VMS supports that lexical. If you hate having extra files in SYS$MANAGER, it should be trivial to change the command files to refer to some other (world readable) directory. MASTER_MENU_START.COM should be run at system startup. It calls the list of relevant applications (MASTER_MENU_ITEMS.COM) and the list of relevant users (MASTER_MENU_USERS.COM). If any additions or changes need to be made to the lists, the system manager can just edit and execute the appropriate COM file rather than restarting the whole thing. Deletions should be handled by editing the appropriate COM file, then either rerunning MASTER_MENU_START.COM or doing a manual DEASSIGN. MASTER_MENU.COM is run as the last statement in SYLOGIN.COM for interactive jobs. It must be world-executable. By default, it lets the user fall through to a dollar prompt if it can't find an appropriate menu. This can be changed to force a LOGOUT (except for accounts like SYSTEM, FIELD, etc.). This environment is more for convenience than security. It does not prevent spawning. It allows anyone who knows where to look to see all user names and applications names covered by menus. To keep the procedure from paralyzing DECwindows, it checks to see if the process name includes "_SM" ("_V" in VMS v5.1), thus introducing a hole for users with accounts such as JONES_SM. Anyone with a more elegant solution is invited to send mail to MCMICHAEL on DECUServe. All code and information is provided "AS IS." It is running on at least one VMS V5.1-1 and a 5.4-2 system.