NFS with Windows -- An Alternative to Samba
As some will probably concede, Samba as a network path between Windows and Linux isn't the best road. It sure is usefull because you have your Linux files and directories conveniently available from the familiar Windows Neighborhood (or Network Places as XP likes to name that). However, it is hard to configure (a quick search on these forums will return a lot of questions, including mine dating a few days ago) and is quite unstable. We can't blame the software or its authors, they did a great job considering SMB is basically undocumented and isn't quite well adapted to the security style of Unix. Samba is basically an emulation of a Microsoft network under Linux.I thought about that last fact and this came to my mind: What if I tried to emulate a Linux network under Windows instead? Namely, that is an NFS network. I browsed, and browsed. I found several NFS clients for Windows, but none was free; the cheapest solutions were around $80, which I find quite expensive for the job. However, they all offered the same feature I was looking for: NFS available from the Network Neighborhood. Then I found *the* solution at the last location I thought of: Microsoft.
Microsoft offers a package named Windows Services for Unix.
Homepage: http://www.microsoft.com/windows/sfu/default.asp
SFU "provides the tools and environment that IT professionals and developers need to integrate Windows with UNIX and Linux environments." This is a suite which includes several tools, including Interix (which, as I understand, is an Posix environment similar to Cygwin/MinGW) and, exactly what I was looking for, a NFS client which integrates into the Network Neighborhood. The suite is 100% free, although you have to log into your Passport account and provide all of your private information, as usual (I registered as Mickey Mouse, a cartoon comedian domiciliate in Orlando). The file is rather big at about 220 MB. It's packaged as a familiar MSI which gives you the option of installing everything or just the NFS client, the latter I chose.
Here are some tips to save you the pain and time I had to counsume on the stuff untill I got it right.
Setting up NFS on the Linux server
NFS is part of the basic system. As I understand it's actually a Kernel module. So I guess it's already installed on most Unix/Linux systems. However, if you have never shared anything, the service was not started by default. Instructions say to share something then either manually start the daemon or reboot the system (the daemon should start at bootup if there is something to share).
To share something add shares in /etc/exports (use "man exports" to learn the very simple syntax of the file) then call "exportfs -r" to force a reload of the file ("man exportfs").
Installing the Windows NFS Client
Start the installation as usual (you have to be admin of course). If you choose a Custom install, you will reach a list of programs and services you can install. I found the description which is provided when you select any of the components to be quite informative, given that you have any idea of what are the components from the start (if you are familiar with Unix you should understand most of those, as I did). There are two components that you want. You can unselect all of the others unless you want them, but they are not needed for the NFS setup.
First, obviously, you want the NFS Client itself, under NFS. There is an NFS Server also if you wish to go the other way, that is share Windows directories/files to the Linux box; I did not tried it though as that is not what I needed. Then, unless you have or wish to setup a NIS server, you need PCNFS, under Authentication Tools for NFS, which is basically a light version of NIS as I understand it. It took me hours to figure out that last one, since it explicitly said that a NIS server was optional but nowhere was it mentionned that some other authentication system was mandatory. From the moment PCNFS was installed the setup started to work perfectly and without a glitch (looks like I had understood everything else at that point).
If you did it correctly, a new icon now appears under Entire Network, named NFS Network. Under Windows XP open the Network Places, hit "View Workgroup Computer" from the left pane, then hit the Up button (the folder with a green arrow) twice. Ever wondered what was the Microsoft Windows Network icon for? I had the answer tonight.
Under NFS Network you will find two icons: Default LAN and Favorite LAN. I didn't manage to find how to configure the Default LAN so that it matches my setup and shows up the servers, but franckly I didn't care and didn't spent much time on that. The other icon, Favorite LAN, is the one which proved useful. Right-click the icon, select Add/Remove Host. The rest is pretty obvious.
Security
Since I'm on a firewalled trusted home LAN, security is not *that* much of a concern, so I set it to just the required minimum. That is, I limited all shares to the local mask (192.168.0.0/8) and mapped guest users to the owner user of the shared directories. I might install NIS later, but that isn't required at the moment. NIS would probably be a good choice however to larger networks where authentication is required, though I have been told that there are security issues associated with it.
I hope this proves useful to anybody else, but consider the usual disclamer (this worked for me and is published in the hope that it is usefull, but no guarantee, either explicit or implicit, is provided, not even of merchanbility or fitness to a particular purpose blah blah blah blah my computer didn't go in smoke but if yours does please e-mail me the pictures).
Tom
