old-www/LDP/LG/issue54/tag/17.html

591 lines
22 KiB
HTML

<!--startcut ======================================================= -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<META NAME="generator" CONTENT="lgazmail v1.3D.j">
<TITLE>The Answer Guy 54: Corel Linux and Blank Passwords</TITLE>
</HEAD><BODY BGCOLOR="#FFFFFF" TEXT="#000000"
LINK="#3366FF" VLINK="#A000A0">
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<P> <hr>
<!-- *** BEGIN navbar *** :::::::::::::::::::::::::::::::::::::::::::::::: -->
<p align="center">
<A HREF="../lg_bytes54.html"><IMG ALT="[ Prev ]"
SRC="../../gx/navbar/prev.jpg"
WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A>
<IMG ALT="" SRC="../../gx/navbar/left.jpg"
WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom" >
<A HREF="../index.html"><IMG ALT="[ Table of Contents ]"
SRC="../../gx/navbar/toc.jpg"
WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A>
<A HREF="../../index.html"><IMG ALT="[ Front Page ]"
SRC="../../gx/navbar/frontpage.jpg"
WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A>
<A HREF="../../faq/index.html"><IMG ALT="[ FAQ ]"
SRC="../../gx/navbar/faq.jpg"
WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A>
<IMG ALT="" SRC="../../gx/navbar/right.jpg"
WIDTH="15" HEIGHT="45" ALIGN="bottom" >
<A HREF="../lg_tips54.html"><IMG ALT="[ Next ]"
SRC="../../gx/navbar/next.jpg"
WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A>
<!-- *** END navbar *** :::::::::::::::::::::::::::::::::::::::::::::::::: -->
</p>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<center>
<H1><A NAME="answer">
<img src="../../gx/dennis/qbubble.gif" alt="(?)"
border="0" align="middle">
<font color="#B03060">The Answer Guy</font>
<img src="../../gx/dennis/bbubble.gif" alt="(!)"
border="0" align="middle">
</A></H1>
<BR>
<H4>By James T. Dennis,
<a href="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</a><BR>
LinuxCare,
<A HREF="http://www.linuxcare.com/">http://www.linuxcare.com/</A>
</H4>
</center>
<p><hr><p>
<!-- endcut ======================================================= -->
<!-- begin 17 -->
<H3 align="left"><img src="../../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Corel Linux and Blank Passwords</H3>
<h4 align="center">Repairing Lost and Broken Passwords: A Redux</h4>
<p><strong>From Charles Gratarolli on Mon, 15 May 2000
</strong></p>
<!-- ::
Corel Linux and Blank Passwords
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Hi,
</STRONG></P>
<P><STRONG>
After a few crashes I managed to install a Corel Linux in my machine(Pemtium
II 450, IDE Drive, 96 MB of memoy). When the system asked me for a login and
password, it didn"t recognize and gave me the following messsage:
</STRONG></P>
<P><STRONG><BLOCKQuote>
COREL LINUX 1.0(tty1)
</BLOCKQuote></STRONG></P>
<P><STRONG>
Login:XXXXX(I gave it in the insyalation beggining)
Password:
Incorrect login
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
This is fairly difficult to read and I'm not sure of the context.
I think you are saying: "After I installed Corel Linux and rebooted
the system, I tried to enter the same name and password at its
login prompt that I had entered during the installation process."
(I've only installed Corel Linux a couple of times I don't remember
the exact sequence of installation dialogs).
</BLOCKQUOTE>
<BLOCKQUOTE>
Normally you'd have been prompted to create a password for 'root'
(the system administration account) and you would have been
offered a chance to create one or more user accounts <TT>---</TT>
which involve selecting at least a user name and initial
password for each account. (Usually there's also a chance
to fill in a full name, change the account's "home directory"
and "login shell" settings, set the account's primarly group
membership and possibly add that account to a list of other
groups).
</BLOCKQUOTE>
<BLOCKQUOTE>
What happens if you use the name 'root' (all lower case,
no capital letters) at the "Login:" prompt and enter your
password for that account? (BTW: It's a good idea to keep
those passwords different. It's a wretched idea to login
as 'root' when you want to run "normal" applications like a
web browser, mail program etc).
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I left the password blank, as was said in the manual
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Did the manual really suggest that you should leave a password
blank? That's irresponsible.
</BLOCKQUOTE>
<BLOCKQUOTE>
For situations when you really want to have a service accessible from
the console with no password, it is better to configure the system to
skip the password request than to set the password to be empty.
Basically a username/password combination can potentially be used to
access any service on a Linux/UNIX system. Usernames are fairly easy
to find for a system, so it is almost impossible to enforce any
security policy on an account with no password. If you want a
service or program to be accessible without a password it's almost
certain that you want to limit the access to specific files
(i.e. just your HTML files in your document root directory tree),
through specific means (i.e. just through the web server, for
read-only access), etc.
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway, many Linux systems are configured to forbid blank passwords.
Thus, it may be that the installation program let you leave the
password blank while the login program(s) are enforcing this common
policy.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
How can i change it now? considering I am a newbie.....
</STRONG></P>
<P><STRONG>
Thank you
Charles G.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It depends. Is this a user account? Does logging in as 'root'
work? If so, then just login as the root user (and open a
"terminal" or "xterm" window if you've logged into a GUI)
so you can type in commands.
</BLOCKQUOTE>
<BLOCKQUOTE>
First you need to know if the account you created exists.
</BLOCKQUOTE>
<BLOCKQUOTE>
Let's say you created your account name using your initials
"cg." So you might use a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
grep cg: /etc/passwd
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... if that doesn't pop-up a line that looks something like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQuote>
cg:x:0:0:Charles G:/home/cg:/bin/bash
</BLOCKQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... then you don't have a user account (or you mistyped
something <TT>---</TT> possibly when you created the account, or whatever).
</BLOCKQUOTE>
<BLOCKQUOTE>
You can create a user account using a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
useradd -m cg
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... the <TT>-m</TT> tells 'useradd' to "make" a home directory for the new
account. There are many options to the 'useradd' command. You can
read more than you want to know about them by typing:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
man useradd
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
Once you've created the account you can set the password using a
command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
passwd cg
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... which, if done as 'root' will simply prompt you for a new
password and ask you to repeat it. If you can type in the
same string twice consecutively <TT>---</TT> you will have successfully
changed or set the password for that account.
</BLOCKQUOTE>
<BLOCKQUOTE>
You can also use the passwd command to change your own password
by simply typing it (with no parameters or arguments). In that
case it will require you to type your old password, and then
repeat your new password twice.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that sometimes the 'passwd' command will complain that a
password is "too short" or "too weak" or that it is "based on a
dictionary word." The Linux 'passwd' command tries to enforce some
"best practice" policies about your users password selections in
order to make the system more secure. Basically anyone who cracks
into a user account on a system has a pretty good chance of using
that to take control of the whole system eventually. (Also they can
do quite a bit of damage to that user's files and quite a bit of
snooping about in that users e-mail etc. even if they don't manage to
disrupt other users or the system itself).
</BLOCKQUOTE>
<BLOCKQUOTE>
I realize that you may not care about all this "security stuff" as a
new Linux user. After all, you're probably adopting Linux after
years of using MS Windows, which has no concept of users and makes no
effort to protect the system from "normal users" or to protect any
one users stuff from any other.
</BLOCKQUOTE>
<BLOCKQUOTE>
However, it's a good idea to take a lesson from Microsoft's mistakes.
You may want to considering having one account on your system for
reading mail, a different on for doing your web browsing, another for
playing games, and yet another for any of your important work. (With
a little practice it's possible for these to share data without too
much inconvenience while limiting the damaged that a trojan horse
(such as the ILOVEYOU e-mail virus) could do to your other work.
</BLOCKQUOTE>
<BLOCKQUOTE>
(Of course Linux systems are unaffected by ILOVEYOU, Melissa and all
of the other e-mail trojan/viruses so far. However, such a problem
might eventually affect some Linux users. Luckily there are many
different e-mail packages in widespread use under Linux <TT>---</TT> any
bug that could be used to exploit one is very unlikely to affect
more than a small fraction of the total population. This
"technodiversity" (analogous to the "biodiversity" that we need
in our ecosystems) does protect us somewhat <TT>---</TT> since the infection
can't spread quickly or easily unless there is a critically high
percentage of "monoculture" applications users).
</BLOCKQUOTE>
<BLOCKQUOTE>
(I could write a long article on the pros and cons of technodiversity
vs. standardization and code re-use. However, I have a feeling that
it not be of much immediate interest to you).
</BLOCKQUOTE>
<BLOCKQUOTE>
Getting back to your problem. If you don't have a working root
password then the job is a little more difficult. Basically you need
to boot up the system in "rescue mode" or from a "rescue disc or
diskette" mount the root filesystem, possibly mount a "<TT>/usr</TT>"
filesystem on top of that, run the 'passwd' command, unmount the
filesystems that you brought up, and restart the system from its hard
drive.
</BLOCKQUOTE>
<BLOCKQUOTE>
Whoa! Did you get all of that? I didn't think so. Here's the
same sequence again, with a little more explanation:
</BLOCKQUOTE>
<BLOCKQUOTE><ul>
<li>Boot up the system in a "rescue mode" from a
"rescue disc or diskette"
</ul></BLOCKQUOTE>
<BLOCKQUOTE>
If you see the "LILO:" prompt while you're booting
up the system you can usually hit the [Caps Lock] or
the [Scroll Lock] key or just start typing to force
the boot loader to pause at this point.
</BLOCKQUOTE>
<BLOCKQUOTE>
From there you can tap the [Tab] key to see a list of
boot image "labels" (usually one will be named "Linux"
or "linux").
</BLOCKQUOTE>
<BLOCKQUOTE>
From this prompt you can type a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQuote>
linux init=/bin/sh rw
</BLOCKQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... to bring up the system in a "rescue mode."
</BLOCKQUOTE>
<BLOCKQUOTE>
This will bypass the whole normal startup sequence
and prevent the system's normal initialization program
(init) from spawning the 'getty' processes that
take over the console and force you to login.
</BLOCKQUOTE>
<BLOCKQUOTE>
BTW: It's possible to set another password
on your LILO boot loader (adding a line to your
<TT>/etc/lilo.conf</TT>) that would prevent this trick from
working. That password, if set, would not
convey any other access to the system, it would
only allow one at the console during the boot up
cycle to select and over-ride the boot settings.
</BLOCKQUOTE>
<BLOCKQUOTE>
The "rw" at the end is a convenience to make
sure that the main (root) filesystem is brought
up (mounted) in a read/write mode. Normally a
UNIX/Linux system comes up with the root filesystem
mounted read-only so that it can be checked and
repaired.
</BLOCKQUOTE>
<BLOCKQUOTE><ul>
<li> ... or from a "rescue disc or diskette"
</ul></BLOCKQUOTE>
<BLOCKQUOTE>
You might have been offered a chance to make a
custom rescue diskette during your installation.
If you were wise you did.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you system can boot from a CD drive then your
distribution's CD usually can act as a "rescue disc."
So you act as though you're going to re-isntall, but
you use the keys [Alt]+[F2] (hold down the [Alt] key
and hit the [F2], second function, key).
</BLOCKQUOTE>
<BLOCKQUOTE>
If that doesn't work, boot the system up under some
other operating system or use a different computer
and look for a "rescue diskette" image. Hopefully
the instructions for that will be listed somewhere
in your manual or on the web site for your favorite
distribution. (Of course Corel's site is basically
impossible to navigate if you're looking for technical
support information specifically about their product.
I doesn't seem to have a search engine and I don't see
a link to a simple "Corel Linux FAQ").
</BLOCKQUOTE>
<BLOCKQUOTE>
Failing that look at Tom Oehser's site for his
"Root/Boot" floppy (<A HREF="http://www.toms.net/rb"
>http://www.toms.net/rb</A>)
Unfortunately this is NOT a package for newbies.
</BLOCKQUOTE>
<BLOCKQUOTE><ul>
<li> (maybe) mount the root filesystem,
</ul></BLOCKQUOTE>
<BLOCKQUOTE>
If you booted from a rescue diskette you'd
normally be running from a RAM disk. So you have
to find your main (root) filesystem and mount it up.
On a typical Linux system that would involve a
command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
mount /dev/hda1 /mnt
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
You need to know what type of hard drive you have
(<TT>/dev/hd*</TT> for IDE, <TT>/dev/sd*</TT> for SCSI), which one
it is (a for the first drive on the primary controller,
and letters b, c, d, etc for others), and which partition
it's one (1 through 4 for the primary partitions, and
5-12 or so for any logical drives in an extended partition).
</BLOCKQUOTE>
<BLOCKQUOTE>
Once you done that you should change into that directory
(<TT>/mnt</TT> in my example and in most cases) and make that
the "virtual" root directory using the following commands:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQuote>
cd <TT>/mnt</TT>
chroot . <TT>/bin/sh</TT>
</BLOCKQuote></BLOCKQUOTE>
<BLOCKQUOTE><ul>
<li> possibly mount a "<TT>/usr</TT>" filesystem on top of that
</ul></BLOCKQUOTE>
<BLOCKQUOTE>
Even if you booted from the hard drive using the
init=/bin/sh trick, you may have to bring up another
filesystem. The 'passwd' command is usually in the
<TT>/usr/bin</TT> directory, and the <TT>/usr</TT> directory is often
separated unto its own filesystem. (It's traditional
though there are good reasons for this as well).
</BLOCKQUOTE>
<BLOCKQUOTE>
Here's the command to do that:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
mount /usr
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE><ul>
<li> run the 'passwd' command,
</ul></BLOCKQUOTE>
<BLOCKQUOTE>
Finally you should be able to run the 'passwd' command
to set a new password for yourself.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you get some sort of error about a "read-only"
filesystem then you probably forget the rw option at
your LILO prompt. Use the following command:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
mount -o remount,rw /
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
and try again.
</BLOCKQUOTE>
<BLOCKQUOTE><ul>
<li> unmount the filesystems that you brought up,
</ul></BLOCKQUOTE>
<BLOCKQUOTE>
If that was successful then you should be able to
unmount any filesystem that you mounted:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
umount /usr
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... and if you were booted from a rescue diskette
or CD:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQuote>
exit; umount <TT>/mnt</TT>
</BLOCKQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... or if you were booted from the hard drive:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
mount -o remount,ro /
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
This sets up all of the filesystems so that they are
"clean" and can be used immediately after the next
step without a time-consuming consistency check.
</BLOCKQUOTE>
<BLOCKQUOTE><ul>
<li> restart the system from its hard drive.
</ul></BLOCKQUOTE>
<BLOCKQUOTE>
Finally you should be able to reboot. This is
actually a bit trickier than you'd think when you've
booted into this "rescue mode." (If you booted
from a diskette or CD, just pull that out and
hit the reset switch).
</BLOCKQUOTE>
<BLOCKQUOTE>
If you've booted from your hard drive using the
init=/bin/sh trick (what I call "rescue mode" then
you should shutdown and restart the system with the
following command:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQuote>
exec <TT>/sbin/init</TT> 6
</BLOCKQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... this is because the various sorts of 'shutdown'
and 'reboot' commands usually are just sending a
"signal" and performing some IPC (interprocess
communications) with the 'init' program. In other
words, normally only the init program does a reboot
or a system halt (or changes "runlevels" <TT>---</TT> operational
modes). However, we bypassed the normal process
and we're running a command shell instead of init.
The shell isn't programmed to respond to signals by
reading the <TT>/dev/initctl</TT> pipe (FIFO) for messages.
</BLOCKQUOTE>
<BLOCKQUOTE>
We can't just "run" init like a normal program.
init detects what process ID it is running under and
only assumes system control if it is process ID
number 1 (PID ==1). If not then it acts as a
messenger, trying to pass signals and commands to
the "real" init process. However, our shell
is running as PID 1 <TT>---</TT> so we need to tell the
shell to "chain over" or "replace its code with"
that of init.
</BLOCKQUOTE>
<BLOCKQUOTE>
I realize that all of that was pretty complicated. You don't have to
understand the inner workings of init in order to run this last
command or to follow most of this procedure.
</BLOCKQUOTE>
<BLOCKQUOTE>
It won't even be the end of the world if you just hit the red switch
and reboot the system. However, I've tried to make this set of
instructions simple enough and general enough that it will work on
most Linux systems.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you get too stuck, call tech support. I see that Corel offers
a fee-based North American telephone technical support option at
about $50 per incident (I guess that would be in U.S. dollars).
Of course my employer Linuxcare (<A HREF="http://www.Linuxcare.com"
>http://www.Linuxcare.com</A>) also
offers per incident fee-based support as well. You could call
them at 1-888-LIN-GURU for details.
</BLOCKQUOTE>
<BLOCKQUOTE>
There are also many Linux consultants that might be able to
help you, possibly in person. Look at the Linux Consultants HOWTO
(<A HREF="http://www.linuxports.com/howto/consultants/Consultants-HOWTO.html"
>http://www.linuxports.com/howto/consultants/Consultants-HOWTO.html</A>)
</BLOCKQUOTE>
<!-- sig -->
<!-- end 17 -->
<!--startcut ======================================================= -->
<P> <hr> </p>
<H5 align="center"><a href="http://www.linuxgazette.com/copying.html"
>Copyright &copy;</a> 2000, James T. Dennis
<BR>Published in <I>The Linux Gazette</I> Issue 54 June 2000</H5>
<H6 ALIGN="center">HTML transformation by
<A HREF="mailto:star@tuxtops.com">Heather Stern</a> of
Tuxtops, Inc.,
<A HREF="http://www.tuxtops.com/">http://www.tuxtops.com/</A>
</H6>
<P> <hr>
<!-- begin tagnav ::::::::::::::::::::::::::::::::::::::::::::::::::-->
<p align="center">
<IMG ALT="" SRC="../../gx/navbar/left.jpg"
WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="middle" border="0">
<A HREF="../lg_answer54.html"
><IMG SRC="../../gx/dennis/answertoc.jpg" align="middle"
ALT="[ Answer Guy Current Index ]" border="0"></A>
<A HREF="../lg_answer54.html#greeting"><img align="middle"
src="../../gx/dennis/smily.gif" alt="greetings" border="0"></A> &nbsp;
<A HREF="1.html">1</A> &nbsp;
<A HREF="2.html">2</A> &nbsp;
<A HREF="3.html">3</A> &nbsp;
<A HREF="4.html">4</A> &nbsp;
<A HREF="5.html">5</A> &nbsp;
<A HREF="6.html">6</A> &nbsp;
<A HREF="7.html">7</A> &nbsp;
<A HREF="8.html">8</A> &nbsp;
<A HREF="9.html">9</A> &nbsp;
<A HREF="10.html">10</A> &nbsp;
<A HREF="11.html">11</A> &nbsp;
<A HREF="12.html">12</A> &nbsp;
<A HREF="13.html">13</A> &nbsp;
<A HREF="14.html">14</A> &nbsp;
<A HREF="15.html">15</A> &nbsp;
<A HREF="16.html">16</A> &nbsp;
<A HREF="17.html">17</A> &nbsp;
<A HREF="18.html">18</A>
<A HREF="../../tag/kb.html"
><IMG SRC="../../gx/dennis/answerpast.jpg" align="middle"
ALT="[ Index of Past Answers ]" border="0"></A></td>
<IMG ALT="" SRC="../../gx/navbar/right.jpg" align="middle"
WIDTH="14" HEIGHT="45" BORDER="0">
</p>
<!-- end tagnav ::::::::::::::::::::::::::::::::::::::::::::::::::::-->
<P> <hr>
<!-- *** BEGIN navbar *** :::::::::::::::::::::::::::::::::::::::::::::::: -->
<p align="center">
<A HREF="../lg_bytes54.html"><IMG ALT="[ Prev ]"
SRC="../../gx/navbar/prev.jpg"
WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A>
<IMG ALT="" SRC="../../gx/navbar/left.jpg"
WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom" >
<A HREF="../index.html"><IMG ALT="[ Table of Contents ]"
SRC="../../gx/navbar/toc.jpg"
WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A>
<A HREF="../../index.html"><IMG ALT="[ Front Page ]"
SRC="../../gx/navbar/frontpage.jpg"
WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A>
<A HREF="../../faq/index.html"><IMG ALT="[ FAQ ]"
SRC="../../gx/navbar/faq.jpg"
WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A>
<IMG ALT="" SRC="../../gx/navbar/right.jpg"
WIDTH="15" HEIGHT="45" ALIGN="bottom" >
<A HREF="../lg_tips54.html"><IMG ALT="[ Next ]"
SRC="../../gx/navbar/next.jpg"
WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A>
<!-- *** END navbar *** :::::::::::::::::::::::::::::::::::::::::::::::::: -->
</p>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
</BODY></HTML>
<!--endcut ========================================================= -->