home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 1 / HACKER1.ISO / miscpub1 / lo015.txt < prev    next >
Text File  |  1992-09-26  |  20KB  |  363 lines

  1.  
  2.  
  3.  
  4. The LOD/H Technical Journal: File #5 of 12
  5.  
  6.  
  7.                  An Introduction to Hacking TOPS-20s
  8.                                  by
  9.                           The Blue Archer
  10.  
  11.    To begin with, I would like introduce this article and clarify a few things.
  12. Firstly, this article was written to familiarize interested hackers in DEC's
  13. TOPS-20 (Total OPerating System-20) and give them knowledge of how to
  14. properly utilize its resources.  This article will generally be limited to the
  15. basics, with an advanced article forthcoming.  Secondly, you may have seen
  16. other articles I have written on the Tops-20 a while back. Well this is simply
  17. a better organized and updated article with primarily the same information.
  18. And finally, I would like to say that I welcome any and all questions about
  19. the article or the operating system and would be glad to help out with any
  20. problems. I may be reached on certain boards or through the LOD/H TJ Staff
  21. Account on sponsor BBS's. Anyway, have a good time hacking your local TOPS!
  22.  
  23. Starting Notes
  24. --------------
  25. o Capital letters in the beginning of a command indicate that those letters
  26.   alone may be typed for the whole command.
  27. o <>: Brackets around any element(s) are required.
  28. o (): Parenthesis are not required unless otherwise stated.
  29. o  ~: This symbol refers to control (ex: ~A= Control-A).
  30. o  @: Is the general system prompt and is not considered to be typed by the
  31.       user when shown in examples.
  32. o  $: This is the enabled state system prompt (explained hereafter).
  33.  
  34.                              ----------------
  35.                              /EXTERNAL USAGE/
  36.                              ----------------
  37.  
  38.                              SECTION I: ACCESS
  39.  
  40.   The commands for entering and leaving a Tops-20 are LOGin and LOGOut
  41. respectively. The correct usage of these command are as follows:
  42.   @LOGin USERNAME
  43.   @LOGOut USERNAME
  44. Where username is a variable for the account name. Account names may be
  45. virtually anything, depending upon the system. I employ two methods for
  46. attaining usernames. The first, and most commonly known and used is checking
  47. the system status. This is done thusly:
  48.   @SYstat
  49. This will cause the computer to list out various information about the
  50. assorted users logged in and their status and the status of the system as a
  51. whole. This command does not work on all Tops-20 computers from a non-logged in
  52. state, namely versions 6.1 and higher. A second and immensely more effective
  53. method is superior use of the escape character. The complete use of this
  54. character will be discussed later. For use in logging, one types LOGin and
  55. then a letter or series of letters and then the escape key. Depending on the
  56. number of usernames beginning with the same letter(s), the computer will fill
  57. in the rest of the username. Once the letters are in such a way that if one
  58. continued typing, only one valid username could be gotten, the escape key
  59. will fill in the rest if pressed. Here is an example:
  60. @LOGin S(escape)
  61. (the computer responds with a beep because there is more than one username
  62. starting with the letter S, so I type another letter)
  63. @LOGin SM(escape)
  64. (beep once more)
  65. @LOGin SMI(escape)
  66. @LOGin SMIth (PASSWORD)
  67.           ^^
  68. (The computer fills in the 'th' part of the username for me and asks for the
  69. password with the parenthesis and all).
  70. One note: If the computer fills in an account name and then when a password is
  71. tried it responds with a 'not valid account' message, it simply means that it
  72. is a non-loginable files-only account which will be discussed later.
  73.   While trying to gain access to a system, it is wise to use all the pre-login
  74. resources avaiable. On versions 6.x these resources are virtualy nil but on the
  75. older versions, one may sometimes find an incredible amount of help.  To
  76. see what actual help is available, type:
  77.   @HELP ?
  78. Look for certain things like SECURITY and LOGINHELP.  If the system in use is
  79. on a net, or for some reason the dialup number is not known but wanted, it can
  80. sometimes be found in help files most commonly named DIAL, DIALUP(S), and
  81. PHONES. So, to view them, simply type:
  82.   @HELP DIALUPS
  83. Or the name of whatever help file that is desired to be seen.
  84.   The Information command is also a useful command, more fully discussed
  85. later. The most useful Information commands are as follows:
  86. @Information VERSion
  87.   This will display the banner. If the computer, for security reasons, did
  88.   not display the banner upon connection, then this may prove useful in
  89.   identifying the target computer
  90. @Information DEC
  91.   lists the various Decnet nodes available. On 6.x versions
  92. @I DEC NODENAME
  93.    will tell if a path is open to the node or is the object node is currently
  94.    up and running.
  95. @I ARPA
  96.    will tell the status of ARPANET with respect to this particular computer.
  97. Meaning whether or not the software is up and running and the status of
  98. connections.
  99.   Networking will be explained in the advanced Tops hacking file.
  100.  
  101.                                 ----------------
  102.                                 /INTERNAL USAGE/
  103.                                 ----------------
  104.  
  105.                           SECTION II: SYSTEM FUNCTIONS
  106.  
  107.   Under normal circumstances, with the exception of currently running programs,
  108. the exec level (command level) prompt will be either `@' or `$' depending on
  109. certain options, which will be discussed later. For now we will assume the
  110. prompt is @. This is the place where commands given are executed immediately.
  111. Certain characters are also available for use here (and other places) which
  112. make life on a TOPS-20 easier. Here is a list of those characters:
  113.  
  114. 1) ~C: This gets the system's attention. It will break out of most programs and
  115. processes. It may be necessary to type 2 for it to work, though.
  116. 3) ~O: Halts terminal output without interrupting the program. A second ~O
  117. restarts output to terminal. Note: under this condition output is still being
  118. sent by the computer, it is just not printed on the terminal, as opposed to
  119. an actual ceasing of output by ~S.
  120. 4) ~S: Temporarily pauses current output.
  121. 5) ~Q: Resumes output currently suspended by ~S.
  122. 6) ~R: Retypes current line discarding old line.
  123. 7) ~T: Prints information including what the program in use is doing, CPU
  124. information, and load average (amount of users on system.)
  125. 8) (Escape): The Escape key causes a form of recognition for virtually anything
  126. being done on the TOPS. It will complete commands, filenames, and just about
  127. anything else being typed to the computer. For example I(escape) would result
  128. in the command INFORMATION. For further information on this command refer to
  129. the logging in procedure utilizing this feature.
  130. 9) ?: This is used to obtain information regarding what the system is expecting
  131. as input or what the current command options are. It may be used almost
  132. anywhere, including after single or multiple letters, filenames, etc.
  133. example: @C?
  134. would print a list of available exec level commands starting with the letter C.
  135.  
  136.   Here is a list of commands used to obtain system information:
  137.  
  138. 1) DAYtime: Prints current data and time of day.
  139. 2) HELP: Gives help on a wide variety of topics, depending on the system.
  140. For a complete list, type: HELP ?
  141. 3) Information: Provides information on a wide variety of topics. For a
  142. complete list, type: I ?
  143. 4) SYstat: Outputs a summary of system users and available computer resources.
  144.  
  145.                           SECTION III: ACCOUNT STRUCTURE
  146.  
  147.     The TOPS-20 users login and use the system via accounts which are variable
  148. with different privilege levels and access rights. Accounts are specified by
  149. usernames and most of the time the directory names are the same as the account
  150. names as is also common for VMS. So, logging in under the SMITH means that one
  151. is under the account (username) SMITH. To find out the privileges of an
  152. account, type:
  153. @I DIR <USERNAME>
  154. This can always be done to the account logged in under, and sometimes to other
  155. accounts depending on access rights and the security of the other account. This
  156. command prints out information regarding the account specified. It will even
  157. show passwords on pre-6.x versions of TOPS if one has sufficient privs. In
  158. general the two major levels of privs are full and normal. Full privs are
  159. denoted by OPERATOR or WHEEL in the privilege information printed. This level
  160. gives the user complete authority over the system. The normal level of privs
  161. means anything else but OPERATOR or WHEEL. These forms of accounts have limited
  162. access with respect to system operations and other accounts. Access to certain
  163. programs, files, and information is restricted to whatever extent the system
  164. owners choose. Other minor privilege abilities enable the user to perform
  165. slightly more than completely normal users, and sometimes may be of importance
  166. depending on the circumstances.
  167.   Creation and modification of accounts is done through the BUIld command.
  168. Example:
  169. @BUILD <USERNAME>
  170. Where <USERNAME> is the account to be modified (already exists) or an account
  171. to be created (non-existant). Depending on the privs of the account attempting
  172. to build and system restrictions, one may have a great deal or virtually no
  173. power to create and modify. On most systems, only wheels and operators can
  174. create top level accounts (loginable non-subdirectory accounts). File storage
  175. sub-accounts can be created almost anywhere. These are simply accounts in which
  176. files are put, and these accounts cannot be logged into. To see what options
  177. have been chosen for the account being built, simply type:
  178. @@LIST
  179. Other options for the account being built are as follows:
  180. 1) WHEEL: This gives the account wheel (complete) privileges. If this option is
  181. chosen, then others may be excluded for it is all-encompassing, it overrides
  182. any and all protection.
  183. 2) OPERATOR: Same as wheel.
  184. 3) DECNET-ACCESS: This allows the account to use the decnet, assuming there is
  185. one available. DECNET and other nets will be explained in the advanced article.
  186. 4) ARPANET-ACCESS: Allows user to use the Arpanet.
  187. 5) ARPANET-WIZARD: This command allows the user ARPANET ACCESS and more. This
  188. account has the ability to turn the Arpanet software of the system on and off.
  189. The commands are as follows:
  190. $~ESET ARPA ON
  191. $~ESET ARPA OFF
  192. Use of ~E will be discussed in the next article. The dollar sign for the
  193. system prompt is explained later.
  194. 6) IPCF: Allows Inter-Process Communication Facility capabilities.
  195. 7) DEFAULT-FILE-PROTECTION: Sets the protection of the files in the user's
  196. directory. The lower, the more secure.
  197. 8) PROTECTION-OF-DIRECTORY: Sets protection of the actual account itself. This
  198. means who can connect to it, modify it, etc. Once again, the lower the
  199. protection, the more secure it is against others.
  200. 9) PASSWORD: Sets the password for the account. Type PASSword with the actual
  201. password after it.
  202. 10) KILL: This destroys the account. This command removes the account from the
  203. system.
  204. To complete the creation/modification, type two carriage returns.
  205.  
  206.   The system will not recognize the user as having its various privileges
  207. unless it is told that they are there. This is done thusly:
  208. @ENAble
  209. This enables all the user's privileges and changes the prompt to a '$'. All
  210. accounts, even wheels, are considered normal until enabled, so this must always
  211. be done before an action requiring privileges is performed. It is fine to do
  212. this immediately after logging in and leaving it like that, for it does not
  213. save any adverse effects. At all places in this article where there is a '@',
  214. if enabled would be a '$'.
  215.  
  216.                              SECTION IV: DIRECTORY USAGE
  217.  
  218.   Directories are storage places for files. Each account has a directory in its
  219. own name, and possibly one or more subdirectories. To see what files are in the
  220. directory connected to at the moment, type the command DIRectory:
  221. @DIR
  222. This will list what files, if any, are accesable in this directory. At the time
  223. of login the computer sets the account's own directory as the one to be
  224. connected to unless otherwise specified by such things as login adjustment
  225. files (to be discussed at a later date.) Subdirectories of an account are
  226. denoted by a period between the account name and directory name. Example:
  227. <ACCOUNTNAME.SUBDIRECTORYNAME>
  228. Subdirectories are dealt with as normal directories for purposes of usage.
  229. Dealings with directories other than the current default directory require the
  230. use of brackets. For example, if one wanted to look in a directory titled
  231. <SMITH>, he would have to type:
  232. @DIR <SMITH>
  233. And assuming his directory is not protected, a list of files in the <SMITH>
  234. directory will be produced. The current default directory (the one connected
  235. to) does not require brackets for usage. Most directory commands may be used on
  236. other directories by simply placing the object directory (one to be commanded)
  237. in brackets after the command.
  238.   Here is a list of some of the more important directory related commands:
  239.  
  240. 1) ACCESS: This command requires the password of the target directory and, if
  241. correctly given, transfers rights to that directory including creation/deletion
  242. of files, etc. The format for usage is:
  243. @ACCESS <DIRECTORY>
  244. 2) CONNECT: This changes the current default directory to the specified one. It
  245. may be countered, though, by protection. If ACCESS to the object directory is
  246. on then connection may be established regardless of protection. The command is
  247. used like this:
  248. @CONNECT <DIRECTORY>
  249. 3) COPY: This duplicates an already existing file in another directory to the
  250. current default directory or another specified directory. The format is:
  251. @COPY <OBJECTDIRECTORY>FILENAME.FILETYPE
  252. to copy it to the default directory, or:
  253. @COPY <OBJECTDIRECTORY>FILENAME.FILETYPE <OTHERDIRECTORY>FILENAME.FILETYPE
  254. to copy it to another directory.
  255. 4) DELete: Deletes the file from the directory. It still exists and may be
  256. retrieved until it is completely removed.
  257. 5) EXPunge: Completely removes deleted files from the system forever.
  258. 6) FDIRectory: Lists all information about all files in directory.
  259. 7) RENAme: Rename a specified file. The format is:
  260. @RENAme FILENAME.FILETYPE NEWFILENAME.FILETYPE
  261. 8) UNDELete: Restores deleted files which have not been expunged yet.
  262. 9) VDIRectory: List all information about all files in directory specified,
  263. including protection, size, and date and time when they were last written.
  264.  
  265.     Files in directories are in the form of:
  266. FILENAME.FILETYPE.#
  267. where filename is the name of the file, filetype is the kind of file, and #
  268. is the number of the file. If there is more than one file with the same name,
  269. multiple numbers will be shown. If a number is left out when a command dealing
  270. with a file is typed, then the file with the highest number will be used.
  271.     Here is a list of filetypes and how to properly use them:
  272.  
  273. 1) .BAS: These are files written in basic. To use these, type BASIC or BASIC20
  274. and LOAD them in and RUN, LIST, or modify them in the basic language and SAVE.
  275. 2) .BIN: These are binary files containing program data and are generaly not
  276. directly used.
  277. 3) .CMD: These are command files. They are files of a series of commands to be
  278. executed. Commands will be carried out as if typed by the user from the exec
  279. level. To use them, type:
  280. @TAKE FILENAME.CMD
  281. They are very useful for performing long processes which must be done often.
  282. 4) .CTL: This is a control file for batch jobs. It tells the batch job what to
  283. do when it logs in. Batch jobs are jobs logged into the account which created
  284. it to carry out commands. Further discussion of batch jobs is in the next
  285. TOPS article. The format for usage of these files are:
  286. @SUBmit FILENAME.CTL
  287. 5) .EXE: Files of this sort are executable from the exec level. They are
  288. assembled programs in machine language and the fastest sort of program on the
  289. TOPS. To use them, type:
  290. @<DIRECTORY>FILENAME.EXE
  291. 6) .HLP: This is basically just a text file. Use the same command as the .TXT
  292. forms of files. If a file of this sort is placed within the actual <HELP>
  293. directory, it becomes available to the whole system by simply typing:
  294. @HELP FILENAME
  295. All information obtained through the HELP command is actually in the form of
  296. files in the <HELP> directory.
  297. 7) .INIT: These are initialization routines for various programs. They are not
  298. used directly.
  299. 8) .LOG: This is the output of batch jobs. It details the actions of the job
  300. and the responses of the computer. To view, do this:
  301. @TYpe FILENAME.LOG
  302. 9) .MEM: This is a memorandum. Often times being inter-office memos and the
  303. like. Use them as any normal text file.
  304. 10) .TEXT: This is the uncommon filetype name for a text file. See .TXT for
  305. proper usage.
  306. 11) .TXT: These are text files. They contain written information and data to be
  307. read. The command for using them is as follows:
  308. @TYpe FILENAME.TXT
  309.  
  310.   To use files in other directories, type the directory name in brackets before
  311. the filename. Ex:
  312. @TYpe <SMITH>SECRET.TXT
  313. This applies for all filetypes and commands. Once again restrictions may apply
  314. with regard to protection.
  315.  
  316.                          SECTION V: SYSTEM-WIDE COMMUNICATIONS
  317.  
  318.   Communication to other system users is done primarily two ways: direct and
  319. indirect. Direct includes chatting with another online user and such, while
  320. indirect is generally done through electronic mail and the like.
  321.   Here are the common commands of direct communication:
  322.  
  323. 1) ADVISE: When this is done, whatever is typed at one terminal is executed at
  324. another. For example:
  325.  @ADVISE USERNAME
  326. Then, whatever is typed will be carried out as if typed from that terminal
  327. until the link is broken.
  328. 2) BReak: This breaks all links to the terminal typing BReak.
  329. 3) RECEIVE: This allows the terminal to receive either LINKS or ADVICE, as
  330. specified by the command. Ex:
  331. @RECEIVE ADVICE
  332. 4) REFUSE: This puts up a barrier keeping links or advice from reaching the
  333. terminal. REFUSE ADVICE is default when logging in, so in order receive advice,
  334. one would have to type the proper command.
  335. 5) REMark: Goes into a chat state in which textual information is sent to the
  336. computer and not interpreted as commands.
  337. 6) TALK: Establishes a link between two terminals. Ex:
  338. @TALK SMITH
  339. would establish a link with SMITH. Whatever is typed is seen by both parties.
  340. REMark is useful here if a conversation is to ensue.
  341.  
  342.   Electronic mail can be sent and read through various programs. The most
  343. common ones being MM, MAIL, MS, and RDMAIL. Users are informed when they have a
  344. message waiting upon logging in. Mail is stored in the file MAIL.TXT in the
  345. user's directory. MM and MS are the best mail programs and should be the ones
  346. used, so here is a very brief explanation of the major commands they both
  347. use (they are very similar).
  348.  1)  SEND: This is the command used to send mail to another user. At the prompt
  349. of the respective mail program, type SEND and a carriage return,  the
  350. computer will prompt for information such as the user for the message to be
  351. sent to, other users to receive a copy of the message, and the title of the
  352. piece of mail.
  353. 2) READ: This command, if typed with no argument, will start reading all
  354. currently unread mail. If used with the number of a piece of mail, it will
  355. read that one alone.
  356. 3) HEADERS ALL: This will give a list of all the titles of the various pieces
  357. of mail in the user's mailbox and the corresponding number of that mail.
  358.   Sending mail over networks will be discussed in the next article. Look for it
  359. in the next issue of the Technical Journal.
  360.  
  361.                              Blue Archer (LOH)
  362. Downloaded From P-80 International Information Systems 304-744-2253 12yrs+
  363.