Samba

Samba （サンバ） は、マイクロソフトのWindowsネットワークを実装したフリーソフトウェア。
Linux、Solaris、BSD、macOSなどのUnix系オペレーティングシステム (OS) を用いて、Windowsのファイルサーバやプリントサービス、ドメインコントローラ機能、ドメイン参加機能を提供する。

1992年、アンドリュー・トリジェルによって最初のバージョンが開発され、後にGPL v2にて公開された。
3.2系からはGPL v3へ移行した。

特長 
Sambaは12のサービスと12の通信プロトコルの実装で、CIFS、NetBIOS over TCP/IP (NetBT)、SMB/CIFS、DCE/RPCのほか、MSRPC、NetBIOSネームサーバ (NBNS) として知られるWINS サーバ、NT ドメインログオンを含めた NT ドメインプロトコルスイート、セキュアアカウントマネージャ (SAM) データベース、ローカルセキュリティ認証 (LSA) サービス、NTプリントサービス (SPOOLSS)、そしてバージョン3では（ケルベロス認証とLDAPに対応した） Active Directoryへのドメイン参加機能が含まれている（AD参加機能によってUNIX/Linux上でのユーザ管理が不要になる）。

大雑把には、UNIX機をクライアントあるいは共有ファイルサーバとしてWindowsネットワークへ参加させる機能の他、Windows NT 4.0サーバの機能と、バージョン3では一部Windows 2000 / 2003サーバの機能を持つ（例えば、VSS:ボリュームシャドウコピー機能など）。本家のWindows Serverと異なり、本体価格やサーバに接続するクライアント分のライセンスコストなどが一切不要であることや、アクセス権の指定など一部機能は本家を上回る部分もあるため、官公庁、大学、大企業を中心にSambaを導入する例も増えている。また、Mac OS X v10.6.8まではSambaの機能によって、Windowsネットワーク環境でのファイル共有やドメイン参加を実現していたが、Mac OS X Lionからは取り去られて独自実装のsmbdに置き換えられている。

名前の由来 
Sambaという名前は、Windowsで使用されているネットワークファイルシステム「SMB (Server Message Block)」に、2つの母音を入れて作られている。Sambaはもともと「smbserver」と呼ばれていたが、SMBserverの商標をもつSyntaxから登録商標であるとの通告があったため、名前が変更された。S, M, B が含まれる単語を探し、Samba が選ばれた。次点の名前は、salmonberry であった。

主な機能

ファイルサーバ 
共有フォルダと呼ばれるサーバ側の空間に、ファイルを格納する機能。NASとしての機能を果たす。

アクセス権を設定できるため、特定のユーザに同じファイルを提供するといった用途が実現できる。
ACLをサポートする環境なら、ユーザやグループ毎に細かくアクセス権を指定することも可能。
Windowsサーバと比べて、「$」で終わる共有名でなくても隠し共有にできる利点がある。（隠し共有…共有名の検索やリストアップを行っても画面に現れないが、正しい名前を指定すればアクセスできる共有フォルダ）

プリントサーバ 
Windowsクライアント向けのプリントサーバ機能。

共有プリンターの提供やプリンタドライバの配布を行う。

Windowsドメインコントローラ 
Windows NT 4.0サーバで提供される機能で、NT ドメインと呼ばれるネットワーク領域内で、ユーザやクライアントコンピュータの管理を行う機能。Samba 2.2から提供された。

ユーザアカウントやコンピュータアカウント、アクセス権などの情報を中央集権的に管理し、ユーザ認証やシングルサインオンなどのサービスを提供する。
 プライマリドメインコントローラ (PDC)  ユーザアカウントやコンピュータアカウントなどの、データの原本を持つコンピュータ。
 バックアップドメインコントローラ (BDC)  PDCのデータのコピーを持つコンピュータ。
ドメインメンバ  PDC の認証を受けたコンピュータや、そのコンピュータを利用するユーザ。
ドメインメンバ（利用者側）からは、PDCとBDCは同じ機能を提供しているように見える。
BDCはバックアップの機能を提供しているため、ドメイン内に存在しなくても構わない。同じドメイン内にPDCとBDCが両方存在している場合、ドメインメンバは原則としてBDCにサービスの提供を依頼する。

Samba はPDC / BDCの機能を提供することができ、NT ドメイン内にメンバとして参加することもできる。ただし、WindowsサーバとSambaではアカウント情報の同期の取り方が異なるため、同じドメイン内でWindowsサーバのPDCとSambaのBDCを運用すること、或いはその逆はできない。（なおバージョン3からユーザやグループなどの属性を保持したまま、NT 4.0ドメインからSambaドメインへの移行がサポートされた。）

Active Directory ドメインメンバ 
Windows 2000サーバ以降から提供されるActive Directoryドメインへのドメインメンバとしての参加機能。Samba 3から提供された。

Active Directoryは前述のNT ドメインに代わるもので、既存のネットワーク技術を応用して構成されている。ユーザアカウントなどの管理情報をLDAPディレクトリサービスに格納し、認証機構にケルベロス、名前解決にDNS、管理情報の配布やコピーにTCP/IPのみを使用する。

Active Directory ドメインコントローラー 
2012年12月にリリースされたSamba 4よりActive Directoryドメインのドメインコントローラー機能がサポートされている。

smbclient 
UNIX側からWindowsやSambaの共有フォルダに接続するためのクライアントソフトウェア。

標準的なコマンドラインプログラムFTPのような操作で、共有フォルダに接続し、ファイルを操作することができる。

libnss_wins 
Name Service SwitchへWINSサーバーと137/udpのブロードキャストを使ったホスト名解決を行うライブラリの提供。

バージョン履歴 
Samba 3.0までの歩みは「Sambaの10年」を参照。

脚注

関連項目 
 Server Message Block (SMB)
 Windows Internet Naming Service (WINS)
 Active Directory

外部リンク 
 
 日本Sambaユーザ会

ネットワークソフト
オープンソースソフトウェア