Network Neighborhood, Visionfs, Samba Authentication and all that
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 these.
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 machine sends.
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, too.
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.
Got something to add? Send me email.
(OLDER) <- More Stuff -> (NEWER) (NEWEST)
Printer Friendly Version