I never thought I’d be doing this, but I’m migrating from using NFS on my home network to Samba instead. Ironically, the reason is because Samba is simpler. Well, simpler to setup at least, and I like the idea of having at least *some* basic authentication scheme in place.
What happened is that at work we’ve been using NFS to share files, which works well, but for something that everyone needs to read and write to, I chown all the files to nobody, which is a security nightmare. Samba, however, lets me force the user to read and write to, as well as permit only certain users to access the shares after logging in. I have to admit ignorance here, since I don’t know if NFS 3 or 4 actually supports any kind of authentication schemes, but that’s okay … I still think Samba is simpler to setup.
Generally speaking, in the past, I’ve always had problems getting it working because I’d either have to deal with a host of Windows boxes or Active Directory. This time it’s mostly just been a bunch of Linux boxes, and the whole thing was completely seamless. I’ve learned long ago that anytime you’re having trouble on a network and there is any Windows box involved in any point of the scenario, you can with full certainty blame the problem on Windows. Getting Samba to work with it can be pretty flaky, but between two Linux boxes, it’s the simplest thing in the world.
And, it could be my imagination, but the file transfers seem to be a lot smoother than using NFS so far. NFS would blip now and then and the transfer speed would slow down then speed back up for no real obvious reasons … Last night I was copying files from one box to another and got a nice constant speed all the time. Plus it seemed like anytime I’d copy over NFS it would somehow just slow things down, but this didn’t affect performance at all. Samba is just a lot smoother.
Another thing I like is the cool little tool that come with Samba, like smbget. Using that, you don’t have to mount the drives to get what you need from another share. It’s nice.
If you’re looking to set it up as well, I’d recommend just using Webmin to configure the shares on the server. That’s the only box you’ll need to run the samba daemons on as well, the other ones you just need to have Samba installed. I like installing kde-kioslaves (or kdebase) with samba support as well, so that with Konqueror I can just open smb://server and browse the shares. It’s great.