351 lines
15 KiB
Plaintext
351 lines
15 KiB
Plaintext
|
********************
|
|||
|
Basic Unix Use
|
|||
|
By Lord Lawless
|
|||
|
Phortune 500
|
|||
|
Board of Directors
|
|||
|
********************
|
|||
|
March 8, 1987
|
|||
|
-------------
|
|||
|
|
|||
|
This file is basically a brief introduction and overview for the beginning
|
|||
|
hacker to the Unix operating system. All information contained herein is
|
|||
|
accurate to the extent of my knowledge. This file is intended for inform-
|
|||
|
ational purposes only and the author (Lord Lawless) is in NO way responsible
|
|||
|
for the use of this file for purposes other than the aforementioned.
|
|||
|
|
|||
|
Part I: What is Unix?
|
|||
|
----------------------
|
|||
|
Unix is an operating system, so designated because it allows a user to
|
|||
|
interface with a computer in a way that is (hopefully) easy for the user to
|
|||
|
learn and use. Unix can be known by other forms, PC-Unix, Xenix, etc., but
|
|||
|
they all basically are the same (with slight differences this file won't go
|
|||
|
into) and use the same commands. Unix is a wonderfully simple to use OS once
|
|||
|
you begin, and while this file will help you I recommend that you find a Unix
|
|||
|
system somewhere and wander around on it to help yourself to learn. To put
|
|||
|
this more formally:
|
|||
|
|
|||
|
The UNIX system is a set of programs that include a time-sharing
|
|||
|
operating system and a set of utility programs. The operating
|
|||
|
system has two basic parts:
|
|||
|
|
|||
|
1) The kernel is the program in the UNIX operating system
|
|||
|
that is responsible for most operating system functions. It
|
|||
|
schedules and manages all the work done by the computer and
|
|||
|
maintains the file system. It is always running, and is
|
|||
|
invisible to users.
|
|||
|
|
|||
|
2) The shell is the UNIX operating system program responsible
|
|||
|
for handling all interaction between users and the computer.
|
|||
|
It includes a powerful command language called "shell language"*.
|
|||
|
|
|||
|
The utility programs (usually called UNIX commands) are executed
|
|||
|
through the shell, and allow users to communicate with each other,
|
|||
|
to edit and manipulate files, to write and execute programs in
|
|||
|
several programming languages, and many other things.
|
|||
|
|
|||
|
|
|||
|
Part II: Recognizing a Unix system
|
|||
|
-------------------------------------
|
|||
|
When you connect to a Unix system you will see a message usually like
|
|||
|
"AT&T Unix: Unauthorized use will be Prosecuted!" or just "Unix System V" or
|
|||
|
the like. At the least you will see a prompt saying "login:". At this point,
|
|||
|
if possible, make sure that you are in lowercase, because if the computer det-
|
|||
|
ects that you are typing in uppercase everything you read after will be in
|
|||
|
uppercase with lowercase denoted by a \ in front of the word. This is because
|
|||
|
Unix is case sensitive, so be careful, reading lowercase is much easier than
|
|||
|
reading all uppercase and slashes. Ok, so here you are at the Unix "login:"
|
|||
|
prompt.
|
|||
|
|
|||
|
Part III: Logging on
|
|||
|
---------------------
|
|||
|
At this point you must enter your login, and then, if the account (
|
|||
|
never more than 14 characters) has one, the password. Now, all Unix systems
|
|||
|
have default accounts, and unless set by the Root System Operator no passwords.
|
|||
|
This has been the means of infiltration by many the Unix hacker. There are two
|
|||
|
types of accounts in a Unix, the "super user" and the "user". The super user
|
|||
|
has access to almost everything (or everything depending on the system) and the
|
|||
|
user basically has access to the files he owns and what he can sometimes read.
|
|||
|
The default super user accounts on a unix are:
|
|||
|
|
|||
|
ROOT
|
|||
|
MAKEFSYS
|
|||
|
MOUNTFSYS
|
|||
|
UMOUNTFSYS
|
|||
|
CHECKFSYS
|
|||
|
and sometimes
|
|||
|
ADMIN
|
|||
|
SYSADMIN.
|
|||
|
|
|||
|
For passwords to these try things like SYSTEM, SYSMAN, SYSADMIN, ADMINISTRATOR,
|
|||
|
OPERATOR, SYSOP, etc.
|
|||
|
The default user-level accounts are:
|
|||
|
LP
|
|||
|
DAEMON
|
|||
|
TROUBLE
|
|||
|
NUUCP
|
|||
|
UUCP
|
|||
|
RJE
|
|||
|
ADM
|
|||
|
SYSADM
|
|||
|
SYNC
|
|||
|
BIN
|
|||
|
|
|||
|
(Note: These accounts should be entered in lower case , I merely wrote them
|
|||
|
in upper case for easier reference.)
|
|||
|
After being on Unix's, I have also seen the following common accounts:
|
|||
|
USER
|
|||
|
UNIX
|
|||
|
GAMES
|
|||
|
GUEST
|
|||
|
STUDENT -on school run Unix's.
|
|||
|
|
|||
|
The maximum length of a password is 11 characters.
|
|||
|
After doing all this you should, with luck, be in!
|
|||
|
If you couldn't hack anything out, try typing "WHO" at the login: prompt, it
|
|||
|
may list all the user accounts and you can try them until you find one without
|
|||
|
a password.
|
|||
|
|
|||
|
Part IV: You're in!!!
|
|||
|
----------------------
|
|||
|
Congratulate yourself, the hardest part of Unix "hacking" is over. Ok,
|
|||
|
now that you're in you'll see a prompt which will probably look like "$" for a
|
|||
|
user account or "#" if you got lucky and got a super user account.
|
|||
|
(Quick note, to stop a unix process in action try typing ctrl-d or control
|
|||
|
backspace, these are the end of file/Stop process keys.)
|
|||
|
Ok, so you are now in. Let me give a quick lesson on Unix directories. In
|
|||
|
Unix, the root is the main directory, and it contains subdirectories which may
|
|||
|
contain subdirectories etc. In order to change to the root directory, one
|
|||
|
would type "cd /". This is because "cd" is the command "change directory" and
|
|||
|
"/" is the root directory. To change to subdirectory "Bill" contained in the
|
|||
|
root directory, you would type "cd /Bill" or, if you were in the root dir, just
|
|||
|
"cd Bill". If you wanted to access Bill's files, you'd enter "cd /Bill/files"
|
|||
|
assuming Bill had a subdir called files where he kept his files. This is how
|
|||
|
a person would move around in a Unix sys. Graphically, it looks like this:
|
|||
|
|
|||
|
Root
|
|||
|
__________!!_________
|
|||
|
!!
|
|||
|
__Bill__
|
|||
|
!!
|
|||
|
__Files__
|
|||
|
|
|||
|
|
|||
|
Part V: Basic Commands
|
|||
|
-----------------------
|
|||
|
Ok, these commands are the most useful ones that I've found and can are
|
|||
|
entered from the prompt.
|
|||
|
|
|||
|
Command:What it does
|
|||
|
--------------------
|
|||
|
ls gives a listing of all files in a directory
|
|||
|
|
|||
|
cat gives a dump to screen of what is contained in a file. For instance
|
|||
|
"cat phones" would show me what is in file "phones".
|
|||
|
|
|||
|
cd change directory
|
|||
|
|
|||
|
pwd shows what directory path you are in now
|
|||
|
|
|||
|
ps shows system processes
|
|||
|
|
|||
|
rm remove a file, for instance "rm phones".
|
|||
|
|
|||
|
rmdir removes a directory, for instance "rm Bill".
|
|||
|
|
|||
|
grep print ascii strings in a file, ie "grep phones"
|
|||
|
|
|||
|
who shows who's on the system
|
|||
|
|
|||
|
mail sends mail to a user, syntax mail <username>
|
|||
|
|
|||
|
su change from 1 account to another. For instance, if you are account
|
|||
|
Bill and wish to change to account Jake (which is unpassworded) just
|
|||
|
type "su Jake" and you will change to him. If Jake has a password you
|
|||
|
will be prompted to enter it. This is useful for loggin in under a
|
|||
|
user account and switching later to a super user account.
|
|||
|
|
|||
|
passwd allows a user to change his password. If you are a superuser you can
|
|||
|
change someone elses password by typing "passwd <account>".
|
|||
|
|
|||
|
mkuser make a user (providing you are a super user)
|
|||
|
|
|||
|
mkdir create a directory
|
|||
|
|
|||
|
More Information about Commands
|
|||
|
-------------------------------
|
|||
|
The following are more of the most basic Unix commands.
|
|||
|
|
|||
|
cat cd chmod cp cut date
|
|||
|
echo egrep fgrep file find glossary
|
|||
|
grep help ln locate ls mail
|
|||
|
mesg mkdir mv news pr ps
|
|||
|
pwd rm sleep sort starter stty
|
|||
|
tabs tail tee time touch tty
|
|||
|
uname usage wall wc who write
|
|||
|
|
|||
|
Using the Command: mkdir
|
|||
|
|
|||
|
Syntax Summary: mkdir dir_name1 [ dir_name2 ...]
|
|||
|
where:
|
|||
|
dir_names are simple subdirectory names,
|
|||
|
relative pathnames, or full pathnames
|
|||
|
|
|||
|
Description:
|
|||
|
mkdir creates one or more new directories.
|
|||
|
If mkdir is given a simple name as an argument, the new
|
|||
|
directory will be a subdirectory of the current directory.
|
|||
|
You can make new directories anywhere in the file system
|
|||
|
by giving mkdir a complete or relative pathname for the new
|
|||
|
directories, if you have permission to write in the directory
|
|||
|
where the new directory is to be created.
|
|||
|
|
|||
|
Ok, those are the basic commands you will need to go around in the system.
|
|||
|
|
|||
|
Part VI: Useful Information
|
|||
|
----------------------------
|
|||
|
A great place to go to get information on who is on the system and
|
|||
|
what accounts you can use to get on again is contained in the file "passwd"
|
|||
|
in the "etc" directory. To look at it, cd etc, and then cat passwd. The
|
|||
|
first entry should say something like this:
|
|||
|
root:adfaBADca:0:1:Operator:/:/bin/sh
|
|||
|
what this means is that the root account has an encrypted password, has super-
|
|||
|
user capabilities (any user with a 0 in that slot is a super user) is in group
|
|||
|
1 (relatively unimportant for this file), has a comment of Operator (this may
|
|||
|
be blank), has a home directory of / (the root) and uses the Bourne Shell, kept
|
|||
|
in the /bin directory.
|
|||
|
You will then see all the other users listed out in the same format. If you
|
|||
|
see an account followed by two colons, that means that it has no password. You
|
|||
|
want these accounts so that you can log in under them another time. If you get
|
|||
|
real lucky you may see something like this:
|
|||
|
makefsys::0:1:/bin:/bin/sh
|
|||
|
meaning that you have found a super user account with no password, a very
|
|||
|
useful item indeed.
|
|||
|
|
|||
|
Another good place to look is the /usr/spool dir and the
|
|||
|
/usr/spool/cron/crontabs dir because if you are a super user that dir contains
|
|||
|
much that will be useful to you.
|
|||
|
|
|||
|
In order to move up to a directory one level higher than you are presently in,
|
|||
|
type "cd ..". So to move from /Bill/files to /Bill I would just type cd ..
|
|||
|
and, assuming I started in /Bill/files I would now be in /Bill.
|
|||
|
|
|||
|
Ok, now you can wander the system "cat"'ing around and whatnot. If a file
|
|||
|
doesn't "cat", try just typing it's name, that will execute it if you have the
|
|||
|
privileges. Try typing "admin" or "ua" if you are a superuser nad maybe you'll
|
|||
|
be able to create users or other interesting things. You may not be able to
|
|||
|
cat a file or run it because you lack access permissions. What are they? Read
|
|||
|
on!
|
|||
|
|
|||
|
Access Permissions
|
|||
|
------------------
|
|||
|
access permissions: permissions: mode: owner:
|
|||
|
owner/group/others: read/write/execute
|
|||
|
|
|||
|
As the user of a UNIX system, you can decide who can read, write,
|
|||
|
and execute the files and directories that you own. You are
|
|||
|
usually the owner of files and directories that you have created in
|
|||
|
your login directory and in the "subdirectories"* in your login
|
|||
|
directory. You may also own files in other peoples' directories.
|
|||
|
You control the use of your files and directories by specifying the
|
|||
|
access permissions, also called the mode, for each. You can specify
|
|||
|
different access permissions for yourself, your "group"*, and the
|
|||
|
other users of the system. Permission to read allows the user to
|
|||
|
read the contents of the file. Write permission allows the user to
|
|||
|
change the file and execute permission enables the user to execute
|
|||
|
the program within the file.
|
|||
|
|
|||
|
ls -l
|
|||
|
|
|||
|
prints the access permissions for each file and directory in the
|
|||
|
current directory. The sample listing below shows the mode of the
|
|||
|
file (preceded by a -), the number of "links"*, the owner, the
|
|||
|
"group ID"*, the size in characters, the date and time the file
|
|||
|
was last modified, and the "filename"*.
|
|||
|
|
|||
|
-rwxr-x--x 1 sandy 12345 128 Oct 9 9:32 lock
|
|||
|
|
|||
|
If this were a listing for a directory, the hyphen (-) would be
|
|||
|
replaced by the letter d. The owner of the file "lock" can read,
|
|||
|
write and execute the file, the group can read and execute it, and
|
|||
|
the others can only execute it. You can change the mode of your
|
|||
|
files and directories by using the change mode command, chmod.
|
|||
|
|
|||
|
Other interesting places to look are in the directories assigned to the users
|
|||
|
on the Unix system, often their files will contain some useful information.
|
|||
|
Also try going into the /uucp directory or looking for any uucp dir anywhere as
|
|||
|
it may contain phone numbers to other Unix systems or other "goodies".
|
|||
|
|
|||
|
|
|||
|
The *: asterisk
|
|||
|
---------------
|
|||
|
In the shell, an asterisk matches any "string"* of characters in
|
|||
|
a "filename"* on a command line. The command
|
|||
|
|
|||
|
rm temp*
|
|||
|
|
|||
|
removes all files from the current working directory that begin with
|
|||
|
the string "temp". Files like "temp", "temp1", "temp.1", and
|
|||
|
"temp.save" would all be deleted. An asterisk alone matches any
|
|||
|
filename in the current working directory except those beginning
|
|||
|
with "dot (.)"*. For example,
|
|||
|
|
|||
|
rm *
|
|||
|
|
|||
|
removes all the files in your directory except for the dot (.)files.
|
|||
|
|
|||
|
Finally, typing help at the unix prompt may bring up a help manual that is
|
|||
|
usually quite well done and will help you if you are stuck or wish to explore
|
|||
|
in more depth the commands I didn't go into.
|
|||
|
|
|||
|
Hmm, what else? I can't think of much more right now that would help you much
|
|||
|
more, in this file I think I've covered everything that should get you well on
|
|||
|
your way towards becoming a unix hacker. Once you've got this, start reading
|
|||
|
files on "Unix Shells", "Scripts", and ask around A LOT. Ah, I just remembered
|
|||
|
something. To get help on a command, type "man <command>" or "whatis <command>
|
|||
|
" and you may find out. Also, a lot of Unix's have a built in Help feature
|
|||
|
somewhere, try to get to it.
|
|||
|
|
|||
|
Part VII: A Few Final Words
|
|||
|
----------------------------
|
|||
|
If you manage to get onto a Unix system, don't screw it up. Unix is a
|
|||
|
great operating system, and fun to learn on and have other people learn on.
|
|||
|
Don't become a superuser and delete everything or other things, it's just not
|
|||
|
worth it. Also, don't make a use called "Hacker" or "Shadow 1" or something,
|
|||
|
that's a blatant giveaway. Put an account a little out of the way directory,
|
|||
|
and create user level accounts if you must, and perhaps just 1 super user
|
|||
|
level. I can't think of much more to say on the basics, though I probably left
|
|||
|
some important things out....nobody's perfect. I hope you enjoyed the file and
|
|||
|
I can be found on the following boards:
|
|||
|
|
|||
|
The Private Connection
|
|||
|
The Undergraduates Lounge
|
|||
|
Quick Shop
|
|||
|
Phreak Klass 2600
|
|||
|
The Brewery
|
|||
|
The Works
|
|||
|
Slaughterhouse 5, Holovision Network Node 1
|
|||
|
Spock's Brain
|
|||
|
|
|||
|
Special Thanks to: The Prophet, for his excellent file: Unix Use and Security
|
|||
|
From the Ground Up.
|
|||
|
|
|||
|
The End, good luck, enjoy yourself, and don't get caught!
|
|||
|
|
|||
|
Lord Lawless
|
|||
|
Phortune 500/BOD
|
|||
|
|
|||
|
--This has been a Lord Lawless Presentation, (C) 1987.--
|
|||
|
|
|||
|
|
|||
|
u are a super user that dir contains
|
|||
|
much that will be useful to you.
|
|||
|
|
|||
|
In order to move up to a directory one level higher than you are presently in,
|
|||
|
type "cd ..". So to move from /Bill/files to /Bill I would just type cd ..
|
|||
|
and, assuming I started in /Bill/files I would now be in /Bill.
|
|||
|
|
|||
|
Ok, now you can wander the system "cat"'ing around and whatnot. If a file
|
|||
|
doesn't "cat", try just typing it's name, that will execute it if you have the
|
|||
|
privileges. Try typing "admin" or "ua" if you are a superuser nad maybe you'll
|
|||
|
be able to create users or other interesting things. You may not be able to
|
|||
|
cat a file or run it because you lack access permissions. What are they? Re
|