Samba là một dịch vụ cho phép Windows đọc được các tài nguyên mạng của Linux, Vì Windows share tài nguyên ra mạng theo cơ chế Server Message Block (SMB) nên Linux chơi chữ lấy chữ Samba làm tên service luôn. Trên Linux nếu bạn active dịch vụ Samba thì bạn có thể tạo các share resource mà Windows có thể truy cập được. Rất tiện nếu như chúng ta có nhiều máy tính cùng chạy song song Windows và Linux. Trước đây chưa có Samba, việc chia xẻ các tài nguyên giữa Linux và Windows fải thông wa FTP, mà cấu hình FTP thì hơi nặng hơn so với Samba.
Việc cấu hình Samba thì cũng đơn giản thôi, chỉ cần chỉ ra các user nào trên Windows được phép truy xuất vào các tài nguyên được share, share tài nguyên nào ra mạng, tên workgroup của Samba server và active service lên là xong. Khi đã cấu hình và active xong Samba service, bạn có thể vào Network Neighborhood của Windows để search các tài nguyên trên các máy Linux.
Samba thực chất chứa vài chương trình phục vụ cho những mục đích khác nhau nhưng có liên quan đến nhau. Hạt nhân của samba là hai Daemon co nhiệm vụ sau:
- smbd Chịu trách nhiệm điều khiển các tài nguyên được chia sẻ giữa server samba và các client của nó. Nó cung cấp các dịch vụ về file, in và trình duyệt cho các client SMB thông qua một hay nhiều mạng. smbd sử lý tất cả các trao đổi giữa server samba và các client mạng của nó.
-nmbd : Là một server dịch vụ tên đơn giản bắt chước các chức năng máy chủ dịch vụ tên, chạy với giao thức WIN và NETBIOS. Daemon này lắng nghe các yêu cầu của máy chủ dịch vụ tên và cung cấp các thông tin thích hợp khi được gọi tới . Nó còn cung cấp các danh sách duyệt NetworkNeighbourhood và tham gia vào lựa chọn các đối tượng mạng trong đó.
Giao thức NETBEUI được hãng IBM phát triển vào năm 1985 dựa trên giao thức NETBIOS. nó được thiết kế dùng cho mạng LAN nhỏ và cho phép một máy tính có tên dài đến 15 ký tự. Khi tham gia môi trường mạng thì Mdaemon nmbd của samba sẽ đảm nhận giao tiếp với các máy khác thông qua giao thức NETBEUI. Nhưng khi một máy chạy Unix có tên đầy đủ là sangdv.edu.vn thì NETBEUI chỉ hiểu tên máy đó là sangdv phần 9 byte còn lại là để các ký tự trắng.
Các tập tin cấu hình (hay chính là các lệnh) của SAMBA:
- smbclient: một client của unix theo kiểu ftp, có thể dùng tiện ích này đề kêt nối với tài nguyên được share
- smbtar: Để lưu trữ các tìa nguyên được chia sẻ, tương tự như lệnh tar của unix
- mklookup: Chương trình cung cấp NETBIOS thông qua việc tìm tên bằng TCP/IP
- smbpasswd: Cho phép người quản trị thay đổi mật khẩu đã mã hoá của Samba
- smbstatus : Báo cáo các kết nối mạng hiện thời tới các tài nguyên đuợc chia sẻ trên samba
- testparrm: chương trình đơn giản để làm cho file samba có hiệu lực