[comp.sys.novell] How do you log in, really?

mcginnis@kuhub.cc.ukans.edu (04/04/91)

Can someone tell me the process that is used followed when a workstation
starts the network shell through the end of the process of a user
logging in?  Or better yet, can you tell me a book that explains
the processes?

The workstation shell upon being loaded (net3 or net4) must send
out a multicast packet looking for any fileserver.  The first one
to respond must identify itself via the source address information
in the reply packet.  At which time the shell would know where to
go to find drive F: or whereever LOGIN.EXE is located.

When the user logs in I assume that LOGIN.EXE, among other things,
reads the appropriate login scripts and interprets/runs them.  I'm
a little hazy on some of these details.  What does the server do?

E-mail is fine.

Thanks.

kenh@techbook.com (Ken Haynes) (04/08/91)

In article <1991Apr4.102226.29452@kuhub.cc.ukans.edu> mcginnis@kuhub.cc.ukans.edu writes:
>Can someone tell me the process that is used followed when a workstation
>starts the network shell through the end of the process of a user
>logging in?  Or better yet, can you tell me a book that explains
>the processes?
>
>The workstation shell upon being loaded (net3 or net4) must send
>out a multicast packet looking for any fileserver.  The first one
>to respond must identify itself via the source address information
>in the reply packet.  At which time the shell would know where to
>go to find drive F: or whereever LOGIN.EXE is located.
>
You're right, when NETx is loaded it generates a GET NEAREST SERVER
broadcast packet and sends it out the wire.  All servers, & bridges
respond with a GIVE NEAREST SERVER packet directed to the sender. (You
can see this traffic if you set TRACK ON at the colon prompt on the
server.)  The attachment to the server takes place after the shell has
determined the nearest server. (Done by default as the first response
packet that reaches the workstation)  You can modify this in later versions
of the shell with the preferred server option.  The workstation determines
which drive to use for the first network drive by looking in the environment.
The LAST DRIVE= parameter in your config.sys file can modify this as well.
The workstation then sets up a logical drive attachment to the server at
the login subdir using this logical drive letter assignment.  Subsequent
running of the LOGIN.EXE program is done using standard DOS I/O from this
drive. (LOGIN subdir is allowed accessable by attached (not logged in) stations
Execution of the LOGIN.EXE program identifies the user to the server,
communicates the password, receives accept or deny from the server and
executes the system and user login scripts, to setup the drive mappings, etc.
.



-- 
******************************************************************************
* Ken Haynes, CNE                    | 1-900-PRO-HELP
* Technical Support Product Manager, 900 Support
* UUCP: {nosun, sequent, tessi} kenh@techbook

ileader@sideways.gen.nz (Ian Leader) (04/10/91)

mcginnis@kuhub.cc.ukans.edu writes:

> Can someone tell me the process that is used followed when a workstation
> starts the network shell through the end of the process of a user
> logging in?  Or better yet, can you tell me a book that explains
> the processes?
> 
> The workstation shell upon being loaded (net3 or net4) must send
> out a multicast packet looking for any fileserver.  The first one
> to respond must identify itself via the source address information
> in the reply packet.  At which time the shell would know where to
> go to find drive F: or whereever LOGIN.EXE is located.
> 
> When the user logs in I assume that LOGIN.EXE, among other things,
> reads the appropriate login scripts and interprets/runs them.  I'm
> a little hazy on some of these details.  What does the server do?
> 
> E-mail is fine.
> 
> Thanks.

On loading of the net3/net4 shell, the workstation sends a 
GetNearestServer request to all servers on the network.  All the file 
servers will respond with a GiveNearestServer response and their name. 
The first response the workstation sees is then attached to by the 
workstation, at which point it gets access to the SYS:LOGIN directory and 
the LOGIN.EXE program on that file server/directory is run.  Login then 
requests the Name and password from the user which are then checked with 
that file servers User tables (Bindery) for validity. (The password is 
encrypted down the wire on 386 Netware, but not 286 2.xx).
 
On validation of the username, the system login script is then run (with 
the LOGIN.EXE program still resident in the PC's memory, so watch out for 
running TSRs in the login script!) and any commands there carried out.
 
Unless an explicit EXIT statement is found somewhere before the end of 
the system login script, any definded user login script is then run and 
any commands there are carried out.
 
At the end of this, the LOGIN.EXE program is exited and releases it's 
memory and the machine is returned to the DOS command line.
 
If an EXIT statement is executed at any point before the actual end of 
either of the login scripts, any parameters passed to the EXIT command; 
are 'stuffed' into the keyboard buffer before LOGIN returns to DOS, hence 
telling DOS to execute the command as if typed at the command line.
EG: EXIT 'MENU' in a login script stuffs 'MENU' into the keyboard buffer 
and DOS will attempt to execute a program or batch file called 'MENU' 
when LOGIN finishes.
 
All of the above is not based on 'wizzo' inside information from Novell 
technical documentation or anything, just bits of info picked up here and 
there and basic observation.  Therefor, if I've got anything wrong or 
missed anything, please don't FLAME me!
 
NOTE:  To see the NET3/NET4 requests, type: TRACK ON at the file server 
console(s) and run net3 on a workstation, whilst watching the console 
screen.