Network Neighborhood, Visionfs, Samba Authentication and all
Unix and Linux machines have been able to provide Network
Neighborhood style file and print services for some time now, but I
constantly see confusion and problems due to misunderstanding of
how these things work.
I'm going to use an example from a real situation involving an
XP user and a SCO Visionfs network. The concepts of this apply to
Linux, Mac, Samba: it doesn't really matter.
The network consists of Windows 98 and XP machines and
Unix/Linux servers. The major application is client/server
accounting application running on the Unix box. There is a Linux
mail server also. File and print services are provided by Visionfs
on the Unix box.
Users need passwords for several functions here:
Logging in to their Windows desktop
Accessing the accounting application
Accessing their POP email
Accessing shared files on the Unix server
Using shared printers on the Unix server
Logins and Passwords
Most of the machines are Windows 98 and store no data of any
importance. These are set up for normal windows login (no domain
controller). Anyone can walk up to any machine and create a Windows
login name, so there is no security. This is actually deliberate
and convenient, as it is often necessary for people to access the
internet or the accounting application while not at their own desk.
Some machines are Windows XP where only the administrator of that
machine can create a login. These machines typically have more
sensitive data and are used by managers. However, as older machines
are phased out, XP is the usual replacement, and a "guest" login is
used when the machine needs to have general access.
The accounting application requires a separate login name and
password. These are completely unrelated to any other names or
passwords. The accounting administrator assigns and maintains
Email also has its own names and passwords. These are maintained
by the email administrator, though users are allowed to change
their own passwords.
Access to files and printers on the Unix box is by Visionfs.
There are other utilities that could do this: Samba and Facetwin for example. These all have
different administration techniques, but the common point here is
that the Windows login name and password is what will determine
access to the files and printers.
The new XP user
A Windows 98 machine was replaced by a new XP box. The user set
it up himself, and successfully installed the accounting
application client, and configured his email. He had access to the
internet, the accounting application, and email, but couldn't
access shared files or printers.
The major reason he couldn't do this was because he didn't
realize that his Windows login name was important. On the old
Windows 98 box, it had just been "bobf" and he had a password of
"aM2133". When he installed XP, he used the same password, but
spelled out his name as "Bob Franklin". Visionfs has nothing in its
database that knows that "Bob Franklin" is the same as the "bobf"
it does know. There is a way in Visionfs and similar products to
map "Bob Franklin" to "bobf", so I did that, but (not entirely
unexpectedly) it still didn't give him access.
What's happening is that you think that "bobf" with password
"aM2133" is being sent, but the user name being sent by Windows XP
is still "Administrator" or whatever the previous name was. If you
don't have an "Administrator" account on the Unix side, or if it
has a different password, you won't get access. See the links above
for how to fix it.
In this case, the previous name was "Administrator", so I added
another mapping of "Administrator" to "bobf". I also renamed the XP
account to "bobf", which meant that I really didn't need to map
"Administrator", but I felt this would just happen again somewhere
down the line, and since all users have the same access permissions
on the Unix box, there's no harm in the mapping.
Incredibly enough, this STILL didn't work. Looking more closely
revealed that the Visionfs password for "bobf" apparently was not
"aM2133", so I had to reset that password (/usr/vision/bin/visionfs
password --amend bobf aM2133).
Note that at this point his original Unix login of "bobf" and
whatever password that was is totally unimportant: Visionfs doesn't
care, and neither does the accounting application or the Linux
email server. That login is not used for anything at all. Very
often that's where the confusion comes from with programs like
Visionfs or Samba - it is THEIR passwords (matched against the
Windows login) that determine access. While there may or may not be
procedures or software in place that keeps all these passwords
consistent, the important thing to understand is that these
products keep their own databases of users and passwords. It is
that database that will be searched to match what the Windows
Another way to make network connections is to map a network
drive to the server you want. Use Windows Explorer->Tools: that
will offer to let you connect to the system using a different name
and password. Choose "Reconnect at Login" so that it sticks. Just
mapping the drive will give you authenticated access to printers,
Mike Brown of The Kingsway Group noted that
Start->Run->control userpasswords2 brings up a tool that
gives you much more control over users and passwords than you get
through the GUI.