Samba là một ứng dụng chạy trên Unix cố gắng mô phỏng một hệ thống Windows. Samba cho phép một hệ thống Unix gia nhập vào hệ thống “Network Neighborhood” và người dùng Windows có thể truy nhập tài nguyên trên Unix (Tệp và Printer) mà không hề biết đó là các dịch vụ do Unix cung cấp.
Điều này thực hiện được nhờ sự mô phỏng giao thức Windows "Common Internet File System", hay CIFS và giao thức truyền tin Server Message Block (SMB). SMB dựa trên giao diện NetBIOS để truyển thông tin giữa các máy tính trong một mạng LAN. Theo giao diện do NetBIOS quy định, các máy tính được đánh tên theo một sơ đồ, trong đó các máy tính trong mạng LAN có tên duy nhất (còn gọi là tên NetBIOS) và việc truyền dữ liệu giữa các máy tính thực hiện thông qua tên này. Giao thức NetBEUI được dùng khá phổ biến hiện nay được xây dựng với mục đích chính là chuyển các gói tin NetBIOS trong mạng LAN sử dụng các chuẩn TokenRing và Ethernet.
Samba bao gồm 2 chương trình chính và một số công cụ hỗ trợ kèm theo. Hai chương trình chính làsmbdvànmbdkết hợp với nhau để thực thi 4 dịch vụ CIFS cơ bản sau:
• Dịch vụ tệp và máy in (smbd)
• Xác thực phân quyền truy cập tài nguyên (smbd) • Phân giải tên - Name resolution (nmbd)
• Thông báo về các dịch vụ ra bên ngoài - Service announcement (nmbd) Sau đây là một số công cụ đi kèm Samba:
smbclient
Đây là một SMB client, với chức năng tương tự như một công cụ FTP. Được dùng để kết nối từ hệ thống Unix tới một SMB share của một hệ thống Windows để truyền tệp, gửi tệp hoặc gửi tệp tới máy in đã được chia sẻ
nmblookup
Client của dịch vụ phân giải tên NetBIOS. Nmblookup có thể sử dụng để tìm các tên NetBIOS trên mạng, tìm địa chỉ IP tương ứng và các thông tin khác của một máy chạy Windows.
swat
Swat haySambaWebAdministrationTool cho phép cấu hình Samba từ xa qua giao diện Web.