===== Phrack Magazine presents Phrack 16 ===== ===== File 3 of 12 ===== ========================================== ==== Cosmos Kid Presents... ==== ==== A Hacker's Guide To: PRIMOS ==== ==== Part I ==== ==== (c) 1987 by Cosmos Kid ==== ========================================== Author's Note: -------------- This file is the first of two files dealing with PRIMOS and its operations. The next file will be in circulation soon so be sure to check it out at any good BBS. Preface: -------- This file is written in a form to teach beginners as well as experienced Primos users about the system. It is written primarily for beginners however. PRIMOS, contrary to popular belief can be a very powerful system if used correctly. I have outlined some VERY BASIC commands and their use in this file along with some extra commands, not so BASIC. Logging On To A PRIMOS: ----------------------- A PRIMOS system is best recognized by its unusual prompts. These are: 'OK', and 'ER!'. Once connected, these are not the prompts you get. The System should identify itself with a login such as: Primenet V2.3 -or- Primecom Network The system then expects some input from you,preferably: LOGIN. You will then be asked to enter your user identification and password as a security measure. The login onto a PRIMOS is as follows: CONNECT Primenet V 2.3 (system) LOGIN (you) User id? (system) AA1234 (you) Password? (system) KILLME (you) OK, (system) Preceding the OK, will be the systems opening message. Note that if you fail to type login once connected, most other commands are ignored and the system responds with: Please Login ER! Logging Off Of A PRIMOS: ------------------------ If at any time you get bored with Primos, just type 'LOGOFF' to leave the system. Some systems have a TIMEOUT feature implemented meaning that if you fail to type anything for the specified amount of time the system will automatically log you out, telling you something like: Maximum Inactive Time Limit Exceeded System Prompts: --------------- As stated previously, the prompts 'ER!' and 'OK,' are used on Primos. The 'OK,' denotes that last command was executed properly and it is now waiting for your next command. The 'ER!' prompt denotes that you made an error in typing your last command. This prompt is usually preceded by an error message. Special Characters: ------------------- Some terminals have certain characteristics that are built in to the terminal. key CONTROL-H Deletes the last character typed. Other Special Characters: ------------------------- RETURN: The return key signals PRIMOS that you have completed typing a command and that you are ready for PRIMOS to process the command. BREAK/CONTROL-P: Stops whatever is currently being processed in memory and will return PRIMOS to your control. To restart a process, type: START (abbreviated with S). CONTROL-S: Stops the scrolling of the output on your terminal for viewing. CONTROL-Q: Resumes the output scrolling on your terminal for inspection. SEMICOLON ';': The logical end of line character. The semicolon is used to enter more than one command on one line. Getting Help: ------------- You can get on-line information about the available PRIMOS commands by using the 'HELP' command. The HELP system is keyword driven. That is, all information is stored under keywords that indicate the content of the help files. This is similar to VAX. Entering the single command 'HELP' will enter the HELP sub-system and will display an informative page of text. The next page displayed will provide you with a list of topics and their keywords. These topics include such items as PRIME, RAP, MAIL, and DOC. If you entered the MAIL keyword, you would be given information concerning the mail sub- system available to users on P simply enter PRIME to obtain information on all PRIMOS commands. You could then enter COPY to obtain information on that specific topic. Files And Directories: ---------------------- The name of a file or sub-directory may have up to 32 characters. The filename may contain any of the following characters, with the only restriction being that the first character of the filename may not be a digit. Please note that BLANK spaces are NOT allowed ANYWHERE: A-Z .....alphabet 0-9 .....numeric digits & .....ampersand # .....pound sign $ .....dollar sign - .....dash/minus sign * .....asterisk/star . .....period/dot / .....slash/divide sign Naming Conventions: ------------------- There are very few restrictions on the name that you may give a file. However, you should note that many of the compilers (language processors) and commands on the PRIME will make certain assumptions if you follow certain guidelines. File name suffixes help to identify the file contents with regard to the language the source code was written in and the contents of the file. For instance, if you wrote a PL/1 program and named the file containing the source code 'PROG1.PL1' (SEGmented loader) would take the binary file, link all the binary libraries that you specify and produce a file named 'PROG1.SEG', which would contain the binary code necessary to execute the program. Some common filename suffixes are: F77, PAS, COBOL, PL1G, BASIC, FTN, CC, SPIT (source files). These all denote separate languages and get into more advanced programming on PRIMOS. (e.g. FTN=Fortran). BIN=the binary code produced by the compiler LIST=the program listing produced by the compiler SEG=the linked binary code produced by SEG Some files which do not use standard suffixes may instead use the filename prefixes to identify the contents of the file. Some common filename prefixes are: B Binary code produced by the compiler L source program Listing C Command files $ Temporary work files (e.g. T$0000) # Seg files Commands For File Handling: ---------------------------- PRIMOS has several commands to control and access files and file contents. These commands can be used to list the contents of files and directories, and to copy, add, delete, edit, and print the contents of files. The capitalized letters of each are deleted. A LIST must be enclosed in parenthesis. Close arg ....Closes the file specified by 'arg'. 'Arg' could also be a list of PRIMOS file unit numbers, or the word 'ALL' which closes all open files and units. LIMITS ....Displays information about the login account, including information about resources allocated and used, grantor, and expiration date. Edit Access ....Edits the Access rights for the named directories and files. CName arg1 arg2 ....Changes the Name of 'arg1' to 'arg2'. The arguments can be files or directories. LD ....The List Directory command has several arguments that allow for controlled listing format and selection of entries. Attach arg ....allows you to Attach to the directory 'arg' with the access rights specified in the directory Access Control List. DOWN ....allows you to go 'DOWN into' a sub-ufd (directory). You can specify which one of several sub-ufds to descend into with the optional 'arg'. UP ....allows you to go 'UP into' a higher ufd (directory). You can specify which one of several to climb into with the optional 'arg'. WHERE ....Displays what the current directory attach point is and your access rights. CREATE arg ....CREATES a new sub-directory as specified by 'arg'. COPY arg1 arg2 ....COPIES the file or directory specified by 'arg1' into a file by the same name specified by 'arg2'. Both 'arg1' and 'arg2' can be filename with the SPOOL command, whose format is: SPOOL filename -AT destination where filename is the name of the file you want printed, and destination is the name of the printer where you want the file printed. For example if you want the file 'HACK.FTN' printed at the destination 'LIB' type: SPOOL HACK.FTN -AT LIB PRIMOS then gives you some information telling you that the file named was SPOOLed and the length of the file in PRIMOS records. To see the entries in the SPOOL queue, type: SPOOL -LIST PRIMOS then lists out all the files waiting to be printed on the printers on your login system. Also included in this information will be the filename of the files waiting to print, the login account name of the user who SPOOLed the file, the time that the file was SPOOLed, the size of the file in PRIMOS records, and the printer name where the file is to print. Changing The Password Of An Account: ------------------------------------ If you wish to change the password to your newly acquired account you must use the 'CPW' command (Change PassWord). To do this enter the current password on the command line followed by RETURN. PRIMOS will then prompt you for your desired NEW password and then ask you to confirm your NEW password. To change your password of 'JOE' to 'SCHMOE' then type: OK, (system) CPW JOE (you) New Password? (system) You can save a copy of your terminal session by using the COMO (COMmand Output) command. When you type: COMO filename Everything which is typed or displayed on your terminal is saved (recorded) into the filename on the command line (filename). If a file by the same name exists, then that file will be REPLACED with NO WARNING GIVEN! When you have finished doing whatever it was you wanted a hardcopy of, you type: COMO -End which will stop recording your session and will close the COMO file. You can now print the COMO file using the SPOOL command as stated earlier. Conclusion: ----------- This concludes this first file on PRIMOS. Please remember this file is written primarily for beginners, and some of the text may have seemed BORING! However, this filewaswrittenin a verbose fashion to FULLYINTRODUCEPRIMOS to beginners. Part II will deal with more the several languages on PRIMOS and some other commands. Author's Endnote: ----------------- I would like to thank the following people for the help in writing this file: AMADEUS (an oldie who is LONG GONE!) The University Of Kentucky State University Of New York (SUNY) Primenet And countless others..... Questions, threats, or suggestions to direct towards me, I can be found on any of the following: The Freeworld ][.........301-668-7657 Digital Logic............305-395-6906 The Executive Inn........915-581-5146 OSUNY BBS................914-725-4060 -=*< Cosmos Kid >*=- ========================================