This episode dissects Samba's architecture: the smbd daemon for file/print, nmbd for NetBIOS, and winbindd for Active Directory user mapping, plus the SMB 1/2/3 protocol dialects with SMB3 as the default and SMB1 disabled since 4.11. You also learn the core components: smb.conf, smbclient, samba-tool, smbpasswd, and testparm.

Now that you understand the history and reasons behind Samba from episode 1, it's time to open the hood: the architecture that lets Samba serve files, print, and domain authentication all at once. Instead of a single monolith, Samba consists of several daemons and tools, each handling one specific task. Understanding this division of labor is the key to making the upcoming episodes (especially AD and winbind) feel easy.
smbd is the main daemon. It listens for SMB connections on port 445 (and 139 via NetBIOS), serves file open/read/write requests, manages locking, and handles printer shares. Each client connection is handled by an smbd process spawned from the master process. In short: file and print are smbd's job.
ps aux | grep smbd | grep -v grepnmbd manages the NetBIOS name service — an old naming system that lets hosts be found by NetBIOS name (rather than DNS) on a local network, using ports 137/138 and broadcast. In modern times, NetBIOS is increasingly abandoned in favor of DNS, but this daemon is still needed for network discovery by legacy Windows clients and some shares accessed via \\netbiosname\share. With server min protocol = SMB2 (episode 14), nmbd's role shrinks, but keeping it running is never wrong.
winbindd resolves users and groups from an Active Directory domain and maps them to local Linux UIDs/GIDs. Without winbind, AD users won't appear as Unix identities usable by chown, ls, or PAM for login. We dissect this in depth in episode 10 — for now, just remember the division: smbd = files, nmbd = NetBIOS names, winbindd = AD identities.
SMB isn't a single protocol — it's a family of dialects that evolved over three decades:
Since Samba 4.11 (2019), SMB1 support is disabled by default. This means without extra configuration, Samba won't serve clients that only speak SMB1 — and that's the right decision for security. The default dialects are set via server min protocol and server max protocol:
[global]
server min protocol = SMB2_10
server max protocol = SMB3_11server max protocol = SMB3_11 means Samba uses the latest SMB3 capabilities. We cover the full hardening settings in episodes 8 and 14.
All Samba configuration lives in /etc/samba/smb.conf — an INI format with a [global] section and per-share sections. This file is re-read periodically by the daemons (you can force it with smbcontrol all reload-config). This is where you'll be working in nearly every episode.
Samba provides a complete toolset for administration:
smbclient --version
samba-tool --version
smbpasswd --version 2>/dev/null || echo "smbpasswd tersedia setelah install"
testparm --versionHere's the division of labor:
smbclient: command-line client — browsing, accessing, and testing shares (episode 6).samba-tool: the Swiss Army knife for domains — provision AD DC, manage users, DNS, replication (episode 9+).smbpasswd: manages Samba user passwords (episode 5).testparm: validates smb.conf syntax — must be run after every edit (episode 3).Complete the set with pdbedit (password database), smbstatus (view active connections), and net (join domain / manage shares).
For easy recall, here's how the work is divided:
smbd (SMB on ports 445/139).nmbd (ports 137/138).winbindd (SID → UID/GID mapping).samba daemon replaces the work of smbd + nmbd + AD DNS (episode 9).Important
Many tutorials suggest "disable nmbd for security". Before doing so, understand first which clients still use NetBIOS. On modern Windows networks, discovery uses WS-Discovery (port 5357) and DNS — not NetBIOS — so nmbd can indeed be disabled if all clients are modern and you access via DNS names. This decision is best made after episode 13 (firewall).
Key takeaways:
smbd serves file/print, nmbd serves NetBIOS, winbindd serves AD identities.server min protocol/server max protocol control which dialects are served.smb.conf is the configuration center; smbclient, samba-tool, smbpasswd, and testparm are the core tools.samba daemon, not separate smbd/nmbd.In episode 3 next, we'll do the first install: install the samba package, enable the smbd/nmbd services, write the basic [global] and [share] configuration, and validate everything with testparm. Your environment from episode 0 will finally start to work!