home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / zines / a_m / lodhtj01.005 < prev    next >
Encoding:
Text File  |  2003-06-11  |  19.4 KB  |  362 lines

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