I am really confused as to what Samba actually does and how it works. Here's what I'm hoping it does:

I set up a Samba server on my LAN, and everyone will be able to see each other's shared files and swap them.

But some of the documentation makes it sound like it will just allow Mac/Linux computers to see Windows computers.

Other bits of the documentation make it sound more like a local server, where a Linux machine would install Samba and they would see everyone and be visible to everyone, but that won't change if anybody else can see each other.

While still other things I've read make it seem more like a file-server, where everyone sees each other but file transfers are not peer-to-peer but instead need a host disk for files to act as go between.

So, assuming I'm even in the right ballpark of what Samba does in terms of my goal of total cross-visibility on the network, I am left with needing to know what I'd need to set up the server and whether it can be done and is worth it...

DD-WRT's article on Samba is a bit ambiguous. One second it sounds as if I can run the server on micro as long as it's set up on a usb drive, but then it also sounds like micro can't run it at all, etc.

If I can run it from a usb-connected drive, I still need to know if the files are actually stored on that drive. The dd-wrt article mentions:

You can run a Samba server on your main computer and run a client on your router (thus gaining writable storage for the router) or you can use Samba to share a drive connected (typically by USB) to the router among all the computers connected to your network.

That one part "to share a drive...among all the computers" makes it sound like the only benefit I get from Samba is a share drive that any OS on the network can see, but they still won't see each other. But I'm very hopeful I'm misreading this.

If the computers can see each other but still need the disk, how much space is generally a good idea? I'm basing this on the idea that the drive is a temporary store point. Obviously I'd have to get a drive big enough to store everything people wanted to share if the drive is a full-on file server.

If I do have this all wrong, is there any software that achieves what I have in mind? Something that connects to the main router to bridge all clients?


Samba is an open source implementation of the CIFS/SMB protocol used by Microsoft in Windows networking, meaning your Samba server can share file and print services with Windows/Mac/*nix clients that have software conforming to the CIFS/SMB protocol. It can also act as a client to connect to other Windows/Samba systems hosting CIFS/SMB shares and printers. Windows, Mac, and *nix clients can have both the server that allows them to share files and printers, and a client that can use this protocol to connect to shares on other computers. Having a Samba server on your network won't affect your other clients' ability to share files on their own computers one way or another, but these clients can be configured to connect to shares on the samba server.

The current production version of Samba (3.5) allows Samba computers to join Windows domains, but does not support native Active Directory/Group Policy replication. The long-upcoming Samba version 4.0 is gradually being merged into each release and will allow a Samba server to act as a full-on domain controller at the Windows Server 2003 functional level, including Active Directory and Group Policy replication.

  • So if Samba 4 has AD replication, all Windows and Mac (and maybe X) systems could join the domain and see each other, right? I'm familiar with Active Directory but more on a administered scenario where machines are bound to the domain and thus must authenticate, etc. Not sure if Macs can just join a domain quite so easily, but then again, I'm obviously not clear on a lot of this. – Anthony Mar 13 '10 at 4:38
  • So assuming most systems on my LAN have SMB/CIFS protocol support, adding a drive to the router would only enable all users to see that drive but not each other? Bummer. Can the server (or an extension of Samba or something else outright) broker the connection between users? Meaning could users go to a web interface (or what have you) on the samba server machine and see everyone and their shared stuff and then the Samba server could route it from one to the other on at the user's request? – Anthony Mar 13 '10 at 4:42
  • That's correct, but the upside is that you don't need the samba server to let other computers share files with each other. There's no need for such a broker, though having a Windows or Samba domain controller allows for centralized authentication. – nedm Mar 13 '10 at 7:09
  • On the client side, for Windows make sure 'File and Print Sharing is enabled and right click on a folder, choose the 'File Sharing' tab, and set permissions. Essentially the same process for Mac and most desktop Linux distros. A little more involved for Linux/Unix/BSD servers, though there's lots of documentation (e.g., samba.org) available and once you get the hang of configuring the smb.conf config file it's pretty easy to make it work. – nedm Mar 13 '10 at 7:10

samba have 2 parts. client and server. though, most os will install both client and servers at once.

samba client can browse and mount the network shares shared by other samba servers.

if you want to share your files so that others can access it, then use samba server. if you only want to access other people's files, then only samba client needed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.