801 lines
38 KiB
Plaintext
801 lines
38 KiB
Plaintext
_______________________________________________________________________________
|
|
|
|
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) <USER05>
|
|
|
|
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 <USER05> 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 <COMDEV>
|
|
SMITH 5 3( 3) <USER05> <COMDEV>
|
|
JOHNSON 70 104( 68) <USER05> <COMDEV>
|
|
PRIME 87 125( 85) <USER05> <COMDEV>
|
|
TIMER_PROCESS 123 kernel <COMDEV>
|
|
LOGIN_SERVER 124 LSr <COMDEV> (3)
|
|
DSMSR 125 DSM <COMDEV>
|
|
DSMASR 126 DSM <COMDEV>
|
|
SYSTEM_MANAGER 127 SMSr <COMDEV>
|
|
LIB 129 phant <COMDEV> AL132
|
|
LQP 130 phant <COMDEV> AL133
|
|
PR0 131 phant <COMDEV> PR2
|
|
BATCH_SERVICE 132 phant <COMDEV>
|
|
SYSTEM 133 phant <USER01> <COMDEV>
|
|
SYSTEM 134 phant <USER01> <COMDEV>
|
|
SYSTEM 135 phant <USER01> <COMDEV>
|
|
SYSTEM 136 phant <USER01> <COMDEV>
|
|
|
|
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 "<Current directory>":
|
|
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 "<Current directory>":
|
|
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"
|
|
_______________________________________________________________________________
|
|
|
|
|