home *** CD-ROM | disk | FTP | other *** search
- ;--------------------------------------------------------------------------;
- ; Program: password ;
- ; Programmer: George Kerber ;
- ; Written: 05/22/89 - 04/14/90 ;
- ; Version: v1.42p ;
- ; Application: AmigaDOS & Workbench v1.3 ;
- ; Purpose: Provides password protection. Operation is similar to ;
- ; the UNIX passwd command. ;
- ;--------------------------------------------------------------------------;
-
- _________________________________________________________________________
-
- This program is SHAREWARE, see the SHAREWARE instructions below.
- _________________________________________________________________________
-
-
- SYNTAX: password [ -a SYS: ]
-
- Where 'SYS:' is the drive where all your system files are located, normally
- this is your boot disk. Password will assign all system directories to this
- drive.
-
- Execute 'password -a SYS:' from your startup sequence to verify the password
- and set the SYS: drive.
-
- Password change will only be accessible once the "password -a SYS:" program
- has been executed at boot time. Both the '-a' and 'SYS:' options are
- required to verify the password during the boot up process. A colon must
- be used after the drive designation. Execute password with no options to
- change the password.
-
-
- Testing???
- ----------
- I suggest creating copying your Workbench 1.3 disk and installing the
- password program on it using supplied password.install script for a
- good way to test the program before installing it on your hard-drive or
- any other floppies. You may have to make some room on a standard
- Workbench disk to install this program, I suggest getting rid of most
- of the stuff in the utilities directory.
-
-
- Installation:
- -------------
- The following directions must be followed exactly, or password will fail or
- destroy system security.
-
- Copy password to the c: directory of your boot disk and to the c: directory
- of your system disk (if they are different).
-
-
- Startup-Sequence:
- -----------------
-
- A few commands for setup must be completed in your startup-sequence before
- executing password. You should only execute what is absolutely necessary in
- your startup-sequence. DO NOT execute any program that allows you to open
- a new window before the password program is executed. PopCLI is a good
- example of a program not to execute before password.
-
- If you have a hard-drive and are booting from a floppy, you should mount the
- hard-drive first.
-
- For accounting purposes, your battery clock (if it exists) should be read
- before executing password. (see below) If you are using the AmigaDOS
- 'setclock' program to set your clock, and it is located in your SYS:c
- directory, it WILL BE EXECUTED from the password program. It is not
- necessary to execute 'setclock' from your startup-sequence. If you are
- using some other command to read your battery clock, you must execute this
- command before executing password in your startup-sequence. If you are not
- using the AmigaDOS 'setclock' command, you should remove it from your c:
- directory.
-
-
- At minimum (and probably maximum) your startup-sequence should look like
- this:
-
- read your battery clock....
- (if you are not using the AmigaDOS setclock command)
- password -a df0:
- endcli
-
- Password will open a shell and execute a file called s:startup2 if it
- exists. Note that this file name is different from the standard AmigaDOS
- startupII file.
-
- A workable startup-sequence and startup2 has been included with this archive
- that will work for a floppy system.
-
- The following series of commands are executed from within the password
- program:
-
- makedir ram:clipboards
- makedir ram:t
- assign SYS: (whatever drive you specified via options)
- assign C: sys:c
- assign DEVS: sys:devs
- assign LIBS: sys:libs
- assign S: sys:s
- assign SYSTEM: sys:system
- assign L: sys:l
- assign FONTS: sys:fonts
- assign T: ram:t
- assign CLIPBOARDS: ram:clipboards
- assign ENV: ram:env
- mount newcon:
- mount speak:
- setclock load (if it exists in your c: directory)
- resident >nil: cli l:shell-seg system pure add
- newshell newcon:0/0/640/200/Secure-Shell from s:startup2
-
- A working copy of 'mount', 'resident' and 'newshell' must be in your c:
- directory. The make directories and assigns do not use AmigaDOS commands.
-
- As you can see, quite a bit of set-up is being done from the password
- program. The commands listed above should not be repeated in the
- startup-sequence or startup2 scripts.
-
- Please note that the ram:env directory is no longer being created by the
- password program. You must create and assign this directory yourself in
- the startup2 file. See the note below about the next version of Workbench
- for more information.
-
- If password is satisfied, it will open a SHELL window and execute a script
- called s:startup2 if it exists. Finish any commands that you need to
- complete in startup2. Complete startup2 with a loadwb and endcli command if
- you want the workbench to be loaded and shown. The startup2 file should
- be in the s: directory of your system disk as was specified in your
- startup-sequence.
-
- There is a script called password.install which if executed will copy the
- password program and all supporting files to your system disk. This script
- will modify your disks, so be sure to have current backups. Be aware that
- your existing startup-sequence and startup2 files will be overwritten. This
- password.install script should only be used for non-hard-drive systems.
-
- The following files should be copied or renamed as described below. You may
- choose to use the supplied startup-sequence, startup2 and shell-startup or
- modify your existing files.
-
-
- DEFINITIONS:
-
- boot disk: this is the disk that you boot from. It may be df0: or
- your hard drive if you auto-boot.
- system disk: this is the disk that you assigned to sys: in your
- startup-sequence. The boot disk and system disk may be
- the same disk.
-
- RENAME:
-
- rename your c:dir command to c:dirx
-
- COPY:
-
- startup-sequence ----- copy to your boot disk s: directory.
- startup2 ------------ copy to your system s: directory.
- password ------------- copy to your boot and system c:
- directory.
- loop ----------------- rename to dir and copy to your boot c:
- directory and system disk c: directory.
- shell-startup -------- copy to your system s: directory.
-
-
-
- DIRECTIONS:
- -----------
- Once you have installed password properly, reboot using your new boot disk.
- Since this is the first time you have executed the program, you will be
- asked for the maintenance password. This is a hard coded password that will
- always work. Keep the maintenance password secure, since anyone will have
- complete access to your computer if they know the maintenance password. You
- only have one chance to enter the maintenance password.
-
- The maintenance password is: 'shareware' without the quotes. This password
- cannot be located, viewed, or changed with a disk sector editor, like
- newzap.
-
- You will be prompted to enter a user password twice. The user password must
- be between 5 and 15 characters. When you finish creating the user password,
- your startup-sequence/startup2 will continue. The user password you entered
- will be stored in a file called s:password. The password is encoded and is
- secure from prying eyes. If this file ever gets deleted, password will
- prompt for the maintenance password the next time the password is needed.
- Deleting the password file will not help anyone gain access. Never delete
- the s:password file for any reason once it is created. If this file ever
- gets deleted, the password or loop program (described below) could force a
- reboot.
-
- Once you are booted up, you can change the user password anytime if you know
- the old password or the maintenance password. Execute password with no
- options, you will be prompted for the old and new passwords. Here you have
- the option of removing the password protection. Press enter when you are
- asked for the new password. If you choose to have the password protection
- removed, password will still execute on bootup, but will not ask for a
- password from the user. You will only have 5 chances to complete the
- password change correctly, but you can always try again. Entering a 'q' at
- any prompt will terminate the password change utility. This feature allows
- your to remove the password protection easily, without having to change any
- of your system setup.
-
- Everytime you boot from this disk, the user will be prompted for the user
- password (although the maintenance password can be entered) unless you have
- previously set password for "no password" as described above. The user will
- only have three chances to enter the correct password. If the user
- makes 3 invalid attempts, the program goes into a loop and the only way out
- is to reboot.
-
-
- ACCOUNTING:
- -----------
- There are many accounting methods used in the password program, so the
- system disk must be writable. Password will check if it can write to the
- system disk and prompt the user if the sys: disk is writeprotected. If the
- user doesn't correct the trouble, it's loop time....
-
- Every incorrect password entered on bootup is recorded in a file called
- s:Access on your system disk.
-
- The date and time of every boot is recorded in a file called s:usage on your
- system disk.
-
- Every access attempt that fails for any reason has the date and time
- recorded in both the s:usage file and l:denied.
-
- Once the user gives the correct password, the program checks if any previous
- access's have been denied, if so the date and time will be displayed to the
- user. So whenever an authorized user boots up the Amiga, they will be
- notified of any unauthorized access attempts, and a permanent record of all
- unauthorized access attempts will be maintained in a file called l:denied.
-
-
- SECURITY:
- ---------
- There is a program called loop included in this archive. This program can
- be used to assist in system security to insure that the system was booted
- properly using the password program. I suggest that you rename the dir
- command in your c: directory to dirx and then rename loop to dir and copy it
- to your c: directory. If the password program was used to boot the Amiga,
- executing the new dir command will call the dirx command and the user will
- not notice any difference. If the Amiga was not booted using the password
- program when the dir command is executed, it's loop time.....
-
- If you were going to break into someone's computer, what is the first
- command you'd run when you got the prompt? Right, a dir command to look
- around! Follow the above directions and running a dir will cause the system
- to lock up unless the disk was booted using password.
-
- Loop can be used with almost any program and it has an option to only check
- for a proper boot up using the password program and loop if it wasn't. No
- other output will be done. This can be useful to add a "dir -q" to
- every script you have on your system, including your startup2 file.
-
- NOTE: loop will not work with some ARP commands (dir works, list
- doesn't????), and some won't work because of what they do, like cd.
-
- Another useful security measure is to rename the password program to
- something that doesn't sound like password. Try calling it mkdir or time or
- something like that. If someone were to see mkdir -a dh0: in your
- startup-sequence, would they suspect a password program?
-
- You should password protect every bootable disk you have. Of course you
- shouldn't write to your original disks, but they should be locked up
- somewhere away from your computer anyway.
-
- Once someone can boot up on one of your disks, they can simply use the dir
- commands from that disk to look at your protected disk. Maybe your should
- use the dir/loop trick on every copy of dir your have.
-
- If you have a hard-drive, keep only what is absolutely necessary on your
- boot disk. Keep a trick copy of dir, but don't keep any other commands like
- list, delete, type etc... See the section for Advanced Users below.
-
- Total security on the Amiga is impossible. But using this program can
- keep most people out. Most people are computer illiterates and would never
- be able to break this program. The key to the password program is to insure
- that it is executed from your startup-sequence. There are ways to stop the
- startup-sequence from executing, but I won't describe them here. By doing
- some of the system setup in the password program and using the loop program
- as described above should help.
-
-
- Advanced Security For Hard Disk Users:
- --------------------------------------
-
- It is very difficult to secure an auto-booting Amiga.
- There are a few steps that can make it more secure.
-
- 1. Set up a small partition on your hard drive about
- half a megabyte. Make this your boot drive. Keep all of your
- normal workbench files and directories on your normal partition
- and have password assign this as your SYS: disk.
-
- 2. Copy the contents of the following directories from a workbench 1.3
- disk to this partition:
-
- libs
- l
- devs
- fonts
- If you are using ARP, do not copy the arp.library to this
- 'fake' libs directory, unless you need it for some command
- you are executing before password.
-
- 3. Create a c: directory but do not copy any workbench c: directory
- programs to it. Copy only the commands that you are executing
- before the password program in your startup-sequence and the
- password program itself to this c: directory.
-
- 4. Make many copies of the loop program included in this archive to
- the c: directory of your boot partition. Rename these copies to
- standard workbench c: directory commands like, dir, cd, copy, list,
-
- info, etc.
-
- 5. Create a s:startup-sequence in your new small partition with only
- these commands:
-
- password -a dh0:
- endcli
-
- Now, if anyone stops your startup-sequence from executing before the
- password programs runs, the default SYS: disk will be your new partition.
- If they try executing any programs that you have loop renamed to, the
- computer will lock up and a reboot will be required.
-
-
- SECTOR EDITOR CHANGES:
- ----------------------
- Some password strings can be changed by using a sector editor, like newzap.
- Do not attempt to edit the program unless you have made backup copy of
- password and are familiar with sector editors. If any of the shareware
- character strings are changed, the program will become inoperative.
-
- You can change the speech strings if you don't like my choice of spoken
- error messages. I left 60 characters for all the bad password speech
- strings.
-
- You can change the c:setclock to a command your particular setup requires to
- read the battery clock.
-
-
- ICONS ?
- -------
- Password will operate correctly with the icon supplied for the password
- change function. I suggest not allowing the password program to be executed
- from an icon to prevent anyone easy access to the program. But the choice
- is yours. An icon has been included if you desire this capability. If you
- are using an icon and do not put the password program in your sys:c
- directory, you may have to give a full path in your startup-sequence.
-
-
- WORKBENCH v1.4 or v2.0 ??? (whatever they call the version after v1.3)
- ----------------------
- I no longer create the ram:env or assign ENV: to ram within the password
- program, since I suspect that the next version of Workbench will contain
- a real ENV: handler instead of it just being an assigned directory in
- ram:. So, until the next version (if an ENV: handler is included) these
- commands MUST be in your startup2 file:
-
- c:makedir ram:env
- c:assign ENV: ram:env
-
- If an ENV: handler is not part of the next version, you will need to keep
- these commands in your startup2 file.
-
- These commands are included in the startup2 file included in this archive.
-
-
- SHAREWARE:
- ----------
-
- Feel free to distribute this entire archive intact, but any user that finds
- this program useful and continues to use it should mail $25 to me as payment
- for the shareware program. Send me a 5 to 10 character word you would like
- your maintenance password to me and you will receive a personal copy of the
- program with your custom maintenance password, without the shareware
- message that this program displays.
-
- If you send a disk with a copy of your current startup-sequence and
- startupII scripts, I will hard-code some of the commands into the password
- program to enhance the security of your system. If all the assigns are
- added to the password program, this will make it even harder for anyone to
- use your system even if they do break in.
-
- If v1.4 (or v2.0 if that's what it's called) breaks this program for any
- reason, all registered users will receive an updated version at no charge
- (on request).
-
- Please do not attempt to remove the shareware message using some type of
- sector editor. If any character of the shareware message is changed, the
- program will become inoperative.
-
- I am making no guarantees of operation or security. I take no
- responsibility, I hate responsibility.
-
-
- George Kerber
- 19756 E. Linvale Drive
- Aurora, Colorado 80013
- (303) 693-2890
-
- Compuserve: 74010,2132
-