Tue. Jun 2nd, 2020

Samba 4.9.0 release: free software re-implementation of the SMB/CIFS networking protocol

2 min read

Samba is designed to replace the SMB/CIFS network protocol on UNIX platforms, allowing GNU/Linux and Mac OS X systems to share communications with Windows networks.

Samba consists of two key programs, plus a bunch of other stuff that we’ll get to later. The two key programs are smbd and nmbd. Their job is to implement the four basic modern-day CIFS services, which are:

  • File & print services
  • Authentication and Authorization
  • Name resolution
  • Service announcement (browsing)

File and print services are, of course, the cornerstone of the CIFS suite. These are provided by smbd, the SMB Daemon. Smbd also handles “share mode” and “user mode” authentication and authorization. That is, you can protect shared file and print services by requiring passwords. In share mode, the simplest and least recommended scheme, a password can be assigned to a shared directory or printer (simply called a “share”). This single password is then given to everyone who is allowed to use the share. With user mode authentication, each user has their own username and password and the System Administrator can grant or deny access on an individual basis.

The Windows NT Domain system provides a further level of authentication refinement for CIFS. The basic idea is that a user should only have to log in once to have access to all of the authorized services on the network. The NT Domain system handles this with an authentication server, called a Domain Controller. An NT Domain (which should not be confused with a Domain Name System (DNS) Domain) is basically a group of machines which share the same Domain Controller.

The NT Domain system deserves special mention because, until the release of Samba version 2, only Microsoft owned code to implement the NT Domain authentication protocols.

Name resolution takes two forms: broadcast and point-to-point. A machine may use either or both of these methods, depending upon its configuration. Broadcast resolution is the closest to the original NetBIOS mechanism.

Service announcement is a whole ‘nother kettle of worms, but Samba’s nmbd handles it anyway. This is not the web browsing we know and love, but a browsable list of services (file and print shares) offered by the computers on a network.

Samba 4.9 releases.