_______________________________________________________________________________ INTRODUCTION TO THE PRIMOS OPERATING SYSTEM Part II (Internal Snooping and Basic Commands) Written by Violence Copyright (C) 1989 The VOID Hackers _______________________________________________________________________________ Welcome to Part II of my series on PRIMOS. In this part I will go over such things as how to make your stay on a Prime computer last longer, basic PRIMOS commands to memorize, user-to-user communication, internal PRIMOS security, and how to explore the vast reaches of a Prime computer. _______________________________________________________________________________ MAKING YOUR STAY LAST LONGER Now that you have logged in, there are a few things that you should do immed- iately to insure a nice long visit. You should make this procedure routine and do it everytime you login. Once logged in you will, as illustrated in Part I, see the login herald and then, assuming the account is not captive (there will be a section on Captive Accounts later in this part), get the system prompt (generally an "OK,"). You are now using PRIMOS and the prompt signifies that you are at the PRIMOS comm- and line. Most Primes use the standard "OK," prompt, but some do not. For this series, I shall assume that your Prime uses the "OK," prompt. Now, type some nonsensical command. Try arf. Here is what should happen: OK, arf Not found. ARF (std$cp) ER! Notice that when you enter an invalid command you get a new prompt. On all standard systems, it is "ER!". Again, this prompt can be changed and, through out this series, I shall assume that it is set to "ER!". NOTE: std$cp means Standard Command Processor. Sometimes instead of std$cp you will get a (processcommand) error. They are the same thing, just differ- ent names for different revision levels. Now that you are in, you are going to want to perform a few actions to make sure that you are safe. The first of these actions is to turn off all COMO files. COMO is the abbreviated form of the COMOUTPUT command. COMOUTPUT turns on a buffer if you will, much like your terminal program's copy buffer. From the time a COMO file is turned on everything you type and everything PRIMOS says to you will be logged to a SAM (sequential access method) file (a text file). To turn off a COMO file you will type this at the system prompt: OK, como -e The "-E" argument means "END" and will end any COMO processes. If you can't see what you are typing then perhaps the initiating COMO command turned off all terminal output. You can turn it back on by typing: OK, como -tty To save time, nest the arguments as such: OK, como -e -tty The next thing you should do is make sure that you are the only person using the account you logged in to (we don't want any irate users on our hands, now do we?). Do this by typing: OK, stat -me Assuming you are logged in as user PRIME, PRIMOS will output the following: Line User No oct( dec) Devices PRIME 87 125( 85) The "User" column displays your User ID. The "No" column lists your user number. The "Line" column indicates the AMLC line you are using (the physical modem line) in both octal and decimal notation. The "Devices" column displays the current disk partition that you are attached to. In this case, we are attached to the disk partition. If you find that there is more than one of you logged in, then you should make a hasty exit and logout. There is a correct way to logout and an incorre- ct way to logout. The correct way to logout is listed below. NEVER hang up on a Prime. Always logout in the illustrated fashion. OK, rsterm OK, lo The RSTERM command empties your terminal read (input) and write (output) buffers. This throws away anything in your type-ahead buffer and gets rid of all output pending. The LO command logs you out of the system. When you logout you will see a message similar to this: PRIME (user 87) logged out Sunday, 22 Jan 89 16:23:56. Time used: 00h 08m connect, 00m 03s CPU, 00m 00s I/O. Everything listed in this message should be self-explanatory by now, but in case you are still bewildered. The connect time is how long your session lasted in hours and minutes. The CPU time indicates how much actual time you manipulated the central processing unit (CPU); listed in minutes and seconds. The I/O time indicates how much actual disk I/O (access) you performed; in minutes and seconds. Assuming that no one else is using the account you are logged in as take a look and see who else is on the system. Do this by typing: OK, stat us The Prime will display the following to you: Line User No oct( dec) Devices SYSTEM 1 asr SMITH 5 3( 3) JOHNSON 70 104( 68) PRIME 87 125( 85) TIMER_PROCESS 123 kernel LOGIN_SERVER 124 LSr (3) DSMSR 125 DSM DSMASR 126 DSM SYSTEM_MANAGER 127 SMSr LIB 129 phant AL132 LQP 130 phant AL133 PR0 131 phant PR2 BATCH_SERVICE 132 phant SYSTEM 133 phant SYSTEM 134 phant SYSTEM 135 phant SYSTEM 136 phant Notice how the STAT US command's user display procedure is identical to that of STAT ME. Let me explain these users now. What's there to explain about users, you ask? Why, lots. Some of the users listed abover aren't actual people, but rather phantom users, processes that execute on their own. Look at SYSTEM. See how this User ID doesn't have a line listing? Instead of the familiar octal and decimal AMLC line listing, it says "asr" instead. Also notice how TIMER_PROCESS is listed as "kernel". The list goes on too, as you can see. LOGIN_SERVER is "LSr", DSMSR and DSMASR are "DSM", and SYSTEM_MANAGER is "SMSr". Also notice all those users listed as "phant". Basically, all User ID's that lack octal/decimal AMLC line notation are not actual people and cannot harm you with the exception of SYSTEM_MANAGER and SYSTEM. These users, while not people, are consoles, terminals if you will, that are logged in all the time. One monitors the system's front door and logs to screen and disk (and occasionally printer) all logins (successful and unsuccessful) and logouts. The other just sits there, waiting for the system manager to do what ever he likes. A good way to tell if either of these User ID's is active, is to look and see where they are attached to (ie, the info displayed in the "Devices" column). If you see it attached to an MFD (Main File Directory) other than the root MFD, then cruise and come back later. I will explain this a bit more in a second. LSr is the login server. It is what you "talk to" (in a manner of speaking) when you connect to the Prime initially. "kernel" is the heart of the PRIMOS operating system. When you have logged in, you are talking directly to it. "phant" users are phantom processes (batch jobs) that are executing independant of a system terminal. They perform rudimentary tasks such as running the prin- ters, backing up the system, running the RJE and Batch Job managers, etc. They perform many activities, almost always geared towards the system's needs. DSM users are Distributed System Management utilities runnung as phantoms. The DSM utilities are present to help the System Admin administrate his system. There will be more on the DSM utilities in Part III of this series. To help you out, I have prepared these two tables. They cover all of the above procedures and what you should do. For the first few times, you should use the tables. When you have memorized them you will be doing pretty good. LOGIN PROCEDURE 1. COMO -E 2. STAT ME (is there more than 1 of me logged in? Yes? Logout!) 3. STAT US (are there lots of users online? Yes? Logout!) LOGOUT PROCEDURE 1. RSTERM 2. LO That should do it for this section. I will now go into the basic PRIMOS comm- ands that you should familiarize yourself with and memorize. _______________________________________________________________________________ BASIC PRIMOS COMMANDS AND INFORMATION ABOUT PRIMOS FILES We're all ready to start covering the first PRIMOS commands to add to your new repetoire. In this section you will learn how to move around PRIMOS directory structures, how to view files, how to get full status on the Prime system, and how to get further help. First off, let me tell you a little bit about directories and how they are set up. On each logical disk on a Prime, there is a root directory called the MFD (Main File Directory). Each MFD on a system has a unique number after it. In this manner all logical disk MFD's are separate from one another. Below the MFD's are directories called UFD's (User File Directories). It is the UFD's that users login to. Not all UFD's, however, are login directories. All dir- ectories below the UFD level are called sub-UFD's (subdirectories). An illus- tration of what I am talking about follows. MFD 0 ------------- MFD 1 ------------- MFD 3 ------------- MFD 4 ______|______ ______|______ ______|______ ______|______ | | | | | | | | | | | | UFD UFD UFD UFD UFD UFD UFD UFD UFD UFD UFD UFD | | | | | SUB SUB SUB SUB SUB UFD UFD UFD UFD UFD Notice that not all UFD's have sub-UFD's. Not illustrated is the fact that sub-UFD's can have sub-UFD's under them. It's set up a lot like most micro- computer Disk Operating Systems. When you login you will be attached to your account's initial attach point (ie, your "home" directory). This will most likely be a UFD, but in some cases you will attach to an MFD. In any case, to move from directory to directory you'll use the ATTACH command. You can abbreviate ATTACH with an A. PRIMOS underst- ands ATTACH and A as being the same command. The basic format of ATTACH is: ATTACH pathname To attach to an MFD you would type: OK, a mfd # Where # is the logical device number of the MFD you wish to attach to. MFD nu- mbers always start out at 0 and increment sequentially. More on this in a few. If you are attached to an MFD or a UFD you simply need to use the UFD name you wish to attach to as the pathname. If you wish to attach to sub-UFD's then you will need to use the full pathname. Here are some examples: OK, a mfd 0 OK, a primenet* OK, a info Top-level directory not found or inaccessible. INFO (ATTACH) OK, a primenet*>info Notice how when you tried to attach to info you got an error. Well, that was because info is a sub-UFD and you need to supply the full pathname when you at- tach to sub-UFD's. Notice that when you attached to info in the correct manner you used the ">" character to separate the elements of the pathname. Locating all the available MFD logical device numbers is easy. Just type: OK, stat disk PRIMOS returns this output to you: Disk Ldev Pdev System COMDEV 0 1460 USER01 1 31460 USER02 2 32462 USER03 3 462 USER04 4 11062 USER05 5 62060 USER06 6 101062 "Disk" indicates the actual disk partition's root pathname. "Ldev" is the logical device number of a given partition. "Pdev" is the physical device number. The "System" column will be blank unless a given disk partition is located on another system. What? Impossible? Not at all. With PRIMENET, Prime's networking software, disk partitions on system B can be accessed from system A. If you are not on a system equipped with PRIMENET then the "System" column will be blank. More on this in the PRIMENET section. What is important to us immediately is the data in the "Disk" and "Ldev" col- umns. Each of these disk partitions is an MFD On some systems you will find two useful utilities, UP and DOWN. These are ex- ternal commands. They simplify moving about directories in PRIMOS. Here is how to use them. UP [n] UP allows you to move up a specified number of levels. The specification of "n" is optional. If you do not specify a value for it, it will have a default value of 1. DOWN directory_name DOWN allows you to move down one directory in the tree. You must specify the name of the directory that you wish to move down into. You need only specify the UFD or sub-UFD name. There is no need to specify the entire pathname. If these utilities are not on the Prime you are on then you can upload them to the Prime's CMDNC0 directory (where external commands are stored). There will be more information on this in Part V. Viewing files in PRIMOS is as easy as can be. You simply use the SLIST (seq- uential List) command. The format is as follows: SLIST filename You must include the file extension of the file that you are SLISTing. Briefly here is a list of file types and what they mean. Extension SLISTable? Description .ABBREV N Abbreviation files .BAS Y BASIC source code .BIN N BINARY image file .CBL Y COBOL source code .CC Y C Compiler source code .COMI Y COMMAND INPUT data files .COMO Y COMMAND OUTPUT data files .CPL Y CPL (Command Procedure Language) programs .F77 Y FORTRAN-77 source code .FTN Y FORTRAN IV source code .GVAR N Global variable files .PL1 Y PL/1, Subset G source code .PLP Y PLP source code .PMA Y Prime Macro Assembler source code .RUN N Prime-written programs; int cmds (compiled) .SAVE N Prime- and user-written programs (compiled) NOTE: The "SLISTable" column indicates that the file type in question is a SAM file (Sequential Access Method; a text file) and can be viewed normally by the SLIST (Sequential List; like the TYPE command found on most PC's) command. You can SLIST non-SAM files, but they will come out as garbage and that can be a pain in the ass. If you should SLIST a non-SLISTable file type then use BREAK or CONTROL-P to abort the listing. A very important command is the LD command (List Directory). LD will display the contents of the current attach directory. To use it just type: OK, ld The LD command supports wildcarding, too. If you should want to display all the CPL files in a directory, use LD in this manner: OK, ld @@.cpl Notice the "@@" in the above command. It tells LD to do a wildcard search for all files ending with the extension ".CPL". Just experiment with this aspect of LD. It's really quite simple. Getting more information about the Prime you are on is easy. Just use the STATUS (abbreviated STAT) and LIST commands. Here are lists of these commands and what they do. Remember the STAT US and STAT ME commands I mentioned in Part I? Well, as you probably guessed, there are several other options to the STATUS command. Here are the other options and what they do: NOTE: Capitalized letters in this table indicate the option's abbreviation. OPTION MEANING ALl Display all info available through STATUS. DEvice Display physical and logical device numbers of any assigned mag tape drives. NEtwork Displays the status of other systems to which your system is attached by PRIMENET. PRoject Displays the Project ID of all users logged in. SEmaphores Displays the value of user semaphores that have been set on the system. A semaphore is a flag used for synchronizing processes. It is used by cooperating user processes to control access to a single shared resource. SYstem Shows the system nodename and revision of PRIMOS. UNits Shows you what file units you have open. Sub: Other Nets [BitNet etc..] Read: (1-30), Message # 30, (c/r)=Next Msg ?:R 29/30: Prime file 4 of 10 Name: Predat0r #1 @5211 Date: Wed Apr 17 10:33:51 1991 From: Youth International Party Line (Kentucky) Remember, I did not mention the USers, ME, or DIsks options here, as they were fully detailed in part I of this series. If the STATUS command is issued without any options, information is provided on the following options in this order: SYSTEM, UNITS, DISK, SEMAPHORE, NETWORK and ME. NOTE: There will be some information regarding the STATUS NETWORK command in a later section entitled "HINTS ON HACKING PRIMENET". That pretty well sums up the STATUS command. But is that all? Hell no. There is also the LIST command. If you thought STATUS had a lot of options then wait until you check this lovely command out. I will only cover the useful options. First in the syllabus is the LIST_ACCESS command. This command will show you what User ID's have access to the UFD that you are currently attached to. Assume that you are attached to your initial login UFD. Also assume that your User ID is STEVE.SYS. Here is an example of what LIST_ACCESS would display: OK, list_access ACL protecting "": STEVE.SYS ALL SYSTEM ALL $REST: NONE The above command example displays all of the ACL's (Access Control Lists) regarding your UFD. Notice that you, STEVE.SYS, have ALL rights to your UFD (naturally). Also notice that SYSTEM has ALL rights too. Why? Most likely backup purposes. Also notice that $REST (meaning all other user ID's) has NO rights. Now, lets assume you ATTACHed to another user's UFD. Say, JOHN. Here is what you might get: OK, a john OK, list_access ACL protecting "": JOHN ALL SYSTEM ALL SIMSON DALURW $REST LUR Quite a different story here. Again JOHN and SYSTEM have ALL rights here. But wait, SIMSON has DALURW access and $REST (everyone else) has LUR. What do these cryptic phrases mean? This, I would gather, would be a good time for me to explain the PRIMOS access codes. So without further ado: Code Right Applies to Allows user to ---- --------- ------------- -------------------------------- P Protect Directories Change accesses and attributes D Delete Directories Delete directory entries A Add Directories Add directory entries L List Directories List directory entries U Use Directories ATTACH to directories R Read Files Read file contents W Write Files Change file contents As illustrated above, the ALL and NONE mnemonics are also PRIMOS access codes. ALL indicates YES to ALL of the above and, as you can full well guess, NONE indicated that all access is denied. Also be aware that file systems (groups of files) can be protected by an access category. To list the access of an access category type the following command: LIST_ACCESS [category_filename] Next is the LIST_GROUP command. It lists all of the ACL groups to which you belong. These groups may govern access to some files on the system. If you don't belong to any groups then PRIMOS will reply with: No groups. (list_group) Otherwise PRIMOS will respond in the following format: Groups are: .HELP .ADMINISTRATORS .ETCETERA The LIST_GROUP command can be abbreviated to LG. LIST_PRIORITY_ACCESS (abbreviation LPAC) is used to display your priority access on any given disk partition. While normally you would use LIST_ACCESS to examine all access rights and priority ACL's on file system objects, LPAC is available since a priority ACL can prevent you from accessing directories and from using the LIST_ACCESS command. Command format is as follows: LIST_PRIORITY_ACCESS [pathname] [-brief] The LIST_QUOTA command (abbreviated LQ) is, in my opinion pseudo-worthless since file quota information is displayed when the LD (List Directory) comm- and is issued. The LQ command displays current disk quota and storage info- rmation for the current (or specified) directory. To issue this command, you need to have L (list) access to the target directory and U (use) access to all higher directories. The proper command format is: LIST_QUOTA [pathname] [-brief] Executed without pathname, LIST_QUOTA returns information regarding the current directory you are ATTACHed to. Quotas are storage space constraints set on a directory. The limits are listed in disk records. A 0 quota is great (indicates no quota). A quota of 1 is absolutely lousy. A quota of 1000+ is ok. If a directory has a quota of, say, 1000, then the total number of disk records used in that directory and ALL sub- UFD's below that may NOT exceed the quota. If you have P (protect) access on the current UFD then you can use the SET_QUOTA command to change the UFD quota constraints. I know I am getting off the subject at hand, but I'll just say this anyway! :-) The format is: SET_QUOTA pathname [-Max N] The abbreviation for SET_QUOTA is SQ. The argument -MAX indicates the max. number of quotas that the specified pathname can store. N is a decimal number. Back to the LIST commands. Next up is LIST_ASSIGNED_DEVICES. This command invokes a utility in CMDNC0 that will display all devices hooked up to your Prime, such as printers, etc. Disk partitions are not listed by the LIST_ ASSIGNED_DEVICES command. Some assignable devices are listed below: Device Code Meaning ASYn Asynchronous Communications Line (a leading zero is required for single digit names; for example ASY07 must be used to specify line 7). Line numbers are in decimal. CARDR Serial Card Reader CRn MPC Parallel Card /reader or Reader/Punch DISK pdisk Physical Partition (pdisk is a partition (volume) number) GS0 - GS3 Vector General graphics display terminal MG0 - MG3 Megatek graphics display terminal MTn Magnetic tape unit PRn Line Printer PTR Paper Tape Reader PUNCH Paper Tape Punch PLOT Printer/Plotter SYNCn Synchronous Communications Line (a leading zero is required to specify single digit lines). You can use the -USER [option] argument to specify a list of users, by name or number. Assigned devices whose assigning user is not in this list are not displayed. The default is all users. The format is either: LIST_ASSIGNABLE_DEVICES -USER {user name} or LIST_ASSIGNABLE_DEVICES -USER {user numbers} Remember, the -USER argument is optional, and not required. It is just useful for listing assigned devices that were assigned by a particular user. LIST_ASYNC is another good one. This command displays all of the systems hard- wired lines and what they are doing. There are three types of assignments that a line can have, and these are: FREE Line is free to be assigned ASSIGNED Line is assigned to a hardware device (printer/etc) LOGIN Line is available for login (terminal or remote) The header for the display is as follows: Line Line Auto speed Line line User User number use enabled speed protocol number name Line number is the physical line's identification name. Line use indicates how the line is assigned (free, assigned, login). Line speed indicates the speed of the physical line. Line protocol indicates the line factor (either TTY or TTYNOP). TTYNOP means TTY not operational. User number indicates the user number associated with the AMLC line. User name is the actual name of any user/phantom using that line. I am not too sure about the Auto speed enabled column. LIST_COMM_CONTROLLERS displays information on all the communication controllers present in a system, excluding the Prime Node Controller. Information is given for each controller and includes the controller name, its type, its device address, the number of synchronous lines attached, and the number of asynchro- nous lines attached. LIST_CONFIG displays the current system configuration. LIST_LAN_NODES displays all nodes on a Prime LAN300 system. Be aware that this external command works only with Prime's LAN300 system (so far as my experience goes). LIST_SYNC displays all synchronous lines on a Prime system. LIST_PROCESS displays the environment of a specified user process. The user's process identity is displayed, together with details of its environment which include: attach points; abbreviation file; active COMI and COMO files; connect, CPU and I/O times and limits; the user's ACL groups; and all active remote identities. There are several more LIST_ commands, but they are not too important at the present moment. I'll let you learn about them on your own via Prime's excel- lent online help facility. To use the PRIMOS online HELP facility, just type HELP. Or, if you know what you need help with, type HELP commandname. Really quite simple. _______________________________________________________________________________ USER-TO-USER COMMUNICATION It is always useful to know how to send and receive messages when on a computer system, and PRIMOS is no exception. Whether communicating with other hackers online, or attempting to social engineer a legitimate user or system operator. Any user on a Prime may send or receive messages. Messages may be sent from: o any user terminal to any other user terminal o any user terminal to the system console o the system console to all user terminals o the system console to any specific user terminal o the system console to any system console on another node of the network (PRIMENET-equipped systems only) Sending messages to users on a Prime is very easy. The message command form- at is as follows: MESSAGE [username] [-NOW] [-ON nodename] [-usernumber] The abbreviation for MESSAGE is M. So instead of typing MESSAGE all the time, you can type M instead. Notice [username] and [-usernumber]. When sending messages to a user you need only specify one or the other. If you were to send a message to user SYSTEM you would type: OK, m system That would enable you to send a message to user SYSTEM. Be aware that the message you send will be displayed to ALL users logged in under the User ID of SYSTEM. In the case that there are more than 1 user with the same User ID log- ged in at the same time, you might want to do use the [-usernumber] argument. It works like this: OK, m -2 That would send a message to the user with the user number of 2. The message you send in this case would ONLY be sent to the user with the user number of 2. Use either the user name or the user number, but not both, for using both will cause an error to be displayed by PRIMOS. If may omit the [username] and [-usernumber] arguments then the message will be sent to the system console. Be careful about this! The -NOW argument is optional. If it is specified then the message will be sent to the user immediately. Otherwise the message will be put into a queue and sent only when the target user has returned to PRIMOS command level. The -ON argument need only be specified if you wish to send a message to a user that is logged in on a remote site. This argument will not be required at all if the Prime you are on is not equipped with either the PRIMENET or the LAN300 networking software packages (by Prime Computer, Inc., of course). In order to use this argument you need to know the remote system's nodename. An example of sending a message to a remote system user is: OK, m hacker -on sys.c This would send a message to User ID "HACKER" on the networked Prime system called "SYS.C". Remember, you need to know the correct nodename of the remote system. Just like in real-life situations (people-to-people), PRIMOS users may or may not wish to speak to you. So before sending a message, you should make sure that the user you wish to communicate with is accepting messages. There are several ways to obtain this information. Message -STATus - Lists receive state of ALL users Message -STATus username - Lists receive state of all users with the name of "username" Message -STATus usernumber - Lists receive state of all users with the number of "usernumber" Message -STATus ME - Lists the receive state of your own terminal/process. NOTE: Capital letters in the above forms of the message status commands ind- icate the legal PRIMOS abbreviations for the commands. When first initiating a session in which you feel you might be doing some user- to-user communication you should issue the "Message -STATus" command. This will display the message receive state of all users presently online. Here is an example of the output you might receive: OK, m -stat User No State SYSTEM 1 Accept PRIME 13 Defer PRIMOS 24 Accept HACKER 37 Reject RAGE 42 Accept In the above example you notice that there are five processes logged in, one of them being the physical system console. The "No" column denotes the user's user number, while the "State" denotes their message receive state. Notice how there are three message receive states listed, accept, defer, and reject. In theory, these states are defined as such: ACCEPT - Enables reception of all messages DEFER - Inhibits immediate messages REJECT - Inhibits all messages If you are set to accept then all messages sent to you will be displayed on your terminal immediately. In defer mode messages will not appear until what you are doing is done (ie, a message will not appear while in the middle of a currently executing command). In reject mode no messages will be received by you. Setting a receive state is useful when you do not wish to be disturbed. It is especially useful to use receive states when using any of the PRIMOS editors or utilities. Sending messages while in reject mode and sending immediate messages while in defer mode is not permitted as the user you are attempting to communicate with will not be able to respond. To set your message receive state, simply type: Message -state '-state' is either accept, defer, or reject. Quite simple. You are advised to avoid sending messages to the system console as that could be potentially hazardous to your stay on a Prime computer system. Pestering legitimate users is also not desired. Use your common sense. _______________________________________________________________________________ A DISCOURSE ON INTERNAL SNOOPING TACTICS Once inside a Prime, your paths are many. Some lead to glory, others to delet- ion of your account (gulp). To aid you in choosing the correct paths, you must snoop about your newfound host. By doing this, you can learn many things, some of which include: o Who owns the Prime and what they are doing on it o More accounts on the system o More accounts on DIFFERENT Prime systems There is plenty for you to do. I strongly urge that you make the snooping pro- cedure a routine and that you do it *immediately* upon obtaining an account, as you never know how long it might last. Finding out who owns the Prime and what they do on it is always rewarding. The best systems I have been on were Prime Computer, Inc. development systems, 3rd party development systems, and Prime's belonging to certain telephone companies (which shall, of course, remain unmentioned). Depending upon who owns the host you may obtain a bit more information that you had expected. More accounts on the system is what you are really after, however. Many users are exceedingly lax. A brief inspection of all mail in the queue can sometimes yield accounts, as can individual programs (source code) and documents. There will be more on this topic in the section entitled, "Exploring the Vast Reaches of a Prime". As for more accounts on different systems, I am saving that for the article on Prime networking (Part IV). There will be a host of information regarding the advanced snooping tactics used in order to snoop about PRIMENET-based systems and their respective Token-Ring/LAN300 networks. _______________________________________________________________________________ INTERNAL SECURITY Before you can really start exploring your new Prime, you need to understand how PRIMOS internal security is implemented and how to get around it. As you have seen from the section con basic PRIMOS commands, PRIMOS utilizes access control lists (ACL's). Getting around ACL's is almost an impossibility. There will be a full discussion on ACL's in Part V. Also you will occasionally run into passworded directories. To attach to a passworded directory, you would type something similar to this: OK, a 'dirname password' Notice how you followed the directory name with the password and enclosed the entire deal with quotes. If you were going to attach to a passworded sub-UFD you might type something like this: OK, a 'primenet*>info>source password' Passworded directories can be a pain in the ass, but, unlike ACL's, they can be gotten around. Look inside CPL programs (by SLISTing them) for occurrances of ATTACH statements enclosed in single quotes. Thats about all the internal sec- urity in PRIMOS up to the current revision level (22.0.0). _______________________________________________________________________________ EXPLORING THE VAST REACHES OF A PRIME When looking around a Prime, always start in your initial attach UFD. Check out every file in it and every file in sub-UFD's under it. When finished there cruise on up to MFD 0 and start down-attaching to the many UFD's there and look at everything. SLIST all SAM files, read all mail, look at EVERYTHING. Leave no UFD un-attached to! Leave no file un-read. Understandably it will take a good few hours (sometimes as many as 12) to fully investigate a Prime, but believe me, it is worth it. Capture everything that looks valuable to your buffer. When done looking, follow up everything you captured. Well, that about wraps up Part II of this series. Look forward to lots of use- ful information regarding the myriad of PRIMOS applications in the next part of this series. Just some of the information in the next part will be: o Using EDIT_PROFILE to create and modify accounts o The DSM (Distributed System Management) utilities o Using the myriad of MAIL utilities o Editing and Uploading text via the ED text editor Until then may the forces of darkness become confused on the way to your house. _______________________________________________________________________________ End of Part II of the "Introduction to the PRIMOS Operating System" _______________________________________________________________________________