회사에는 윈도 PC와 리눅스 서버가 섞여 있다. 윈도 사용자는 탐색기에서 \\서버\공유폴더로 네트워크 드라이브를 잡고 싶어 하고, 리눅스 서버는 그 파일을 호스팅해야 한다. 문제는 두 운영체제가 서로 다른 파일 공유 프로토콜을 쓴다는 점이다. 윈도는 SMB/CIFS(Server Message Block), 리눅스는 전통적으로 NFS를 쓴다. 이 간극을 메우는 도구가 바로 Samba다. Samba는 리눅스/유닉스 시스템 위에서 SMB 프로토콜을 구현해, 리눅스 서버가 마치 윈도 파일 서버처럼 보이게 만든다. 오늘은 Samba의 구성 요소, 핵심 설정 파일인 smb.conf, 공유 정의 방법, 그리고 Samba 전용 계정을 만드는 smbpasswd까지 실기 시험에 자주 나오는 부분을 정밀하게 짚는다.
SMB는 1980년대 IBM이 만들고 마이크로소프트가 발전시킨 네트워크 파일 공유 프로토콜이다. 후에 CIFS(Common Internet File System)라는 이름으로 확장됐고, 오늘날 윈도 네트워크 공유의 표준이다. Samba는 이 프로토콜을 리눅스에서 구현한 자유 소프트웨어다.
Samba는 전통적으로 두 개의 데몬으로 동작한다.